562 lines
19 KiB
INI
562 lines
19 KiB
INI
[rak4631]
|
|
extends = nrf52_base
|
|
board = rak4631
|
|
board_check = true
|
|
board_build.ldscript = boards/nrf52840_s140_v6.ld
|
|
extra_scripts = ${nrf52_base.extra_scripts}
|
|
post:variants/rak4631/fix_bsec_lib.py
|
|
post:tools/mota/pio_endf.py ; EndF trailer for OTA self-identity (all RAK4631 roles)
|
|
build_flags = ${nrf52_base.build_flags}
|
|
${sensor_base.build_flags}
|
|
-I variants/rak4631
|
|
-D RAK_4631
|
|
-D RAK_BOARD
|
|
-D NRF52_POWER_MANAGEMENT
|
|
-D MOTA_HW_ID='"RAK4631"' ; OTA hardware tag (apply refuses a .mota for different hw)
|
|
-D PIN_BOARD_SCL=14
|
|
-D PIN_BOARD_SDA=13
|
|
; Saved peripherals.mode defaults to gps-only; shared keeps WB_IO2 alive.
|
|
; The boot power policy automatically protects Ethernet/PoE and external NOR.
|
|
-D PIN_GPS_EN=-1
|
|
-D PIN_OLED_RESET=-1
|
|
-D USE_SX1262
|
|
-D RADIO_CLASS=CustomSX1262
|
|
-D WRAPPER_CLASS=CustomSX1262Wrapper
|
|
-D LORA_TX_POWER=22
|
|
-D SX126X_CURRENT_LIMIT=140
|
|
-D SX126X_RX_BOOSTED_GAIN=1
|
|
-D ENV_INCLUDE_RAK12035=1
|
|
-UENV_INCLUDE_BME680
|
|
-D ENV_INCLUDE_BME680_BSEC=1
|
|
-D ENABLE_OTA=1 ; LoRa OTA on every RAK4631 role (single-slot, bootloader-applied)
|
|
-D OTA_FLASH_STORE=1 ; stage the received .mota in flash (survives reboot into the bootloader)
|
|
-D OTA_FOLDER_SERIAL ; `ota folder on` relays a host folder of .mota over the USB console (no extra HW)
|
|
build_src_filter = ${nrf52_base.build_src_filter}
|
|
+<../variants/rak4631>
|
|
+<helpers/sensors>
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/ui/MomentaryButton.cpp>
|
|
+<helpers/ota/*.cpp>
|
|
lib_deps =
|
|
${nrf52_base.lib_deps}
|
|
${sensor_base.lib_deps}
|
|
adafruit/Adafruit SSD1306 @ ^2.5.13
|
|
sparkfun/SparkFun u-blox GNSS Arduino Library@^2.2.27
|
|
boschsensortec/BSEC Software Library @ ^1.8.1492
|
|
|
|
[env:RAK_4631_repeater]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-UENABLE_OTA
|
|
-D DISABLE_LORA_OTA=1 ; Cascade repeater image exceeds the safe nRF52 in-place OTA ceiling
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RAK4631 Repeater"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_RS232_BRIDGE=Serial2
|
|
-D WITH_RS232_BRIDGE_UART=2
|
|
-D WITH_RS232_BRIDGE_RX=PIN_SERIAL2_RX
|
|
-D WITH_RS232_BRIDGE_TX=PIN_SERIAL2_TX
|
|
-D WITH_RS232_BRIDGE_ALT=Serial1
|
|
-D WITH_RS232_BRIDGE_ALT_UART=1
|
|
-D WITH_RS232_BRIDGE_ALT_RX=PIN_SERIAL1_RX
|
|
-D WITH_RS232_BRIDGE_ALT_TX=PIN_SERIAL1_TX
|
|
-D RS232_BRIDGE_MERGED=1
|
|
-D WITH_RS232_BRIDGE_GPS_CONFLICT_UART=1
|
|
; -D OTA_DEBUG=1 ; bring-up: trace OTA fetch (REQ / block / page-flush) over Serial
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
; -D POWERSAVING_DEBUG=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
; Shared sources remain inherited, but ENABLE_OTA is explicitly undefined for this oversized role.
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
; Full/Reduced OTA pairs compile this feature-rich base, not their named
|
|
; reduced sibling. Keep the optional SD dependency available to its overlay.
|
|
${nrf52_rak15002_sd_store.lib_deps}
|
|
|
|
; Full-sensor/GPS repeater for a RAK4631 fitted with a 2 MiB RAK15001 in sensor
|
|
; slot C. Its WP#/HOLD# inputs have onboard pull-ups, so firmware does not drive
|
|
; slot GPIO. Do not use this target with RAK13800 Ethernet, RAK15002 SD, or
|
|
; another SPI module.
|
|
[env:RAK_4631_repeater_rak15001_slot_c_lora_ota]
|
|
extends = rak4631
|
|
build_unflags =
|
|
-D MOTA_HW_ID='"RAK4631"'
|
|
-D OTA_FLASH_STORE=1
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
${nrf52_rak15001_ota.build_flags}
|
|
-D MOTA_HW_ID='"RAK4631_RAK15001_C"'
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RAK4631 + RAK15001 OTA"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
|
|
; Full-sensor/GPS repeater with an exact 2 MiB Winbond W25Q16JV breakout. The
|
|
; flash shares the RAK19007 SPI clock/data nets, uses its own CS on J11 AIN1,
|
|
; and does not occupy a sensor slot. The RAK4631 radio has a separate internal
|
|
; SPI bus. A matching exact-EF4015 OTAFIX bootloader is required.
|
|
[env:RAK_4631_repeater_w25q16_lora_ota]
|
|
extends = rak4631
|
|
build_unflags =
|
|
-D MOTA_HW_ID='"RAK4631"'
|
|
-D OTA_FLASH_STORE=1
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
${nrf52_wisblock_w25q16_ota.build_flags}
|
|
-D MOTA_HW_ID='"RAK4631_W25Q16"'
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RAK4631 + W25Q16 OTA"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
|
|
; One full-sensor repeater image selects internal flash, qualified NOR, or an
|
|
; inserted RAK15002 card. The matching OTAFIX bootloader for the selected
|
|
; internal/NOR handoff is still required.
|
|
[env:RAK_4631_repeater_unified_lora_ota]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
${nrf52_rak4631_unified_ota.build_flags}
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RAK4631 Repeater"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_RS232_BRIDGE=Serial2
|
|
-D WITH_RS232_BRIDGE_UART=2
|
|
-D WITH_RS232_BRIDGE_RX=PIN_SERIAL2_RX
|
|
-D WITH_RS232_BRIDGE_TX=PIN_SERIAL2_TX
|
|
-D WITH_RS232_BRIDGE_ALT=Serial1
|
|
-D WITH_RS232_BRIDGE_ALT_UART=1
|
|
-D WITH_RS232_BRIDGE_ALT_RX=PIN_SERIAL1_RX
|
|
-D WITH_RS232_BRIDGE_ALT_TX=PIN_SERIAL1_TX
|
|
-D RS232_BRIDGE_MERGED=1
|
|
-D WITH_RS232_BRIDGE_GPS_CONFLICT_UART=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
${nrf52_rak4631_unified_ota.lib_deps}
|
|
|
|
; Shared reduced RAK4631 repeater recipe. The old cache-only SD seeder uses
|
|
; this pre-adaptive base so its strict source-only contract cannot inherit the
|
|
; receiver's internal/NOR/SD STORE flags.
|
|
[rak4631_repeater_reduced_ota_base]
|
|
extra_scripts = ${nrf52_lora_ota.extra_scripts}
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
${nrf52_reduced_sensors_keep_ina_gps.build_flags}
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RAK4631 LoRa OTA No Ext Sensors"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_RS232_BRIDGE=Serial2
|
|
-D WITH_RS232_BRIDGE_UART=2
|
|
-D WITH_RS232_BRIDGE_RX=PIN_SERIAL2_RX
|
|
-D WITH_RS232_BRIDGE_TX=PIN_SERIAL2_TX
|
|
-D WITH_RS232_BRIDGE_ALT=Serial1
|
|
-D WITH_RS232_BRIDGE_ALT_UART=1
|
|
-D WITH_RS232_BRIDGE_ALT_RX=PIN_SERIAL1_RX
|
|
-D WITH_RS232_BRIDGE_ALT_TX=PIN_SERIAL1_TX
|
|
-D RS232_BRIDGE_MERGED=1
|
|
-D WITH_RS232_BRIDGE_GPS_CONFLICT_UART=1
|
|
build_src_filter = ${nrf52_lora_ota.build_src_filter}
|
|
+<../variants/rak4631>
|
|
+<helpers/sensors/EnvironmentSensorManager.cpp>
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/ui/MomentaryButton.cpp>
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${nrf52_lora_ota.lib_deps}
|
|
${nrf52_reduced_sensors_keep_ina_gps.lib_deps}
|
|
adafruit/Adafruit SSD1306 @ ^2.5.13
|
|
sparkfun/SparkFun u-blox GNSS Arduino Library@^2.2.27
|
|
|
|
; Lean OTA target for space-constrained RAK4631 repeaters. This removes optional external
|
|
; environmental sensor packages while retaining the common INA I2C voltage/current monitors and
|
|
; RAK12500/RAK12501 GPS support. The legacy no_external_sensors target name remains stable for OTA
|
|
; compatibility. RAK4631Board::getBattMilliVolts(), repeater telemetry, and battery.alert remain part
|
|
; of the board/repeater sources below.
|
|
; RAK12500 and the configured INA3221 both use I2C address 0x42. When both are required, keep GPS at
|
|
; 0x42, strap INA3221 A0 to SCL for 0x43, and build with -DTELEM_INA3221_ADDRESS=0x43.
|
|
[env:RAK_4631_repeater_lora_ota_no_external_sensors]
|
|
extends = rak4631
|
|
extra_scripts = ${rak4631_repeater_reduced_ota_base.extra_scripts}
|
|
build_flags =
|
|
${rak4631_repeater_reduced_ota_base.build_flags}
|
|
${nrf52_rak4631_unified_ota.build_flags}
|
|
build_src_filter = ${rak4631_repeater_reduced_ota_base.build_src_filter}
|
|
lib_deps =
|
|
${rak4631_repeater_reduced_ota_base.lib_deps}
|
|
${nrf52_rak4631_unified_ota.lib_deps}
|
|
|
|
; Experimental exact RAK15002 IO-slot SD archive. This is source-only: it
|
|
; caches/serves peer mOTAs but never installs an application or bootloader.
|
|
; Keep the ordinary reduced sensor/GPS/OLED/BLE features; do not substitute it
|
|
; for a receiver in the automatic Full/Reduced OTA release matrix.
|
|
[env:RAK_4631_repeater_rak15002_sd_seeder_only]
|
|
extends = env:RAK_4631_repeater_lora_ota_no_external_sensors
|
|
; Its parent now carries the adaptive receiver recipe. Keep this historical
|
|
; cache-only archive exactly source-only and mutually exclusive with it.
|
|
build_unflags =
|
|
${nrf52_base.build_unflags}
|
|
-D OTA_RAK_AUTO_STORE=1
|
|
-D OTA_QSPI_STORE=1
|
|
-D OTA_RAK15002_SD_STORE=1
|
|
build_flags =
|
|
${rak4631_repeater_reduced_ota_base.build_flags}
|
|
-UOTA_FLASH_STORE
|
|
-D OTA_SEEDER_ONLY=1
|
|
-D OTA_SD_STORE=1
|
|
-D OTA_RAK15002_SD_CACHE=1
|
|
-D OTA_SD_CS_PIN=26
|
|
-D OTA_SD_SCK_MHZ=4
|
|
-D OTA_SD_CACHE_MAX=16
|
|
-D OTA_MAX_SERVE=24
|
|
-D OTA_HEAP_CONTEXT=1
|
|
-UADVERT_NAME
|
|
-D ADVERT_NAME='"RAK4631 SD Seeder"'
|
|
lib_deps =
|
|
${rak4631_repeater_reduced_ota_base.lib_deps}
|
|
https://github.com/greiman/SdFat-beta.git#a249cfa121e25a96ee14d8813abf01755f1f6a25
|
|
|
|
[env:RAK_4631_repeater_ethernet]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-UENABLE_OTA
|
|
-D DISABLE_LORA_OTA=1 ; Ethernet image exceeds the safe nRF52 in-place OTA ceiling
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RAK4631 Repeater"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D ETHERNET_ENABLED=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
|
|
|
[env:RAK_4631_repeater_bridge_rs232_serial1]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-UENABLE_OTA
|
|
-D DISABLE_LORA_OTA=1 ; Full external-sensor build exceeds the in-place OTA ceiling
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RS232 Bridge"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_RS232_BRIDGE=Serial1
|
|
-D WITH_RS232_BRIDGE_UART=1
|
|
-D WITH_RS232_BRIDGE_RX=PIN_SERIAL1_RX
|
|
-D WITH_RS232_BRIDGE_TX=PIN_SERIAL1_TX
|
|
-UENV_INCLUDE_GPS
|
|
; -D BRIDGE_DEBUG=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
; -D CORE_DEBUG_LEVEL=3
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
+<../examples/simple_repeater>
|
|
|
|
; Explicit lean alternative to the full-sensor, non-OTA Serial1 bridge above. GPS remains disabled:
|
|
; both the RAK12501 and this bridge require Serial1, so enabling both would corrupt both protocols.
|
|
[env:RAK_4631_repeater_bridge_rs232_serial1_lora_ota_no_external_sensors]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
${nrf52_reduced_sensors_keep_ina.build_flags}
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RS232 Bridge"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_RS232_BRIDGE=Serial1
|
|
-D WITH_RS232_BRIDGE_UART=1
|
|
-D WITH_RS232_BRIDGE_RX=PIN_SERIAL1_RX
|
|
-D WITH_RS232_BRIDGE_TX=PIN_SERIAL1_TX
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${nrf52_lora_ota.lib_deps}
|
|
${nrf52_reduced_sensors_keep_ina.lib_deps}
|
|
adafruit/Adafruit SSD1306 @ ^2.5.13
|
|
|
|
[env:RAK_4631_repeater_bridge_rs232_serial2]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-UENABLE_OTA
|
|
-D DISABLE_LORA_OTA=1 ; Full external-sensor build exceeds the in-place OTA ceiling
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RS232 Bridge"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_RS232_BRIDGE=Serial2
|
|
-D WITH_RS232_BRIDGE_UART=2
|
|
-D WITH_RS232_BRIDGE_RX=PIN_SERIAL2_RX
|
|
-D WITH_RS232_BRIDGE_TX=PIN_SERIAL2_TX
|
|
-UENV_INCLUDE_GPS
|
|
; -D BRIDGE_DEBUG=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
; -D CORE_DEBUG_LEVEL=3
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
+<../examples/simple_repeater>
|
|
|
|
; Explicit lean alternative to the full-sensor, non-OTA Serial2 bridge above. GPS remains available
|
|
; on Serial1 because this bridge owns Serial2.
|
|
[env:RAK_4631_repeater_bridge_rs232_serial2_lora_ota_no_external_sensors]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
${nrf52_reduced_sensors_keep_ina_gps.build_flags}
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RS232 Bridge"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D MAX_NEIGHBOURS=50
|
|
-D WITH_RS232_BRIDGE=Serial2
|
|
-D WITH_RS232_BRIDGE_UART=2
|
|
-D WITH_RS232_BRIDGE_RX=PIN_SERIAL2_RX
|
|
-D WITH_RS232_BRIDGE_TX=PIN_SERIAL2_TX
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<helpers/bridges/RS232Bridge.cpp>
|
|
+<../examples/simple_repeater>
|
|
lib_deps =
|
|
${nrf52_lora_ota.lib_deps}
|
|
${nrf52_reduced_sensors_keep_ina_gps.lib_deps}
|
|
adafruit/Adafruit SSD1306 @ ^2.5.13
|
|
sparkfun/SparkFun u-blox GNSS Arduino Library@^2.2.27
|
|
|
|
[env:RAK_4631_room_server]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-UENABLE_OTA
|
|
-D DISABLE_LORA_OTA=1 ; Full external-sensor build exceeds the in-place OTA ceiling
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"Test Room"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D ROOM_PASSWORD='"hello"'
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_room_server>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
${nrf52_rak15002_sd_store.lib_deps}
|
|
|
|
[env:RAK_4631_room_server_ethernet]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-UENABLE_OTA
|
|
-D DISABLE_LORA_OTA=1 ; Ethernet image exceeds the safe nRF52 in-place OTA ceiling
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RAK4631 Room Server"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D ROOM_PASSWORD='"hello"'
|
|
-D ETHERNET_ENABLED=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_room_server>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
${nrf52_rak15002_sd_store.lib_deps}
|
|
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
|
|
|
[env:RAK_4631_companion_radio_usb]
|
|
extends = rak4631
|
|
board_build.ldscript = boards/nrf52840_s140_v6_extrafs.ld
|
|
board_upload.maximum_size = 712704
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D PIN_USER_BTN=9
|
|
-D PIN_USER_BTN_ANA=31
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D MESH_CONTACT_CACHE=1
|
|
-D ENABLE_USB_INTERFACE
|
|
; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
|
|
; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
|
|
[env:RAK_4631_companion_radio_ethernet]
|
|
extends = rak4631
|
|
board_build.ldscript = boards/nrf52840_s140_v6.ld
|
|
board_upload.maximum_size = 712704
|
|
build_unflags =
|
|
-D EXTRAFS=1
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D PIN_USER_BTN=9
|
|
-D PIN_USER_BTN_ANA=31
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D ETHERNET_ENABLED=1
|
|
-D ETHERNET_USE_RAK13800
|
|
-D ETHERNET_CLASS=RAK13800EthernetInterface
|
|
; NOTE: DO NOT ENABLE --> -D MESH_PACKET_LOGGING=1
|
|
; NOTE: DO NOT ENABLE --> -D MESH_DEBUG=1
|
|
; -D ETHERNET_DEBUG_LOGGING=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
+<helpers/ethernet/*.cpp>
|
|
+<helpers/ethernet/RAK13800/>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
|
|
|
[env:RAK_4631_companion_radio_full]
|
|
extends = env:RAK_4631_companion_radio_usb
|
|
build_flags =
|
|
${env:RAK_4631_companion_radio_usb.build_flags}
|
|
; Optional RAK15002 source/cache. Runtime arbitration keeps the shared
|
|
; WisBlock IO slot safe when RAK13800 Ethernet is also compiled.
|
|
${nrf52_rak15002_sd_store.build_flags}
|
|
-D ETHERNET_ENABLED=1
|
|
-D ETHERNET_USE_RAK13800
|
|
-D ETHERNET_CLASS=RAK13800EthernetInterface
|
|
-D MESHCORE_REQUIRES_COMPANION_RADIO_FULL=1
|
|
build_src_filter = ${env:RAK_4631_companion_radio_usb.build_src_filter}
|
|
+<helpers/ethernet/*.cpp>
|
|
+<helpers/ethernet/RAK13800/>
|
|
lib_deps =
|
|
${env:RAK_4631_companion_radio_usb.lib_deps}
|
|
${nrf52_rak15002_sd_store.lib_deps}
|
|
https://github.com/RAKWireless/RAK13800-W5100S/archive/1.0.2.zip
|
|
|
|
|
|
[env:RAK_4631_companion_radio_ble]
|
|
extends = rak4631
|
|
board_build.ldscript = boards/nrf52840_s140_v6_extrafs.ld
|
|
board_upload.maximum_size = 712704
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-I examples/companion_radio/ui-new
|
|
-D PIN_USER_BTN=9
|
|
-D PIN_USER_BTN_ANA=31
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D MAX_CONTACTS=350
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D MESH_CONTACT_CACHE=1
|
|
-D BLE_PIN_CODE=123456
|
|
; -D BLE_DEBUG_LOGGING=1
|
|
-D OFFLINE_QUEUE_SIZE=256
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
; -D POWERSAVING_DEBUG=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/nrf52/SerialBLEInterface.cpp>
|
|
+<../examples/companion_radio/*.cpp>
|
|
+<../examples/companion_radio/ui-new/*.cpp>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:RAK_4631_terminal_chat]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-D PIN_USER_BTN=9
|
|
-D PIN_USER_BTN_ANA=31
|
|
-D MAX_CONTACTS=100
|
|
-D MAX_GROUP_CHANNELS=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<../examples/simple_secure_chat/main.cpp>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
densaugeo/base64 @ ~1.4.0
|
|
|
|
[env:RAK_4631_sensor]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
-UENABLE_OTA
|
|
-D DISABLE_LORA_OTA=1 ; Full sensor image exceeds the safe nRF52 in-place OTA ceiling
|
|
-D DISPLAY_CLASS=SSD1306Display
|
|
-D ADVERT_NAME='"RAK4631 Sensor"'
|
|
-D ADVERT_LAT=0.0
|
|
-D ADVERT_LON=0.0
|
|
-D ADMIN_PASSWORD='"password"'
|
|
-D USER_GPIO_CONTROL=1
|
|
; -D MESH_PACKET_LOGGING=1
|
|
; -D MESH_DEBUG=1
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<helpers/ui/SSD1306Display.cpp>
|
|
+<../examples/simple_sensor>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|
|
${nrf52_rak15002_sd_store.lib_deps}
|
|
|
|
[env:RAK_4631_kiss_modem]
|
|
extends = rak4631
|
|
build_flags =
|
|
${rak4631.build_flags}
|
|
build_src_filter = ${rak4631.build_src_filter}
|
|
+<../examples/kiss_modem/>
|
|
lib_deps =
|
|
${rak4631.lib_deps}
|