Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
9152af9
bump Golioth Firmware SDK to v0.13.0
szczys May 28, 2024
de144c2
release v2.2.0
szczys May 28, 2024
7b9ef36
update Golioth Firmware SDK to v0.13.1
szczys May 31, 2024
1574d4d
release template_v2.2.1
szczys May 31, 2024
384afa2
rpc: remove duplicate header include
szczys Jun 6, 2024
f893cd3
Upgrade golioth-zephyr-boards dependency to v1.2.0
cdwilson May 30, 2024
0dcfb3c
Add Aludel Elixir build instructions to README
cdwilson May 30, 2024
01c2a95
Fix CHANGELOG formatting
cdwilson Jun 12, 2024
8dc7fc8
app_sensors: use CBOR instead of JSON
szczys Jun 21, 2024
414741e
bump Golioth Firmware SDK to v0.14.0
szczys Jun 21, 2024
5810cff
release template_v2.3.0
szczys Jun 21, 2024
2919cc7
use VERSION file to specify app version
mniestroj Jul 9, 2024
5848877
add pipelines
szczys Aug 12, 2024
b206255
libostentus: update to v2.0.0
szczys Aug 12, 2024
b3d69a7
bump Goloith to v0.15.0
szczys Sep 4, 2024
195affc
update golioth-zephyr-boards and overlay files
szczys Sep 5, 2024
ecbe5df
workflows: update to accommodate new board name format
szczys Sep 5, 2024
1010dc0
release template_v2.4.0
szczys Sep 5, 2024
069c82c
use bash instead of sh so substitutions don't fail
szczys Sep 6, 2024
27f251a
workflows: use template_v0.0.0 as default release number
szczys Sep 10, 2024
523f8bd
use sysbuild for all boards
szczys Sep 10, 2024
758e752
add pm_static.yml for static partition table
szczys Sep 10, 2024
b2c135b
workflows: test build all supported boards on push and merge
szczys Sep 10, 2024
af9dab8
release template_v2.4.1
szczys Sep 11, 2024
a7cf149
app_sensors: fix formatting inconsistencies
hasheddan Sep 16, 2024
200fc8a
battery_monitor: fix formatting inconsistencies
hasheddan Sep 16, 2024
39a23db
app_sensors: only stream sensor data if connected
hasheddan Sep 16, 2024
c8c8eb2
battery_monitor: log skipped streaming due to no connection
hasheddan Sep 16, 2024
8cef920
workflows: update artifact-download action to latest
szczys Sep 24, 2024
f3caac6
main: change comment style from // to /* */
szczys Sep 24, 2024
fbf9638
workflows: update for new version of upload-artifact action
szczys Sep 24, 2024
e5cb761
update Golioth Zephyr SDK to v0.16.0
szczys Nov 25, 2024
5ef19e9
app_settings: set minimum LOOP_DELAY_S to 1
szczys Nov 25, 2024
2a68fb8
release template_v2.5.0
szczys Nov 26, 2024
e4699cc
README: add python ecdsa package
szczys Jan 6, 2025
42a86fc
update Golioth Firmware SDK to v0.17.0
szczys Jan 23, 2025
502b01c
release template_v2.6.0
szczys Jan 23, 2025
d399616
editorconfig: add markdown rules
szczys Feb 4, 2025
d81fb10
README: move from ReStructured Text to Markdown
szczys Feb 4, 2025
0d5e170
README: overhaul for uniformity
szczys Feb 4, 2025
307e809
README: fix typo `but`->`by`
szczys Feb 24, 2025
46049b5
Merge commit '307e809' into merge/template_307e809
szczys Mar 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 18 additions & 8 deletions .github/workflows/build_zephyr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@ jobs:
uses: actions/checkout@v4
with:
path: app

