2525}
2626
2727
28- def get_mcu (name ):
29- if '52832' in name :
30- return 52832
31- elif '52833' in name :
32- return 52833
33- else :
34- # most of the board is 52840
35- return 52840
36-
37-
38- def build_upload (name ):
39- mcu = get_mcu (name )
28+ def build_upload (mcu , name ):
4029 print ("# Upload" )
4130 print (f"{ name } .bootloader.tool=bootburn" )
4231 print (f"{ name } .upload.tool=nrfutil" )
@@ -53,7 +42,7 @@ def build_upload(name):
5342 print ()
5443
5544
56- def build_header (name , variant , vendor_name , product_name , boarddefine , vid , pid_list ):
45+ def build_header (mcu , name , variant , vendor_name , product_name , boarddefine , vid , pid_list ):
5746 prettyname = vendor_name + " " + product_name
5847 print ()
5948 print ("# -----------------------------------" )
@@ -68,7 +57,7 @@ def build_header(name, variant, vendor_name, product_name, boarddefine, vid, pid
6857 print (f"{ name } .pid.{ i } ={ pid_list [i ]} " )
6958 print ()
7059
71- build_upload (name )
60+ build_upload (mcu , name )
7261
7362 print ("# Build" )
7463 print (f"{ name } .build.mcu=cortex-m4" )
@@ -79,7 +68,6 @@ def build_header(name, variant, vendor_name, product_name, boarddefine, vid, pid
7968 print (f'{ name } .build.usb_manufacturer="{ vendor_name } "' )
8069 print (f'{ name } .build.usb_product="{ product_name } "' )
8170
82- mcu = get_mcu (name )
8371 mcu_info = mcu_dict [mcu ]
8472 print (f"{ name } .build.extra_flags={ mcu_info ['extra_flags' ]} " )
8573 print (f"{ name } .build.ldscript={ mcu_info ['ldscript' ]} " )
@@ -91,9 +79,8 @@ def build_header(name, variant, vendor_name, product_name, boarddefine, vid, pid
9179 print ()
9280
9381
94- def build_softdevice (name ):
82+ def build_softdevice (mcu , name ):
9583 print ("# Menu: SoftDevice" )
96- mcu = get_mcu (name )
9784 if mcu == 52832 :
9885 print (f"{ name } .menu.softdevice.s132v6=S132 6.1.1" )
9986 print (f"{ name } .menu.softdevice.s132v6.build.sd_name=s132" )
@@ -135,15 +122,16 @@ def build_debug_output(name):
135122 print (f"{ name } .menu.debug_output.rtt=Segger RTT" )
136123 print (f"{ name } .menu.debug_output.rtt.build.logger_flags=-DCFG_LOGGER=2 -DCFG_TUSB_DEBUG=CFG_DEBUG -DSEGGER_RTT_MODE_DEFAULT=SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL" )
137124
125+
138126def build_global_menu ():
139127 print ("menu.softdevice=SoftDevice" )
140128 print ("menu.debug=Debug Level" )
141129 print ("menu.debug_output=Debug Port" )
142130
143131
144- def make_board (name , variant , vendor_name , product_name , boarddefine , vid , pid_list ):
145- build_header (name , variant , vendor_name , product_name , boarddefine , vid , pid_list )
146- build_softdevice (name )
132+ def make_board (mcu , name , variant , vendor_name , product_name , boarddefine , vid , pid_list ):
133+ build_header (mcu , name , variant , vendor_name , product_name , boarddefine , vid , pid_list )
134+ build_softdevice (mcu , name )
147135 build_debug (name )
148136 build_debug_output (name )
149137
@@ -158,37 +146,37 @@ def make_board(name, variant, vendor_name, product_name, boarddefine, vid, pid_l
158146# ------------------------------
159147
160148adafruit_boards_list = [
161- ["feather52832" , "feather_nrf52832" , "Adafruit" , "Feather nRF52832" , "NRF52832_FEATHER" ,
149+ [52832 , "feather52832" , "feather_nrf52832" , "Adafruit" , "Feather nRF52832" , "NRF52832_FEATHER" ,
162150 "0x239A" , []],
163151
164- ["feather52840" , "feather_nrf52840_express" , "Adafruit" , "Feather nRF52840 Express" , "NRF52840_FEATHER" ,
152+ [52840 , "feather52840" , "feather_nrf52840_express" , "Adafruit" , "Feather nRF52840 Express" , "NRF52840_FEATHER" ,
165153 "0x239A" , ["0x8029" , "0x0029" , "0x002A" , "0x802A" ]],
166154
167- ["feather52840sense" , "feather_nrf52840_sense" , "Adafruit" , "Feather nRF52840 Sense" , "NRF52840_FEATHER_SENSE" ,
155+ [52840 , "feather52840sense" , "feather_nrf52840_sense" , "Adafruit" , "Feather nRF52840 Sense" , "NRF52840_FEATHER_SENSE" ,
168156 "0x239A" , ["0x8087" , "0x0087" , "0x0088" , "0x8088" ]],
169157
170- ["feather_nrf52840_sense_tft" , "feather_nrf52840_sense_tft" , "Adafruit" , "Feather nRF52840 Sense TFT" , "NRF52840_FEATHER_SENSE_TFT" ,
158+ [52840 , "feather_nrf52840_sense_tft" , "feather_nrf52840_sense_tft" , "Adafruit" , "Feather nRF52840 Sense TFT" , "NRF52840_FEATHER_SENSE_TFT" ,
171159 "0x239A" , ["0x8087" , "0x0087" , "0x0088" , "0x8088" ]], # TODO shared VID with sense for now
172160
173- ["itsybitsy52840" , "itsybitsy_nrf52840_express" , "Adafruit" , "ItsyBitsy nRF52840 Express" , "NRF52840_ITSYBITSY -DARDUINO_NRF52_ITSYBITSY" ,
161+ [52840 , "itsybitsy52840" , "itsybitsy_nrf52840_express" , "Adafruit" , "ItsyBitsy nRF52840 Express" , "NRF52840_ITSYBITSY -DARDUINO_NRF52_ITSYBITSY" ,
174162 "0x239A" , ["0x8051" , "0x0051" , "0x0052" , "0x8052" ]],
175163
176- ["cplaynrf52840" , "circuitplayground_nrf52840" , "Adafruit" , "Circuit Playground Bluefruit" , "NRF52840_CIRCUITPLAY" ,
164+ [52840 , "cplaynrf52840" , "circuitplayground_nrf52840" , "Adafruit" , "Circuit Playground Bluefruit" , "NRF52840_CIRCUITPLAY" ,
177165 "0x239A" , ["0x8045" , "0x0045" , "0x8046" ]],
178166
179- ["cluenrf52840" , "clue_nrf52840" , "Adafruit" , "CLUE" , "NRF52840_CLUE" ,
167+ [52840 , "cluenrf52840" , "clue_nrf52840" , "Adafruit" , "CLUE" , "NRF52840_CLUE" ,
180168 "0x239A" , ["0x8071" , "0x0071" , "0x8072" ]],
181169
182- ["ledglasses_nrf52840" , "ledglasses_nrf52840" , "Adafruit" , "LED Glasses Driver nRF52840" , "NRF52840_LED_GLASSES" ,
170+ [52840 , "ledglasses_nrf52840" , "ledglasses_nrf52840" , "Adafruit" , "LED Glasses Driver nRF52840" , "NRF52840_LED_GLASSES" ,
183171 "0x239A" , ["0x810D" , "0x010D" , "0x810E" ]],
184172
185- ["mdbt50qrx" , "raytac_mdbt50q_rx" , "Raytac" , "nRF52840 Dongle" , "MDBT50Q_RX" ,
173+ [52840 , "mdbt50qrx" , "raytac_mdbt50q_rx" , "Raytac" , "nRF52840 Dongle" , "MDBT50Q_RX" ,
186174 "0x239A" , ["0x810B" , "0x010B" , "0x810C" ]],
187175
188- ["metro52840" , "metro_nrf52840_express" , "Adafruit" , "Metro nRF52840 Express" , "NRF52840_METRO" ,
176+ [52840 , "metro52840" , "metro_nrf52840_express" , "Adafruit" , "Metro nRF52840 Express" , "NRF52840_METRO" ,
189177 "0x239A" , ["0x803F" , "0x003F" , "0x0040" , "0x8040" ]],
190178
191- # ["feather52833", "feather_nrf52833_express", "Adafruit", "Feather nRF52833 Express", "NRF52833_FEATHER",
179+ # [52833, "feather52833", "feather_nrf52833_express", "Adafruit", "Feather nRF52833 Express", "NRF52833_FEATHER",
192180 # "0x239A", ["0x8029", "0x0029", "0x002A", "0x802A"]],
193181]
194182
@@ -207,11 +195,9 @@ def make_board(name, variant, vendor_name, product_name, boarddefine, vid, pid_l
207195print ("# -------------------------------------------------------" )
208196
209197thirdparty_boards_list = [
210- ["pca10056" , "pca10056" , "Nordic" , "nRF52840 DK" , "NRF52840_PCA10056" ,
211- "0x239A" , ["0x8029" , "0x0029" ]],
212-
213- ["particle_xenon" , "particle_xenon" , "Particle" , "Xenon" , "PARTICLE_XENON" ,
214- "0x239A" , ["0x8029" , "0x0029" ]],
198+ [52840 , "pca10056" , "pca10056" , "Nordic" , "nRF52840 DK" , "NRF52840_PCA10056" , "0x239A" , ["0x80DA" , "0x00DA" ]],
199+ [52833 , "pca10100" , "pca10100" , "Nordic" , "nRF52833 DK" , "NRF52833_PCA10100" , "0x239A" , ["0x80D8" , "0x00D8" ]],
200+ [52840 , "particle_xenon" , "particle_xenon" , "Particle" , "Xenon" , "PARTICLE_XENON" , "0x239A" , ["0x80DA" , "0x00DA" ]],
215201]
216202
217203for b in thirdparty_boards_list :
0 commit comments