Skip to content

Commit 324eab9

Browse files
committed
cleanup ikoka variants and add all supported sensors
1 parent e31c46f commit 324eab9

3 files changed

Lines changed: 90 additions & 146 deletions

File tree

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
[ikoka_nrf52]
2-
extends = Xiao_nrf52
3-
lib_deps = ${nrf52_base.lib_deps}
4-
${sensor_base.lib_deps}
5-
densaugeo/base64 @ ~1.4.0
1+
[ikoka_handheld_nrf]
2+
extends = nrf52_base
63
build_flags = ${nrf52_base.build_flags}
74
${sensor_base.build_flags}
85
-I lib/nrf52/s140_nrf52_7.3.0_API/include
@@ -26,12 +23,15 @@ build_flags = ${nrf52_base.build_flags}
2623
build_src_filter = ${nrf52_base.build_src_filter}
2724
+<../variants/ikoka_handheld_nrf>
2825
+<helpers/sensors>
26+
lib_deps = ${nrf52_base.lib_deps}
27+
${sensor_base.lib_deps}
28+
densaugeo/base64 @ ~1.4.0
2929

3030
# larger screen has a different driver, this is for the 0.96 inch
31-
[ikoka_nrf52_ssd1306_companion]
32-
lib_deps = ${ikoka_nrf52.lib_deps}
31+
[ikoka_handheld_nrf_ssd1306_companion]
32+
lib_deps = ${ikoka_handheld_nrf.lib_deps}
3333
adafruit/Adafruit SSD1306 @ ^2.5.13
34-
build_flags = ${ikoka_nrf52.build_flags}
34+
build_flags = ${ikoka_handheld_nrf.build_flags}
3535
-D DISPLAY_CLASS=SSD1306Display
3636
-D DISPLAY_ROTATION=0
3737
-D PIN_WIRE_SCL=D6
@@ -42,62 +42,62 @@ build_flags = ${ikoka_nrf52.build_flags}
4242
-D OFFLINE_QUEUE_SIZE=256
4343
-D QSPIFLASH=1
4444
-I examples/companion_radio/ui-new
45-
build_src_filter = ${ikoka_nrf52.build_src_filter}
45+
build_src_filter = ${ikoka_handheld_nrf.build_src_filter}
4646
+<helpers/ui/SSD1306Display.cpp>
4747
+<../examples/companion_radio/ui-new/UITask.cpp>
4848
+<../examples/companion_radio/*.cpp>
4949

5050
[env:ikoka_handheld_nrf_e22_30dbm_096_companion_radio_ble]
5151
extends = ikoka_nrf52
52-
build_flags = ${ikoka_nrf52_ssd1306_companion.build_flags}
52+
build_flags = ${ikoka_handheld_nrf_ssd1306_companion.build_flags}
5353
-D BLE_PIN_CODE=123456
5454
-D LORA_TX_POWER=20
55-
build_src_filter = ${ikoka_nrf52_ssd1306_companion.build_src_filter}
55+
build_src_filter = ${ikoka_handheld_nrf_ssd1306_companion.build_src_filter}
5656
+<helpers/nrf52/SerialBLEInterface.cpp>
5757

5858
[env:ikoka_handheld_nrf_e22_30dbm_096_rotated_companion_radio_ble]
5959
extends = ikoka_nrf52
60-
build_flags = ${ikoka_nrf52_ssd1306_companion.build_flags}
60+
build_flags = ${ikoka_handheld_nrf_ssd1306_companion.build_flags}
6161
-D BLE_PIN_CODE=123456
6262
-D LORA_TX_POWER=20
63-
-D DISPLAY_ROTATION=2
64-
build_src_filter = ${ikoka_nrf52_ssd1306_companion.build_src_filter}
63+
-D DISPLAY_ROTATION=2
64+
build_src_filter = ${ikoka_handheld_nrf_ssd1306_companion.build_src_filter}
6565
+<helpers/nrf52/SerialBLEInterface.cpp>
6666

6767
[env:ikoka_handheld_nrf_e22_30dbm_096_companion_radio_usb]
6868
extends = ikoka_nrf52
69-
build_flags = ${ikoka_nrf52_ssd1306_companion.build_flags}
69+
build_flags = ${ikoka_handheld_nrf_ssd1306_companion.build_flags}
7070
-D LORA_TX_POWER=20
71-
build_src_filter = ${ikoka_nrf52_ssd1306_companion.build_src_filter}
71+
build_src_filter = ${ikoka_handheld_nrf_ssd1306_companion.build_src_filter}
7272

7373
[env:ikoka_handheld_nrf_e22_30dbm_096_rotated_companion_radio_usb]
7474
extends = ikoka_nrf52
75-
build_flags = ${ikoka_nrf52_ssd1306_companion.build_flags}
75+
build_flags = ${ikoka_handheld_nrf_ssd1306_companion.build_flags}
7676
-D LORA_TX_POWER=20
7777
-D DISPLAY_ROTATION=2
78-
build_src_filter = ${ikoka_nrf52_ssd1306_companion.build_src_filter}
78+
build_src_filter = ${ikoka_handheld_nrf_ssd1306_companion.build_src_filter}
7979

8080
[env:ikoka_handheld_nrf_e22_30dbm_repeater]
8181
extends = ikoka_nrf52
8282
build_flags =
83-
${ikoka_nrf52.build_flags}
83+
${ikoka_handheld_nrf.build_flags}
8484
-D ADVERT_NAME='"ikoka_handheld Repeater"'
8585
-D ADVERT_LAT=0.0
8686
-D ADVERT_LON=0.0
8787
-D ADMIN_PASSWORD='"password"'
8888
-D MAX_NEIGHBOURS=50
89-
-D LORA_TX_POWER=20
90-
build_src_filter = ${ikoka_nrf52.build_src_filter}
89+
-D LORA_TX_POWER=20
90+
build_src_filter = ${ikoka_handheld_nrf.build_src_filter}
9191
+<../examples/simple_repeater/*.cpp>
9292

9393
[env:ikoka_handheld_nrf_e22_30dbm_room_server]
9494
extends = ikoka_nrf52
9595
build_flags =
96-
${ikoka_nrf52.build_flags}
96+
${ikoka_handheld_nrf.build_flags}
9797
-D ADVERT_NAME='"ikoka_handheld Room"'
9898
-D ADVERT_LAT=0.0
9999
-D ADVERT_LON=0.0
100100
-D ADMIN_PASSWORD='"password"'
101-
-D LORA_TX_POWER=20
102-
build_src_filter = ${ikoka_nrf52.build_src_filter}
101+
-D LORA_TX_POWER=20
102+
build_src_filter = ${ikoka_handheld_nrf.build_src_filter}
103103
+<../examples/simple_room_server/*.cpp>

variants/ikoka_nano_nrf/platformio.ini

Lines changed: 36 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,178 +1,148 @@
1-
[nrf52840_xiao]
1+
[ikoka_nano_nrf]
22
extends = nrf52_base
3-
platform_packages =
4-
toolchain-gccarmnoneeabi@~1.100301.0
5-
framework-arduinoadafruitnrf52
63
board = seeed-xiao-afruitnrf52-nrf52840
74
board_build.ldscript = boards/nrf52840_s140_v7.ld
85
build_flags = ${nrf52_base.build_flags}
6+
${sensor_base.build_flags}
97
-D NRF52_PLATFORM -D XIAO_NRF52
108
-I lib/nrf52/s140_nrf52_7.3.0_API/include
119
-I lib/nrf52/s140_nrf52_7.3.0_API/include/nrf52
12-
lib_ignore =
13-
BluetoothOTA
14-
lvgl
15-
lib5b4
16-
lib_deps =
17-
${nrf52_base.lib_deps}
18-
rweather/Crypto @ ^0.4.0
19-
adafruit/Adafruit INA3221 Library @ ^1.0.1
20-
adafruit/Adafruit INA219 @ ^1.2.3
21-
adafruit/Adafruit AHTX0 @ ^2.0.5
22-
adafruit/Adafruit BME280 Library @ ^2.3.0
23-
adafruit/Adafruit SSD1306 @ ^2.5.13
24-
25-
[ikoka_nano_nrf_baseboard]
26-
extends = nrf52840_xiao
27-
;board_build.ldscript = boards/nrf52840_s140_v7.ld
28-
build_flags = ${nrf52840_xiao.build_flags}
29-
-D P_LORA_TX_LED=11
3010
-I variants/ikoka_nano_nrf
3111
-I src/helpers/nrf52
12+
-D P_LORA_TX_LED=11
3213
-D DISPLAY_CLASS=NullDisplayDriver
3314
-D RADIO_CLASS=CustomSX1262
3415
-D WRAPPER_CLASS=CustomSX1262Wrapper
3516
-D P_LORA_DIO_1=D1
36-
; -D P_LORA_BUSY=D3
37-
-D P_LORA_BUSY=D2 ; specific to ikoka nano variant.
38-
; -D P_LORA_RESET=D2
39-
-D P_LORA_RESET=D3 ; specific to ikoka nano variant.
40-
; -D P_LORA_NSS=D4
41-
-D P_LORA_NSS=D0 ; specific to ikoka nano variant.
42-
; -D SX126X_RXEN=D5
17+
-D P_LORA_BUSY=D2
18+
-D P_LORA_RESET=D3
19+
-D P_LORA_NSS=D0
4320
-D SX126X_RXEN=D7
4421
-D SX126X_TXEN=RADIOLIB_NC
4522
-D SX126X_DIO2_AS_RF_SWITCH=1
4623
-D SX126X_DIO3_TCXO_VOLTAGE=1.8
4724
-D SX126X_CURRENT_LIMIT=140
4825
-D SX126X_RX_BOOSTED_GAIN=1
49-
-D PIN_WIRE_SCL=5 ; specific to ikoka nano variant.
50-
-D PIN_WIRE_SDA=4 ; specific to ikoka nano variant.
51-
-D ENV_INCLUDE_AHTX0=1
52-
-D ENV_INCLUDE_BME280=1
53-
-D ENV_INCLUDE_INA3221=1
54-
-D ENV_INCLUDE_INA219=1
26+
-D PIN_WIRE_SCL=5
27+
-D PIN_WIRE_SDA=4
28+
-UENV_INCLUDE_GPS
5529
debug_tool = jlink
5630
upload_protocol = nrfutil
57-
58-
59-
;;; abstracted hardware variants
31+
lib_deps = ${nrf52_base.lib_deps}
32+
${sensor_base.lib_deps}
6033

6134
[ikoka_nano_nrf_e22_22dbm]
62-
extends = ikoka_nano_nrf_baseboard
35+
extends = ikoka_nano_nrf
6336
; No PA in this model, full 22dBm
6437
build_flags =
65-
${ikoka_nano_nrf_baseboard.build_flags}
38+
${ikoka_nano_nrf.build_flags}
6639
-D MANUFACTURER_STRING='"Ikoka Nano-E22-22dBm (Xiao_nrf52)"'
6740
-D LORA_TX_POWER=22
68-
build_src_filter = ${nrf52840_xiao.build_src_filter}
41+
build_src_filter = ${ikoka_nano_nrf.build_src_filter}
6942
+<helpers/*.cpp>
7043
+<helpers/sensors>
7144
+<helpers/ui/NullDisplayDriver.cpp>
7245
+<../variants/ikoka_nano_nrf>
7346

7447
[ikoka_nano_nrf_e22_30dbm]
75-
extends = ikoka_nano_nrf_baseboard
48+
extends = ikoka_nano_nrf
7649
; limit txpower to 20dBm on E22-900M30S. Anything higher will
7750
; cause distortion in the PA output. 20dBm in -> 30dBm out
7851
build_flags =
79-
${ikoka_nano_nrf_baseboard.build_flags}
52+
${ikoka_nano_nrf.build_flags}
8053
-D MANUFACTURER_STRING='"Ikoka Nano-E22-30dBm (Xiao_nrf52)"'
8154
-D LORA_TX_POWER=20
82-
build_src_filter = ${nrf52840_xiao.build_src_filter}
55+
build_src_filter = ${ikoka_nano_nrf.build_src_filter}
8356
+<helpers/*.cpp>
8457
+<helpers/sensors>
8558
+<helpers/ui/NullDisplayDriver.cpp>
8659
+<../variants/ikoka_nano_nrf>
8760

8861
[ikoka_nano_nrf_e22_33dbm]
89-
extends = ikoka_nano_nrf_baseboard
62+
extends = ikoka_nano_nrf
9063
; limit txpower to 9dBm on E22-900M33S to avoid hardware damage
9164
; to the rf amplifier frontend. 9dBm in -> 33dBm out
9265
build_flags =
93-
${ikoka_nano_nrf_baseboard.build_flags}
66+
${ikoka_nano_nrf.build_flags}
9467
-D MANUFACTURER_STRING='"Ikoka Nano-E22-33dBm (Xiao_nrf52)"'
9568
-D LORA_TX_POWER=9
96-
build_src_filter = ${nrf52840_xiao.build_src_filter}
69+
build_src_filter = ${ikoka_nano_nrf.build_src_filter}
9770
+<helpers/*.cpp>
9871
+<helpers/sensors>
9972
+<helpers/ui/NullDisplayDriver.cpp>
10073
+<../variants/ikoka_nano_nrf>
10174

102-
;;; abstracted firmware roles
103-
10475
[ikoka_nano_nrf_companion_radio_ble]
105-
extends = ikoka_nano_nrf_baseboard
76+
extends = ikoka_nano_nrf
10677
board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld
10778
board_upload.maximum_size = 708608
10879
build_flags =
109-
${ikoka_nano_nrf_baseboard.build_flags}
80+
${ikoka_nano_nrf.build_flags}
11081
-D MAX_CONTACTS=350
11182
-D MAX_GROUP_CHANNELS=40
11283
-D BLE_PIN_CODE=123456
11384
-D OFFLINE_QUEUE_SIZE=256
11485
-I examples/companion_radio/ui-new
86+
-D QSPIFLASH=1
11587
; -D BLE_DEBUG_LOGGING=1
11688
; -D MESH_PACKET_LOGGING=1
11789
; -D MESH_DEBUG=1
118-
build_src_filter = ${ikoka_nano_nrf_baseboard.build_src_filter}
90+
build_src_filter = ${ikoka_nano_nrf.build_src_filter}
11991
+<helpers/nrf52/SerialBLEInterface.cpp>
12092
+<../examples/companion_radio/*.cpp>
12193
+<../examples/companion_radio/ui-new/*.cpp>
12294
lib_deps =
123-
${ikoka_nano_nrf_baseboard.lib_deps}
95+
${ikoka_nano_nrf.lib_deps}
12496
densaugeo/base64 @ ~1.4.0
12597

12698
[ikoka_nano_nrf_companion_radio_usb]
127-
extends = ikoka_nano_nrf_baseboard
99+
extends = ikoka_nano_nrf
128100
board_build.ldscript = boards/nrf52840_s140_v7_extrafs.ld
129101
board_upload.maximum_size = 708608
130102
build_flags =
131-
${ikoka_nano_nrf_baseboard.build_flags}
103+
${ikoka_nano_nrf.build_flags}
132104
-D MAX_CONTACTS=350
133105
-D MAX_GROUP_CHANNELS=40
134106
-I examples/companion_radio/ui-new
107+
-D QSPIFLASH=1
135108
; -D MESH_PACKET_LOGGING=1
136109
; -D MESH_DEBUG=1
137-
build_src_filter = ${ikoka_nano_nrf_baseboard.build_src_filter}
110+
build_src_filter = ${ikoka_nano_nrf.build_src_filter}
138111
+<helpers/nrf52/SerialBLEInterface.cpp>
139112
+<../examples/companion_radio/*.cpp>
140113
+<../examples/companion_radio/ui-new/*.cpp>
141114
lib_deps =
142-
${ikoka_nano_nrf_baseboard.lib_deps}
115+
${ikoka_nano_nrf.lib_deps}
143116
densaugeo/base64 @ ~1.4.0
144117

145118
[ikoka_nano_nrf_repeater]
146-
extends = ikoka_nano_nrf_baseboard
119+
extends = ikoka_nano_nrf
147120
build_flags =
148-
${ikoka_nano_nrf_baseboard.build_flags}
121+
${ikoka_nano_nrf.build_flags}
149122
-D ADVERT_NAME='"Ikoka Nano Repeater"'
150123
-D ADVERT_LAT=0.0
151124
-D ADVERT_LON=0.0
152125
-D ADMIN_PASSWORD='"password"'
153126
-D MAX_NEIGHBOURS=50
154127
; -D MESH_PACKET_LOGGING=1
155128
; -D MESH_DEBUG=1
156-
build_src_filter = ${ikoka_nano_nrf_baseboard.build_src_filter}
129+
build_src_filter = ${ikoka_nano_nrf.build_src_filter}
157130
+<../examples/simple_repeater/*.cpp>
158131

159132
[ikoka_nano_nrf_room_server]
160-
extends = ikoka_nano_nrf_baseboard
133+
extends = ikoka_nano_nrf
161134
build_flags =
162-
${ikoka_nano_nrf_baseboard.build_flags}
135+
${ikoka_nano_nrf.build_flags}
163136
-D ADVERT_NAME='"Ikoka Nano Room"'
164137
-D ADVERT_LAT=0.0
165138
-D ADVERT_LON=0.0
166139
-D ADMIN_PASSWORD='"password"'
167140
; -D MESH_PACKET_LOGGING=1
168141
; -D MESH_DEBUG=1
169-
build_src_filter = ${ikoka_nano_nrf_baseboard.build_src_filter}
142+
build_src_filter = ${ikoka_nano_nrf.build_src_filter}
170143
+<../examples/simple_room_server/*.cpp>
171144

172-
;;; hardware + firmware variants
173-
174145
;;; 22dBm EBYTE E22-900M22 variants
175-
176146
[env:ikoka_nano_nrf_22dbm_companion_radio_usb]
177147
extends =
178148
ikoka_nano_nrf_e22_22dbm
@@ -219,7 +189,6 @@ build_src_filter =
219189

220190

221191
;;; 30dBm EBYTE E22-900M30 variants
222-
223192
[env:ikoka_nano_nrf_30dbm_companion_radio_usb]
224193
extends =
225194
ikoka_nano_nrf_e22_30dbm
@@ -266,7 +235,6 @@ build_src_filter =
266235

267236

268237
;;; 33dBm EBYTE E22-900M33 variants
269-
270238
[env:ikoka_nano_nrf_33dbm_companion_radio_usb]
271239
extends =
272240
ikoka_nano_nrf_e22_33dbm

0 commit comments

Comments
 (0)