- name: Process Board name
id: nicename
shell: bash
run: |
BOARD_NICENAME=${{ inputs.BOARD }}
BOARD_NICENAME=${BOARD_NICENAME//\//_}
echo "BOARD_NICENAME=${BOARD_NICENAME}" >> $GITHUB_OUTPUT

- name: Setup West workspace
run: |
west init -l app
Expand All @@ -60,23 +69,24 @@ jobs:

- name: Build with West
run: |
west build -p -b ${{ inputs.BOARD }} app
west build -p -b ${{ inputs.BOARD }} --sysbuild app

- name: Prepare artifacts
shell: bash
if: inputs.ARTIFACT == true && inputs.TAG != ''

run: |
cd build/zephyr
cd build
mkdir -p artifacts
mv merged.hex ./artifacts/golioth-${{ github.event.repository.name }}_${{ inputs.TAG }}_${{ inputs.BOARD }}_full.hex
mv app_update.bin ./artifacts/golioth-${{ github.event.repository.name }}_${{ inputs.TAG }}_${{ inputs.BOARD }}_update.bin
mv zephyr.elf ./artifacts/golioth-${{ github.event.repository.name }}_${{ inputs.TAG }}_${{ inputs.BOARD }}.elf
mv merged.hex ./artifacts/modbus_${{ inputs.TAG }}_${{ steps.nicename.outputs.BOARD_NICENAME }}_full.hex
mv app/zephyr/zephyr.signed.bin ./artifacts/modbus_${{ inputs.TAG }}_${{ steps.nicename.outputs.BOARD_NICENAME }}_update.bin
mv app/zephyr/zephyr.elf ./artifacts/modbus_${{ inputs.TAG }}_${{ steps.nicename.outputs.BOARD_NICENAME }}.elf

# Run IDs are unique per repo but are reused on re-runs
- name: Save artifact
if: inputs.ARTIFACT == true
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build_artifacts_${{ github.run_id }}
name: build_artifacts_${{ github.run_id }}_${{ steps.nicename.outputs.BOARD_NICENAME }}
path: |
build/zephyr/artifacts/*
build/artifacts/*
9 changes: 5 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ on:
version:
description: 'Release Version.'
required: true
default: 'v0.0.0'
default: 'template_v0.0.0'
type: string

jobs:
build-binaries:
strategy:
matrix:
ZEPHYR_SDK: [0.16.3]
BOARD: ["nrf9160dk_nrf9160_ns","aludel_mini_v1_sparkfun9160_ns"]
BOARD: ["nrf9160dk/nrf9160/ns","aludel_mini/nrf9160/ns","aludel_elixir/nrf9160/ns"]

uses: ./.github/workflows/build_zephyr.yml
with:
Expand All @@ -36,10 +36,11 @@ jobs:
uses: actions/checkout@v4

- name: Download artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build_artifacts_${{ github.run_id }}
pattern: build_artifacts_*
path: ~/artifacts
merge-multiple: true

- name: Create Release manually with GH CLI
run: gh release create --title ${{ inputs.version }} --draft ${{ inputs.version }}
Expand Down
21 changes: 17 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,30 @@
# Copyright (c) 2023 Golioth, Inc.
# SPDX-License-Identifier: Apache-2.0

name: Test firmware
name: Test firmware

on:
pull_request:

push:
branches: [ main ]

jobs:
test_build:
test_build_nrf9160dk:
uses: ./.github/workflows/build_zephyr.yml
with:
ZEPHYR_SDK: 0.16.3
BOARD: aludel_mini_v1_sparkfun9160_ns
ARTIFACT: false
BOARD: nrf9160dk/nrf9160/ns
ARTIFACT: false
test_build_aludel_elixir:
uses: ./.github/workflows/build_zephyr.yml
with:
ZEPHYR_SDK: 0.16.3
BOARD: aludel_elixir/nrf9160/ns
ARTIFACT: false
test_build_aludel_mini:
uses: ./.github/workflows/build_zephyr.yml
with:
ZEPHYR_SDK: 0.16.3
BOARD: aludel_mini/nrf9160/ns
ARTIFACT: false
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ images](https://github.com/golioth/reference-design-modbus-vibration-monitor/rel
### Additional Sensors/Components

- Texas Instruments THVD1426 RS-485 transceiver
- Banner QM30VT2 Banner Modbus temperature & vibration sensor

## Golioth Features

Expand Down Expand Up @@ -123,7 +124,8 @@ the LightDB Stream service:
{
"sensor": {
"temperature": {
"celcius": 27.08
"celcius": 21.96,
"farenheight": 71.53
},
"x_axis": {
"acceleration": {
Expand Down Expand Up @@ -294,7 +296,9 @@ folder. The `build` and `deps` directories being one level higher
prevents the repo from cataloging all of the changes to the dependencies
and the build (so no `.gitignore` is needed).

### Use `west` to initialize the workspace and install dependencies
Prior to building, update `VERSION` file to reflect the firmware version
number you want to assign to this build. Then run the following commands
to build and program the firmware onto the device.

> [!WARNING]
> You must perform a pristine build (use `-p` or remove the `build`
Expand Down
5 changes: 5 additions & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
VERSION_MAJOR = 1
VERSION_MINOR = 0
PATCHLEVEL = 0
VERSION_TWEAK = 0
EXTRAVERSION =
14 changes: 11 additions & 3 deletions boards/aludel_elixir_ns.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ CONFIG_NET_SOCKETS_TLS_PRIORITY=35

# Modem library
CONFIG_NRF_MODEM_LIB=y
CONFIG_NRF_MODEM_LIB_ON_FAULT_APPLICATION_SPECIFIC=y

# LTE connectivity with network connection manager
CONFIG_LTE_CONNECTIVITY=y
CONFIG_LTE_CONNECTIVITY_AUTO_CONNECT=n
CONFIG_NRF_MODEM_LIB_NET_IF=y
CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START=y
CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_CONNECT=n
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024

Expand All @@ -33,6 +33,12 @@ CONFIG_GOLIOTH_SAMPLE_NRF91_LTE_MONITOR=y
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED=n
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED=n

# MbedTLS configuration to support p-384 curve. These options
# enable using the MbedTLS built-in support for operations not
# supported by the default nRF Oberon crypto backend
CONFIG_NORDIC_SECURITY_BACKEND=n
CONFIG_MBEDTLS_LEGACY_CRYPTO_C=y

# Add Network Info Support
CONFIG_MODEM_INFO=y

Expand All @@ -41,3 +47,5 @@ CONFIG_BOOTLOADER_MCUBOOT=y

# Use Golioth Ostentus Faceplate
CONFIG_LIB_OSTENTUS=y

CONFIG_REGULATOR=y
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,19 @@
};
};

&i2c2 {
status = "okay";

/* Needed for I2C writes used by libostentus */
zephyr,concat-buf-size = <48>;

ostentus@12 {
status = "okay";
compatible = "golioth,ostentus";
reg = <0x12>;
};
};

