Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
95 changes: 95 additions & 0 deletions variants/ikoka_nano_nrf/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,40 @@ build_flags = ${nrf52840_xiao.build_flags}
debug_tool = jlink
upload_protocol = nrfutil

[ikoka_nano_nrf_baseboard_e22p]
extends = nrf52840_xiao
;board_build.ldscript = boards/nrf52840_s140_v7.ld
build_unflags = -D SX126X_RXEN=D7
build_flags = ${nrf52840_xiao.build_flags}
-D P_LORA_TX_LED=11
-I variants/ikoka_nano_nrf
-I src/helpers/nrf52
-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 SX126X_RXEN=RADIOLIB_NC
-D P_LORA_EN=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
debug_tool = jlink
upload_protocol = nrfutil

;;; abstracted hardware variants

Expand Down Expand Up @@ -85,6 +119,20 @@ build_src_filter = ${nrf52840_xiao.build_src_filter}
+<helpers/ui/NullDisplayDriver.cpp>
+<../variants/ikoka_nano_nrf>

[ikoka_nano_nrf_e22p_30dbm]
extends = ikoka_nano_nrf_baseboard_e22p
; limit txpower to 20dBm on E22p-900M30S. Anything higher will
; cause distortion in the PA output. 20dBm in -> 30dBm out
build_flags =
${ikoka_nano_nrf_baseboard_e22p.build_flags}
-D MANUFACTURER_STRING='"Ikoka Nano-E22p-30dBm (Xiao_nrf52)"'
-D LORA_TX_POWER=20
build_src_filter = ${nrf52840_xiao.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
; limit txpower to 9dBm on E22-900M33S to avoid hardware damage
Expand Down Expand Up @@ -265,6 +313,53 @@ build_src_filter =
${ikoka_nano_nrf_e22_30dbm.build_src_filter}


;;; 30dBm EBYTE E22P-868M30/E22P-915M30 variants

[env:ikoka_nano_nrf_e22p_30dbm_companion_radio_usb]
extends =
ikoka_nano_nrf_e22p_30dbm
ikoka_nano_nrf_companion_radio_usb
build_flags =
${ikoka_nano_nrf_companion_radio_usb.build_flags}
${ikoka_nano_nrf_e22p_30dbm.build_flags}
build_src_filter =
${ikoka_nano_nrf_companion_radio_usb.build_src_filter}
${ikoka_nano_nrf_e22p_30dbm.build_src_filter}

[env:ikoka_nano_nrf_e22p_30dbm_companion_radio_ble]
extends =
ikoka_nano_nrf_e22p_30dbm
ikoka_nano_nrf_companion_radio_ble
build_flags =
${ikoka_nano_nrf_companion_radio_ble.build_flags}
${ikoka_nano_nrf_e22p_30dbm.build_flags}
build_src_filter =
${ikoka_nano_nrf_companion_radio_ble.build_src_filter}
${ikoka_nano_nrf_e22p_30dbm.build_src_filter}

[env:ikoka_nano_nrf_e22p_30dbm_repeater]
extends =
ikoka_nano_nrf_e22p_30dbm
ikoka_nano_nrf_repeater
build_flags =
${ikoka_nano_nrf_repeater.build_flags}
${ikoka_nano_nrf_e22p_30dbm.build_flags}
build_src_filter =
${ikoka_nano_nrf_repeater.build_src_filter}
${ikoka_nano_nrf_e22p_30dbm.build_src_filter}

[env:ikoka_nano_nrf_e22p_30dbm_room_server]
extends =
ikoka_nano_nrf_e22p_30dbm
ikoka_nano_nrf_room_server
build_flags =
${ikoka_nano_nrf_room_server.build_flags}
${ikoka_nano_nrf_e22p_30dbm.build_flags}
build_src_filter =
${ikoka_nano_nrf_room_server.build_src_filter}
${ikoka_nano_nrf_e22p_30dbm.build_src_filter}


;;; 33dBm EBYTE E22-900M33 variants

[env:ikoka_nano_nrf_33dbm_companion_radio_usb]
Expand Down
5 changes: 5 additions & 0 deletions variants/ikoka_nano_nrf/target.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,11 @@ EnvironmentSensorManager sensors;
bool radio_init() {
rtc_clock.begin(Wire);

#ifdef P_LORA_EN
pinMode(P_LORA_EN, OUTPUT);
digitalWrite(P_LORA_EN, HIGH);
#endif

return radio.std_init(&SPI);
}

Expand Down