|
|
|
@ -1,151 +1,124 @@ |
|
|
|
[nrf52840_xiao] |
|
|
|
[ikoka_nano_nrf] |
|
|
|
extends = nrf52_base |
|
|
|
platform_packages = |
|
|
|
toolchain-gccarmnoneeabi@~1.100301.0 |
|
|
|
framework-arduinoadafruitnrf52 |
|
|
|
board = seeed-xiao-afruitnrf52-nrf52840 |
|
|
|
board_build.ldscript = boards/nrf52840_s140_v7.ld |
|
|
|
build_flags = ${nrf52_base.build_flags} |
|
|
|
${sensor_base.build_flags} |
|
|
|
-D NRF52_PLATFORM -D XIAO_NRF52 |
|
|
|
-I lib/nrf52/s140_nrf52_7.3.0_API/include |
|
|
|
-I lib/nrf52/s140_nrf52_7.3.0_API/include/nrf52 |
|
|
|
lib_ignore = |
|
|
|
BluetoothOTA |
|
|
|
lvgl |
|
|
|
lib5b4 |
|
|
|
lib_deps = |
|
|
|
${nrf52_base.lib_deps} |
|
|
|
rweather/Crypto @ ^0.4.0 |
|
|
|
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 SSD1306 @ ^2.5.13 |
|
|
|
|
|
|
|
[ikoka_nano_nrf_baseboard] |
|
|
|
extends = nrf52840_xiao |
|
|
|
;board_build.ldscript = boards/nrf52840_s140_v7.ld |
|
|
|
build_flags = ${nrf52840_xiao.build_flags} |
|
|
|
-D P_LORA_TX_LED=11 |
|
|
|
-I variants/ikoka_nano_nrf |
|
|
|
-I src/helpers/nrf52 |
|
|
|
-D P_LORA_TX_LED=11 |
|
|
|
-D DISPLAY_CLASS=NullDisplayDriver |
|
|
|
-D RADIO_CLASS=CustomSX1262 |
|
|
|
-D WRAPPER_CLASS=CustomSX1262Wrapper |
|
|
|
-D P_LORA_DIO_1=D1 |
|
|
|
; -D P_LORA_BUSY=D3 |
|
|
|
-D P_LORA_BUSY=D2 ; specific to ikoka nano variant. |
|
|
|
; -D P_LORA_RESET=D2 |
|
|
|
-D P_LORA_RESET=D3 ; specific to ikoka nano variant. |
|
|
|
; -D P_LORA_NSS=D4 |
|
|
|
-D P_LORA_NSS=D0 ; specific to ikoka nano variant. |
|
|
|
; -D SX126X_RXEN=D5 |
|
|
|
-D P_LORA_BUSY=D2 |
|
|
|
-D P_LORA_RESET=D3 |
|
|
|
-D P_LORA_NSS=D0 |
|
|
|
-D SX126X_RXEN=D7 |
|
|
|
-D SX126X_TXEN=RADIOLIB_NC |
|
|
|
-D SX126X_DIO2_AS_RF_SWITCH=1 |
|
|
|
-D SX126X_DIO3_TCXO_VOLTAGE=1.8 |
|
|
|
-D SX126X_CURRENT_LIMIT=140 |
|
|
|
-D SX126X_RX_BOOSTED_GAIN=1 |
|
|
|
-D PIN_WIRE_SCL=5 ; specific to ikoka nano variant. |
|
|
|
-D PIN_WIRE_SDA=4 ; specific to ikoka nano variant. |
|
|
|
-D ENV_INCLUDE_AHTX0=1 |
|
|
|
-D ENV_INCLUDE_BME280=1 |
|
|
|
-D ENV_INCLUDE_INA3221=1 |
|
|
|
-D ENV_INCLUDE_INA219=1 |
|
|
|
-D PIN_WIRE_SCL=5 |
|
|
|
-D PIN_WIRE_SDA=4 |
|
|
|
-UENV_INCLUDE_GPS |
|
|
|
debug_tool = jlink |
|
|
|
upload_protocol = nrfutil |
|
|
|
|
|
|
|
|
|
|
|
;;; abstracted hardware variants |
|
|
|
lib_deps = ${nrf52_base.lib_deps} |
|
|
|
${sensor_base.lib_deps} |
|
|
|
|
|
|
|
[ikoka_nano_nrf_e22_22dbm] |
|
|
|
extends = ikoka_nano_nrf_baseboard |
|
|
|
extends = ikoka_nano_nrf |
|
|
|
; No PA in this model, full 22dBm |
|
|
|
build_flags = |
|
|
|
${ikoka_nano_nrf_baseboard.build_flags} |
|
|
|
${ikoka_nano_nrf.build_flags} |
|
|
|
-D MANUFACTURER_STRING='"Ikoka Nano-E22-22dBm (Xiao_nrf52)"' |
|
|
|
-D LORA_TX_POWER=22 |
|
|
|
build_src_filter = ${nrf52840_xiao.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_nano_nrf.build_src_filter} |
|
|
|
+<helpers/*.cpp> |
|
|
|
+<helpers/sensors> |
|
|
|
+<helpers/ui/NullDisplayDriver.cpp> |
|
|
|
+<../variants/ikoka_nano_nrf> |
|
|
|
|
|
|
|
[ikoka_nano_nrf_e22_30dbm] |
|
|
|
extends = ikoka_nano_nrf_baseboard |
|
|
|
extends = ikoka_nano_nrf |
|
|
|
; limit txpower to 20dBm on E22-900M30S. Anything higher will |
|
|
|
; cause distortion in the PA output. 20dBm in -> 30dBm out |
|
|
|
build_flags = |
|
|
|
${ikoka_nano_nrf_baseboard.build_flags} |
|
|
|
${ikoka_nano_nrf.build_flags} |
|
|
|
-D MANUFACTURER_STRING='"Ikoka Nano-E22-30dBm (Xiao_nrf52)"' |
|
|
|
-D LORA_TX_POWER=20 |
|
|
|
build_src_filter = ${nrf52840_xiao.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_nano_nrf.build_src_filter} |
|
|
|
+<helpers/*.cpp> |
|
|
|
+<helpers/sensors> |
|
|
|
+<helpers/ui/NullDisplayDriver.cpp> |
|
|
|
+<../variants/ikoka_nano_nrf> |
|
|
|
|
|
|
|
[ikoka_nano_nrf_e22_33dbm] |
|
|
|
extends = ikoka_nano_nrf_baseboard |
|
|
|
extends = ikoka_nano_nrf |
|
|
|
; limit txpower to 9dBm on E22-900M33S to avoid hardware damage |
|
|
|
; to the rf amplifier frontend. 9dBm in -> 33dBm out |
|
|
|
build_flags = |
|
|
|
${ikoka_nano_nrf_baseboard.build_flags} |
|
|
|
${ikoka_nano_nrf.build_flags} |
|
|
|
-D MANUFACTURER_STRING='"Ikoka Nano-E22-33dBm (Xiao_nrf52)"' |
|
|
|
-D LORA_TX_POWER=9 |
|
|
|
build_src_filter = ${nrf52840_xiao.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_nano_nrf.build_src_filter} |
|
|
|
+<helpers/*.cpp> |
|
|
|
+<helpers/sensors> |
|
|
|
+<helpers/ui/NullDisplayDriver.cpp> |
|
|
|
+<../variants/ikoka_nano_nrf> |
|
|
|
|
|
|
|
;;; abstracted firmware roles |
|
|
|
|
|
|
|
[ikoka_nano_nrf_companion_radio_ble] |
|
|
|
extends = ikoka_nano_nrf_baseboard |
|
|
|
extends = ikoka_nano_nrf |
|
|
|
board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld |
|
|
|
board_upload.maximum_size = 708608 |
|
|
|
build_flags = |
|
|
|
${ikoka_nano_nrf_baseboard.build_flags} |
|
|
|
${ikoka_nano_nrf.build_flags} |
|
|
|
-D MAX_CONTACTS=350 |
|
|
|
-D MAX_GROUP_CHANNELS=40 |
|
|
|
-D BLE_PIN_CODE=123456 |
|
|
|
-D OFFLINE_QUEUE_SIZE=256 |
|
|
|
-I examples/companion_radio/ui-new |
|
|
|
-D QSPIFLASH=1 |
|
|
|
; -D BLE_DEBUG_LOGGING=1 |
|
|
|
; -D MESH_PACKET_LOGGING=1 |
|
|
|
; -D MESH_DEBUG=1 |
|
|
|
build_src_filter = ${ikoka_nano_nrf_baseboard.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_nano_nrf.build_src_filter} |
|
|
|
+<helpers/nrf52/SerialBLEInterface.cpp> |
|
|
|
+<../examples/companion_radio/*.cpp> |
|
|
|
+<../examples/companion_radio/ui-new/*.cpp> |
|
|
|
lib_deps = |
|
|
|
${ikoka_nano_nrf_baseboard.lib_deps} |
|
|
|
${ikoka_nano_nrf.lib_deps} |
|
|
|
densaugeo/base64 @ ~1.4.0 |
|
|
|
|
|
|
|
[ikoka_nano_nrf_companion_radio_usb] |
|
|
|
extends = ikoka_nano_nrf_baseboard |
|
|
|
extends = ikoka_nano_nrf |
|
|
|
board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld |
|
|
|
board_upload.maximum_size = 708608 |
|
|
|
build_flags = |
|
|
|
${ikoka_nano_nrf_baseboard.build_flags} |
|
|
|
${ikoka_nano_nrf.build_flags} |
|
|
|
-D MAX_CONTACTS=350 |
|
|
|
-D MAX_GROUP_CHANNELS=40 |
|
|
|
-I examples/companion_radio/ui-new |
|
|
|
-D QSPIFLASH=1 |
|
|
|
; -D MESH_PACKET_LOGGING=1 |
|
|
|
; -D MESH_DEBUG=1 |
|
|
|
build_src_filter = ${ikoka_nano_nrf_baseboard.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_nano_nrf.build_src_filter} |
|
|
|
+<helpers/nrf52/SerialBLEInterface.cpp> |
|
|
|
+<../examples/companion_radio/*.cpp> |
|
|
|
+<../examples/companion_radio/ui-new/*.cpp> |
|
|
|
lib_deps = |
|
|
|
${ikoka_nano_nrf_baseboard.lib_deps} |
|
|
|
${ikoka_nano_nrf.lib_deps} |
|
|
|
densaugeo/base64 @ ~1.4.0 |
|
|
|
|
|
|
|
[ikoka_nano_nrf_repeater] |
|
|
|
extends = ikoka_nano_nrf_baseboard |
|
|
|
extends = ikoka_nano_nrf |
|
|
|
build_flags = |
|
|
|
${ikoka_nano_nrf_baseboard.build_flags} |
|
|
|
${ikoka_nano_nrf.build_flags} |
|
|
|
-D ADVERT_NAME='"Ikoka Nano Repeater"' |
|
|
|
-D ADVERT_LAT=0.0 |
|
|
|
-D ADVERT_LON=0.0 |
|
|
|
@ -153,26 +126,23 @@ build_flags = |
|
|
|
-D MAX_NEIGHBOURS=50 |
|
|
|
; -D MESH_PACKET_LOGGING=1 |
|
|
|
; -D MESH_DEBUG=1 |
|
|
|
build_src_filter = ${ikoka_nano_nrf_baseboard.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_nano_nrf.build_src_filter} |
|
|
|
+<../examples/simple_repeater/*.cpp> |
|
|
|
|
|
|
|
[ikoka_nano_nrf_room_server] |
|
|
|
extends = ikoka_nano_nrf_baseboard |
|
|
|
extends = ikoka_nano_nrf |
|
|
|
build_flags = |
|
|
|
${ikoka_nano_nrf_baseboard.build_flags} |
|
|
|
${ikoka_nano_nrf.build_flags} |
|
|
|
-D ADVERT_NAME='"Ikoka Nano 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_nano_nrf_baseboard.build_src_filter} |
|
|
|
build_src_filter = ${ikoka_nano_nrf.build_src_filter} |
|
|
|
+<../examples/simple_room_server/*.cpp> |
|
|
|
|
|
|
|
;;; hardware + firmware variants |
|
|
|
|
|
|
|
;;; 22dBm EBYTE E22-900M22 variants |
|
|
|
|
|
|
|
[env:ikoka_nano_nrf_22dbm_companion_radio_usb] |
|
|
|
extends = |
|
|
|
ikoka_nano_nrf_e22_22dbm |
|
|
|
@ -219,7 +189,6 @@ build_src_filter = |
|
|
|
|
|
|
|
|
|
|
|
;;; 30dBm EBYTE E22-900M30 variants |
|
|
|
|
|
|
|
[env:ikoka_nano_nrf_30dbm_companion_radio_usb] |
|
|
|
extends = |
|
|
|
ikoka_nano_nrf_e22_30dbm |
|
|
|
@ -266,7 +235,6 @@ build_src_filter = |
|
|
|
|
|
|
|
|
|
|
|
;;; 33dBm EBYTE E22-900M33 variants |
|
|
|
|
|
|
|
[env:ikoka_nano_nrf_33dbm_companion_radio_usb] |
|
|
|
extends = |
|
|
|
ikoka_nano_nrf_e22_33dbm |
|
|
|
|