&mikrobus_serial {
status = "okay";

Expand All @@ -18,7 +31,3 @@
status = "okay";
};
};

&qwiic_i2c {
status = "okay";
};
18 changes: 0 additions & 18 deletions boards/aludel_elixir_ns_A.overlay

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ CONFIG_NET_SOCKETS_TLS_PRIORITY=35

# Modem library
CONFIG_NRF_MODEM_LIB=y
CONFIG_NRF_MODEM_LIB_ON_FAULT_APPLICATION_SPECIFIC=y

# LTE connectivity with network connection manager
CONFIG_LTE_CONNECTIVITY=y
CONFIG_LTE_CONNECTIVITY_AUTO_CONNECT=n
CONFIG_NRF_MODEM_LIB_NET_IF=y
CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START=y
CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_CONNECT=n
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024

Expand All @@ -33,6 +33,12 @@ CONFIG_GOLIOTH_SAMPLE_NRF91_LTE_MONITOR=y
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED=n
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED=n

# MbedTLS configuration to support p-384 curve. These options
# enable using the MbedTLS built-in support for operations not
# supported by the default nRF Oberon crypto backend
CONFIG_NORDIC_SECURITY_BACKEND=n
CONFIG_MBEDTLS_LEGACY_CRYPTO_C=y

