This commit is contained in:
Michał Konopiński 2026-04-20 10:53:44 +02:00 committed by GitHub
commit 46465b96c4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 77 additions and 0 deletions

View file

@ -32,6 +32,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
@ -59,6 +70,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
@ -235,6 +260,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 =

View file

@ -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);
}