[ikoka_nano_nrf] extends = nrf52_base 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 -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=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 -D PIN_WIRE_SDA=4 -UENV_INCLUDE_GPS debug_tool = jlink upload_protocol = nrfutil lib_deps = ${nrf52_base.lib_deps} ${sensor_base.lib_deps} [ikoka_nano_nrf_e22_22dbm] extends = ikoka_nano_nrf ; No PA in this model, full 22dBm build_flags = ${ikoka_nano_nrf.build_flags} -D MANUFACTURER_STRING='"Ikoka Nano-E22-22dBm (Xiao_nrf52)"' -D LORA_TX_POWER=22 build_src_filter = ${ikoka_nano_nrf.build_src_filter} + + + +<../variants/ikoka_nano_nrf> [ikoka_nano_nrf_e22_30dbm] 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.build_flags} -D MANUFACTURER_STRING='"Ikoka Nano-E22-30dBm (Xiao_nrf52)"' -D LORA_TX_POWER=20 build_src_filter = ${ikoka_nano_nrf.build_src_filter} + + + +<../variants/ikoka_nano_nrf> [ikoka_nano_nrf_e22_33dbm] 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.build_flags} -D MANUFACTURER_STRING='"Ikoka Nano-E22-33dBm (Xiao_nrf52)"' -D LORA_TX_POWER=9 build_src_filter = ${ikoka_nano_nrf.build_src_filter} + + + +<../variants/ikoka_nano_nrf> [ikoka_nano_nrf_companion_radio_ble] extends = ikoka_nano_nrf board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld board_upload.maximum_size = 708608 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.build_src_filter} + +<../examples/companion_radio/*.cpp> +<../examples/companion_radio/ui-new/*.cpp> lib_deps = ${ikoka_nano_nrf.lib_deps} densaugeo/base64 @ ~1.4.0 [ikoka_nano_nrf_companion_radio_usb] extends = ikoka_nano_nrf board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld board_upload.maximum_size = 708608 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.build_src_filter} + +<../examples/companion_radio/*.cpp> +<../examples/companion_radio/ui-new/*.cpp> lib_deps = ${ikoka_nano_nrf.lib_deps} densaugeo/base64 @ ~1.4.0 [ikoka_nano_nrf_repeater] extends = ikoka_nano_nrf build_flags = ${ikoka_nano_nrf.build_flags} -D ADVERT_NAME='"Ikoka Nano Repeater"' -D ADVERT_LAT=0.0 -D ADVERT_LON=0.0 -D ADMIN_PASSWORD='"password"' -D MAX_NEIGHBOURS=50 ; -D MESH_PACKET_LOGGING=1 ; -D MESH_DEBUG=1 build_src_filter = ${ikoka_nano_nrf.build_src_filter} +<../examples/simple_repeater/*.cpp> [ikoka_nano_nrf_room_server] extends = ikoka_nano_nrf 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.build_src_filter} +<../examples/simple_room_server/*.cpp> ;;; 22dBm EBYTE E22-900M22 variants [env:ikoka_nano_nrf_22dbm_companion_radio_usb] extends = ikoka_nano_nrf_e22_22dbm ikoka_nano_nrf_companion_radio_usb build_flags = ${ikoka_nano_nrf_companion_radio_usb.build_flags} ${ikoka_nano_nrf_e22_22dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_companion_radio_usb.build_src_filter} ${ikoka_nano_nrf_e22_22dbm.build_src_filter} [env:ikoka_nano_nrf_22dbm_companion_radio_ble] extends = ikoka_nano_nrf_e22_22dbm ikoka_nano_nrf_companion_radio_ble build_flags = ${ikoka_nano_nrf_companion_radio_ble.build_flags} ${ikoka_nano_nrf_e22_22dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_companion_radio_ble.build_src_filter} ${ikoka_nano_nrf_e22_22dbm.build_src_filter} [env:ikoka_nano_nrf_22dbm_repeater] extends = ikoka_nano_nrf_e22_22dbm ikoka_nano_nrf_repeater build_flags = ${ikoka_nano_nrf_repeater.build_flags} ${ikoka_nano_nrf_e22_22dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_repeater.build_src_filter} ${ikoka_nano_nrf_e22_22dbm.build_src_filter} [env:ikoka_nano_nrf_22dbm_room_server] extends = ikoka_nano_nrf_e22_22dbm ikoka_nano_nrf_room_server build_flags = ${ikoka_nano_nrf_room_server.build_flags} ${ikoka_nano_nrf_e22_22dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_room_server.build_src_filter} ${ikoka_nano_nrf_e22_22dbm.build_src_filter} ;;; 30dBm EBYTE E22-900M30 variants [env:ikoka_nano_nrf_30dbm_companion_radio_usb] extends = ikoka_nano_nrf_e22_30dbm ikoka_nano_nrf_companion_radio_usb build_flags = ${ikoka_nano_nrf_companion_radio_usb.build_flags} ${ikoka_nano_nrf_e22_30dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_companion_radio_usb.build_src_filter} ${ikoka_nano_nrf_e22_30dbm.build_src_filter} [env:ikoka_nano_nrf_30dbm_companion_radio_ble] extends = ikoka_nano_nrf_e22_30dbm ikoka_nano_nrf_companion_radio_ble build_flags = ${ikoka_nano_nrf_companion_radio_ble.build_flags} ${ikoka_nano_nrf_e22_30dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_companion_radio_ble.build_src_filter} ${ikoka_nano_nrf_e22_30dbm.build_src_filter} [env:ikoka_nano_nrf_30dbm_repeater] extends = ikoka_nano_nrf_e22_30dbm ikoka_nano_nrf_repeater build_flags = ${ikoka_nano_nrf_repeater.build_flags} ${ikoka_nano_nrf_e22_30dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_repeater.build_src_filter} ${ikoka_nano_nrf_e22_30dbm.build_src_filter} [env:ikoka_nano_nrf_30dbm_room_server] extends = ikoka_nano_nrf_e22_30dbm ikoka_nano_nrf_room_server build_flags = ${ikoka_nano_nrf_room_server.build_flags} ${ikoka_nano_nrf_e22_30dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_room_server.build_src_filter} ${ikoka_nano_nrf_e22_30dbm.build_src_filter} ;;; 33dBm EBYTE E22-900M33 variants [env:ikoka_nano_nrf_33dbm_companion_radio_usb] extends = ikoka_nano_nrf_e22_33dbm ikoka_nano_nrf_companion_radio_usb build_flags = ${ikoka_nano_nrf_companion_radio_usb.build_flags} ${ikoka_nano_nrf_e22_33dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_companion_radio_usb.build_src_filter} ${ikoka_nano_nrf_e22_33dbm.build_src_filter} [env:ikoka_nano_nrf_33dbm_companion_radio_ble] extends = ikoka_nano_nrf_e22_33dbm ikoka_nano_nrf_companion_radio_ble build_flags = ${ikoka_nano_nrf_companion_radio_ble.build_flags} ${ikoka_nano_nrf_e22_33dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_companion_radio_ble.build_src_filter} ${ikoka_nano_nrf_e22_33dbm.build_src_filter} [env:ikoka_nano_nrf_33dbm_repeater] extends = ikoka_nano_nrf_e22_33dbm ikoka_nano_nrf_repeater build_flags = ${ikoka_nano_nrf_repeater.build_flags} ${ikoka_nano_nrf_e22_33dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_repeater.build_src_filter} ${ikoka_nano_nrf_e22_33dbm.build_src_filter} [env:ikoka_nano_nrf_33dbm_room_server] extends = ikoka_nano_nrf_e22_33dbm ikoka_nano_nrf_room_server build_flags = ${ikoka_nano_nrf_room_server.build_flags} ${ikoka_nano_nrf_e22_33dbm.build_flags} build_src_filter = ${ikoka_nano_nrf_room_server.build_src_filter} ${ikoka_nano_nrf_e22_33dbm.build_src_filter}