# Battery Support
CONFIG_ALUDEL_BATTERY_MONITOR=y

Expand All @@ -41,6 +47,3 @@ CONFIG_MODEM_INFO=y

# Generate MCUboot compatible images
CONFIG_BOOTLOADER_MCUBOOT=y

# Use Golioth Ostentus Faceplate
CONFIG_LIB_OSTENTUS=y
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,21 @@

/ {
zephyr,user {
rs485-8-click-en-gpios = <&mikrobus_header_1 1 GPIO_ACTIVE_HIGH>;
rs485-8-click-en-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
};
};

&i2c2 {
/* Needed for I2C writes used by libostentus */
zephyr,concat-buf-size = <48>;

ostentus@12 {
status = "okay";
compatible = "golioth,ostentus";
reg = <0x12>;
};
};

/* On this board, mikrobus_spi == spi2 & mikrobus_serial == uart2, and a
* limitation of the nRF9160 is that both can't be enabled simultaneously.
* On this board, mikrobus_spi is enabled by default and mikrobus_serial is
Expand Down
12 changes: 9 additions & 3 deletions boards/nrf9160dk_nrf9160_ns.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ CONFIG_NET_SOCKETS_TLS_PRIORITY=35

# Modem library
CONFIG_NRF_MODEM_LIB=y
CONFIG_NRF_MODEM_LIB_ON_FAULT_APPLICATION_SPECIFIC=y

# LTE connectivity with network connection manager
CONFIG_LTE_CONNECTIVITY=y
CONFIG_LTE_CONNECTIVITY_AUTO_CONNECT=n
CONFIG_NRF_MODEM_LIB_NET_IF=y
CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START=y
CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_CONNECT=n
CONFIG_NET_CONNECTION_MANAGER=y
CONFIG_NET_CONNECTION_MANAGER_MONITOR_STACK_SIZE=1024

Expand All @@ -33,6 +33,12 @@ CONFIG_GOLIOTH_SAMPLE_NRF91_LTE_MONITOR=y
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED=n
CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED=n

# MbedTLS configuration to support p-384 curve. These options
# enable using the MbedTLS built-in support for operations not
# supported by the default nRF Oberon crypto backend
CONFIG_NORDIC_SECURITY_BACKEND=n
CONFIG_MBEDTLS_LEGACY_CRYPTO_C=y

# Add Network Info Support
CONFIG_MODEM_INFO=y

Expand Down
27 changes: 25 additions & 2 deletions boards/nrf9160dk_nrf9160_ns.overlay
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,42 @@

/ {
zephyr,user {
rs485-8-click-en-gpios = <&mikrobus_header_1 1 GPIO_ACTIVE_HIGH>;
rs485-8-click-en-gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
};

aliases {
golioth-led = &led2;
};
};

&mikrobus_serial {
&uart1 {
status = "okay";

modbus0 {
compatible = "zephyr,modbus-serial";
status = "okay";
};
};

&pinctrl {
/*
* The default pin group includes RTS/CTS HW flow control, but the Arduino
* Uno Click Shield board does not connect these pins (only TX/RX are used).
* This keeps RX/TX on the same pins, but just removes RTS/CTS from the
* pin groups.
*/
uart1_default: uart1_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 1)>,
<NRF_PSEL(UART_RX, 0, 0)>;
};
};

uart1_sleep: uart1_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 1)>,
<NRF_PSEL(UART_RX, 0, 0)>;
low-power-enable;
};
};
};
19 changes: 19 additions & 0 deletions pipelines/json-to-lightdb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
filter:
path: "*"
content_type: application/json
steps:
- name: step-0
destination:
type: batch
version: v1
- name: step-1
transformer:
type: extract-timestamp
version: v1
- name: step-2
transformer:
type: inject-path
version: v1
destination:
type: lightdb-stream
version: v1
Loading