Skip to content
Closed
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
72 changes: 72 additions & 0 deletions variants/ikoka_nano_nrf/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,17 @@ upload_protocol = nrfutil
lib_deps = ${nrf52_base.lib_deps}
${sensor_base.lib_deps}

[ikoka_nano_nrf_e22p]
extends = ikoka_nano_nrf
; E22P: integrated PA/LNA via DIO2. D7 = module power enable (not RXEN)
build_unflags =
-DSX126X_RXEN=D7
build_flags =
${ikoka_nano_nrf.build_flags}
-D SX126X_RXEN=RADIOLIB_NC
-D P_LORA_EN=D7
-D SX126X_REGISTER_PATCH=1

[ikoka_nano_nrf_e22_22dbm]
extends = ikoka_nano_nrf
; No PA in this model, full 22dBm
Expand Down Expand Up @@ -58,6 +69,20 @@ build_src_filter = ${ikoka_nano_nrf.build_src_filter}
+<helpers/ui/NullDisplayDriver.cpp>
+<../variants/ikoka_nano_nrf>

[ikoka_nano_nrf_e22p_30dbm]
extends = ikoka_nano_nrf_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_e22p.build_flags}
-D MANUFACTURER_STRING='"Ikoka Nano-E22P-30dBm (Xiao_nrf52)"'
-D LORA_TX_POWER=20
build_src_filter = ${ikoka_nano_nrf_e22p.build_src_filter}
+<helpers/*.cpp>
+<helpers/sensors>
+<helpers/ui/NullDisplayDriver.cpp>
+<../variants/ikoka_nano_nrf>

[ikoka_nano_nrf_e22_33dbm]
extends = ikoka_nano_nrf
; limit txpower to 9dBm on E22-900M33S to avoid hardware damage
Expand Down Expand Up @@ -234,6 +259,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]
extends =
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