|
|
|
@ -19,11 +19,10 @@ lib_deps = |
|
|
|
adafruit/Adafruit INA3221 Library @ ^1.0.1 |
|
|
|
adafruit/Adafruit INA219 @ ^1.2.3 |
|
|
|
adafruit/Adafruit AHTX0 @ ^2.0.5 |
|
|
|
adafruit/Adafruit BME280 Library @ ^2.3.0 |
|
|
|
adafruit/Adafruit BME280 Library @ ^2.3.0 |
|
|
|
adafruit/Adafruit SSD1306 @ ^2.5.13 |
|
|
|
|
|
|
|
|
|
|
|
[ikoka_stick_nrf] |
|
|
|
[ikoka_stick_nrf_baseboard] |
|
|
|
extends = nrf52840_xiao |
|
|
|
;board_build.ldscript = boards/nrf52840_s140_v7.ld |
|
|
|
build_flags = ${nrf52840_xiao.build_flags} |
|
|
|
@ -34,7 +33,6 @@ build_flags = ${nrf52840_xiao.build_flags} |
|
|
|
-D DISPLAY_ROTATION=2 |
|
|
|
-D RADIO_CLASS=CustomSX1262 |
|
|
|
-D WRAPPER_CLASS=CustomSX1262Wrapper |
|
|
|
-D LORA_TX_POWER=9 |
|
|
|
-D P_LORA_DIO_1=D1 |
|
|
|
-D P_LORA_RESET=D2 |
|
|
|
-D P_LORA_BUSY=D3 |
|
|
|
@ -52,19 +50,59 @@ build_flags = ${nrf52840_xiao.build_flags} |
|
|
|
-D ENV_INCLUDE_BME280=1 |
|
|
|
-D ENV_INCLUDE_INA3221=1 |
|
|
|
-D ENV_INCLUDE_INA219=1 |
|
|
|
debug_tool = jlink |
|
|
|
upload_protocol = nrfutil |
|
|
|
|
|
|
|
|
|
|
|
;;; abstracted hardware variants |
|
|
|
|
|
|
|
[ikoka_stick_nrf_e22_22dbm] |
|
|
|
extends = ikoka_stick_nrf_baseboard |
|
|
|
; No PA in this model, full 22dBm |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_baseboard.build_flags} |
|
|
|
-D LORA_TX_POWER=22 |
|
|
|
build_src_filter = ${nrf52840_xiao.build_src_filter} |
|
|
|
+<helpers/*.cpp> |
|
|
|
+<helpers/sensors> |
|
|
|
+<helpers/ui/MomentaryButton.cpp> |
|
|
|
+<helpers/ui/SSD1306Display.cpp> |
|
|
|
+<../variants/ikoka_stick_nrf> |
|
|
|
debug_tool = jlink |
|
|
|
upload_protocol = nrfutil |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_companion_radio_ble] |
|
|
|
extends = ikoka_stick_nrf |
|
|
|
[ikoka_stick_nrf_e22_30dbm] |
|
|
|
extends = ikoka_stick_nrf_baseboard |
|
|
|
; limit txpower to 20dBm on E22-900M30S. Anything higher will |
|
|
|
; cause distortion in the PA output. 20dBm in -> 30dBm out |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf.build_flags} |
|
|
|
${ikoka_stick_nrf_baseboard.build_flags} |
|
|
|
-D LORA_TX_POWER=20 |
|
|
|
build_src_filter = ${nrf52840_xiao.build_src_filter} |
|
|
|
+<helpers/*.cpp> |
|
|
|
+<helpers/sensors> |
|
|
|
+<helpers/ui/MomentaryButton.cpp> |
|
|
|
+<helpers/ui/SSD1306Display.cpp> |
|
|
|
+<../variants/ikoka_stick_nrf> |
|
|
|
|
|
|
|
[ikoka_stick_nrf_e22_33dbm] |
|
|
|
extends = ikoka_stick_nrf_baseboard |
|
|
|
; limit txpower to 9dBm on E22-900M33S to avoid hardware damage |
|
|
|
; to the rf amplifier frontend. 9dBm in -> 33dBm out |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_baseboard.build_flags} |
|
|
|
-D LORA_TX_POWER=9 |
|
|
|
build_src_filter = ${nrf52840_xiao.build_src_filter} |
|
|
|
+<helpers/*.cpp> |
|
|
|
+<helpers/sensors> |
|
|
|
+<helpers/ui/MomentaryButton.cpp> |
|
|
|
+<helpers/ui/SSD1306Display.cpp> |
|
|
|
+<../variants/ikoka_stick_nrf> |
|
|
|
|
|
|
|
;;; abstracted firmware roles |
|
|
|
|
|
|
|
[ikoka_stick_nrf_companion_radio_ble] |
|
|
|
extends = ikoka_stick_nrf_baseboard |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_baseboard.build_flags} |
|
|
|
-D MAX_CONTACTS=100 |
|
|
|
-D MAX_GROUP_CHANNELS=8 |
|
|
|
-D BLE_PIN_CODE=123456 |
|
|
|
@ -73,35 +111,35 @@ build_flags = |
|
|
|
; -D BLE_DEBUG_LOGGING=1 |
|
|
|
; -D MESH_PACKET_LOGGING=1 |
|
|
|
; -D MESH_DEBUG=1 |
|
|
|
build_src_filter = ${ikoka_stick_nrf.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_stick_nrf_baseboard.build_src_filter} |
|
|
|
+<helpers/nrf52/SerialBLEInterface.cpp> |
|
|
|
+<../examples/companion_radio/*.cpp> |
|
|
|
+<../examples/companion_radio/ui-new/*.cpp> |
|
|
|
lib_deps = |
|
|
|
${ikoka_stick_nrf.lib_deps} |
|
|
|
${ikoka_stick_nrf_baseboard.lib_deps} |
|
|
|
densaugeo/base64 @ ~1.4.0 |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_companion_radio_usb] |
|
|
|
extends = ikoka_stick_nrf |
|
|
|
[ikoka_stick_nrf_companion_radio_usb] |
|
|
|
extends = ikoka_stick_nrf_baseboard |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf.build_flags} |
|
|
|
${ikoka_stick_nrf_baseboard.build_flags} |
|
|
|
-D MAX_CONTACTS=100 |
|
|
|
-D MAX_GROUP_CHANNELS=8 |
|
|
|
-I examples/companion_radio/ui-new |
|
|
|
; -D MESH_PACKET_LOGGING=1 |
|
|
|
; -D MESH_DEBUG=1 |
|
|
|
build_src_filter = ${ikoka_stick_nrf.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_stick_nrf_baseboard.build_src_filter} |
|
|
|
+<helpers/nrf52/SerialBLEInterface.cpp> |
|
|
|
+<../examples/companion_radio/*.cpp> |
|
|
|
+<../examples/companion_radio/ui-new/*.cpp> |
|
|
|
lib_deps = |
|
|
|
${ikoka_stick_nrf.lib_deps} |
|
|
|
${ikoka_stick_nrf_baseboard.lib_deps} |
|
|
|
densaugeo/base64 @ ~1.4.0 |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_repeater] |
|
|
|
extends = ikoka_stick_nrf |
|
|
|
[ikoka_stick_nrf_repeater] |
|
|
|
extends = ikoka_stick_nrf_baseboard |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf.build_flags} |
|
|
|
${ikoka_stick_nrf_baseboard.build_flags} |
|
|
|
-D ADVERT_NAME='"Ikoka Stick Repeater"' |
|
|
|
-D ADVERT_LAT=0.0 |
|
|
|
-D ADVERT_LON=0.0 |
|
|
|
@ -109,19 +147,161 @@ build_flags = |
|
|
|
-D MAX_NEIGHBOURS=8 |
|
|
|
; -D MESH_PACKET_LOGGING=1 |
|
|
|
; -D MESH_DEBUG=1 |
|
|
|
build_src_filter = ${ikoka_stick_nrf.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_stick_nrf_baseboard.build_src_filter} |
|
|
|
+<helpers/ui/SSD1306Display.cpp> |
|
|
|
+<../examples/simple_repeater/*.cpp> |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_room_server] |
|
|
|
extends = ikoka_stick_nrf |
|
|
|
[ikoka_stick_nrf_room_server] |
|
|
|
extends = ikoka_stick_nrf_baseboard |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf.build_flags} |
|
|
|
${ikoka_stick_nrf_baseboard.build_flags} |
|
|
|
-D ADVERT_NAME='"Ikoka Stick Room"' |
|
|
|
-D ADVERT_LAT=0.0 |
|
|
|
-D ADVERT_LON=0.0 |
|
|
|
-D ADMIN_PASSWORD='"password"' |
|
|
|
; -D MESH_PACKET_LOGGING=1 |
|
|
|
; -D MESH_DEBUG=1 |
|
|
|
build_src_filter = ${ikoka_stick_nrf.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_stick_nrf_baseboard.build_src_filter} |
|
|
|
+<../examples/simple_room_server/*.cpp> |
|
|
|
|
|
|
|
;;; hardware + firmware variants |
|
|
|
|
|
|
|
;;; 22dBm EBYTE E22-900M22 variants |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_22dbm_companion_radio_usb] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_22dbm |
|
|
|
ikoka_stick_nrf_companion_radio_usb |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_companion_radio_usb.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_22dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_companion_radio_usb.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_22dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_22dbm_companion_radio_ble] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_22dbm |
|
|
|
ikoka_stick_nrf_companion_radio_ble |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_companion_radio_ble.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_22dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_companion_radio_ble.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_22dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_22dbm_repeater] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_22dbm |
|
|
|
ikoka_stick_nrf_repeater |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_repeater.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_22dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_repeater.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_22dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_22dbm_room_server] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_22dbm |
|
|
|
ikoka_stick_nrf_room_server |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_room_server.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_22dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_room_server.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_22dbm.build_src_filter} |
|
|
|
|
|
|
|
|
|
|
|
;;; 30dBm EBYTE E22-900M30 variants |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_30dbm_companion_radio_usb] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_30dbm |
|
|
|
ikoka_stick_nrf_companion_radio_usb |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_companion_radio_usb.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_30dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_companion_radio_usb.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_30dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_30dbm_companion_radio_ble] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_30dbm |
|
|
|
ikoka_stick_nrf_companion_radio_ble |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_companion_radio_ble.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_30dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_companion_radio_ble.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_30dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_30dbm_repeater] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_30dbm |
|
|
|
ikoka_stick_nrf_repeater |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_repeater.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_30dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_repeater.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_30dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_30dbm_room_server] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_30dbm |
|
|
|
ikoka_stick_nrf_room_server |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_room_server.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_30dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_room_server.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_30dbm.build_src_filter} |
|
|
|
|
|
|
|
|
|
|
|
;;; 33dBm EBYTE E22-900M33 variants |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_33dbm_companion_radio_usb] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_33dbm |
|
|
|
ikoka_stick_nrf_companion_radio_usb |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_companion_radio_usb.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_33dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_companion_radio_usb.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_33dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_33dbm_companion_radio_ble] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_33dbm |
|
|
|
ikoka_stick_nrf_companion_radio_ble |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_companion_radio_ble.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_33dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_companion_radio_ble.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_33dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_33dbm_repeater] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_33dbm |
|
|
|
ikoka_stick_nrf_repeater |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_repeater.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_33dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_repeater.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_33dbm.build_src_filter} |
|
|
|
|
|
|
|
[env:ikoka_stick_nrf_33dbm_room_server] |
|
|
|
extends = |
|
|
|
ikoka_stick_nrf_e22_33dbm |
|
|
|
ikoka_stick_nrf_room_server |
|
|
|
build_flags = |
|
|
|
${ikoka_stick_nrf_room_server.build_flags} |
|
|
|
${ikoka_stick_nrf_e22_33dbm.build_flags} |
|
|
|
build_src_filter = |
|
|
|
${ikoka_stick_nrf_room_server.build_src_filter} |
|
|
|
${ikoka_stick_nrf_e22_33dbm.build_src_filter} |
|
|
|
|