Add E22P to Ikoka-nano variants

This commit is contained in:
Michal Konopinski 2026-01-29 17:06:08 +01:00
parent 9f1a3eafcc
commit 81de29aaf2
2 changed files with 100 additions and 0 deletions

View file

@ -31,6 +31,40 @@ upload_protocol = nrfutil
lib_deps = ${nrf52_base.lib_deps}
${sensor_base.lib_deps}
[ikoka_nano_nrf_e22p]
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 P_LORA_EN=D7
-D SX126X_RXEN=RADIOLIB_NC
-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
@ -58,6 +92,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
@ -234,6 +282,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);
}