@@ -196,6 +196,7 @@ def read_defines_from(header_file, defines_dict):
196196
197197if board_header_basename == "amethyst_fpga.h" :
198198 defines ['PICO_RP2350' ] = DefineType ('PICO_RP2350' , 1 , 1 , - 1 )
199+ defines ['PICO_RP2350A' ] = DefineType ('PICO_RP2350A' , 0 , 0 , - 1 )
199200
200201with open (board_header ) as header_fh :
201202 last_ifndef = None
@@ -347,7 +348,7 @@ def read_defines_from(header_file, defines_dict):
347348 raise Exception ("{}:{} Include-guard #define {} is missing an #ifndef" .format (board_header , lineno , name ))
348349 if value :
349350 raise Exception ("{}:{} Include-guard #define {} shouldn't have a value" .format (board_header , lineno , name ))
350- if len (defines ) and not ( len ( defines ) == 1 and defines [ list ( defines . keys ())[ 0 ]] .lineno < 0 ):
351+ if any (defines [ d ] .lineno >= 0 for d in defines ):
351352 raise Exception ("{}:{} Include-guard #define {} should be the first define" .format (board_header , lineno , name ))
352353 if name == expected_include_guard :
353354 has_include_guard = True
@@ -387,10 +388,15 @@ def read_defines_from(header_file, defines_dict):
387388 other_chip = 'RP2350'
388389 elif cmake_settings ['PICO_PLATFORM' ].value == "rp2350" :
389390 other_chip = 'RP2040'
390- if 'PICO_RP2350A' in defines and defines ['PICO_RP2350A' ].resolved_value == 1 :
391- chip = 'RP2350A'
391+ if 'PICO_RP2350B' in defines :
392+ raise Exception ("{} sets #define {} {} (should probably be #define {} {})" .format (board_header , 'PICO_RP2350B' , defines ['PICO_RP2350B' ].resolved_value , 'PICO_RP2350A' , 1 - defines ['PICO_RP2350B' ].resolved_value ))
393+ if 'PICO_RP2350A' not in defines :
394+ raise Exception ("{} has no #define for {} (set to 1 for RP2350A, or 0 for RP2350B)" .format (board_header , 'PICO_RP2350A' ))
392395 else :
393- chip = 'RP2350B'
396+ if defines ['PICO_RP2350A' ].resolved_value == 1 :
397+ chip = 'RP2350A'
398+ else :
399+ chip = 'RP2350B'
394400 if not board_header .endswith ("amethyst_fpga.h" ):
395401 if 'PICO_RP2350_A2_SUPPORTED' not in cmake_default_settings :
396402 raise Exception ("{} uses chip {} but is missing a pico_cmake_set_default {} comment" .format (board_header , chip , 'PICO_RP2350_A2_SUPPORTED' ))
0 commit comments