diff --git a/variants/ikoka_nano_nrf/platformio.ini b/variants/ikoka_nano_nrf/platformio.ini index 08b1101bf2..84dbe54dd9 100644 --- a/variants/ikoka_nano_nrf/platformio.ini +++ b/variants/ikoka_nano_nrf/platformio.ini @@ -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 @@ -58,6 +69,20 @@ build_src_filter = ${ikoka_nano_nrf.build_src_filter} + +<../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} + + + + + + + +<../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 +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 = diff --git a/variants/ikoka_nano_nrf/target.cpp b/variants/ikoka_nano_nrf/target.cpp index be20cfb436..1d7eab7d0a 100644 --- a/variants/ikoka_nano_nrf/target.cpp +++ b/variants/ikoka_nano_nrf/target.cpp @@ -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); }