diff --git a/project_info.py b/project_info.py index 90446d3..fdb27b6 100644 --- a/project_info.py +++ b/project_info.py @@ -91,6 +91,17 @@ class ProjectInfo: ) self.tiles: str = tiles + analog_pins = project_section.get("analog_pins", 0) + if not isinstance(analog_pins, int): + raise ProjectYamlError( + "Invalid value for 'analog_pins' in 'project' section, must be an integer" + ) + if analog_pins < 0 or analog_pins > 6: + raise ProjectYamlError( + "Invalid value for 'analog_pins' in 'project' section, must be between 0 and 6" + ) + self.analog_pins: int = analog_pins + language = project_section.get("language") if language is None: raise ProjectYamlError("Missing key 'language' in 'project' section") diff --git a/shuttle.py b/shuttle.py index a9c9974..3790c00 100644 --- a/shuttle.py +++ b/shuttle.py @@ -76,7 +76,7 @@ class ShuttleConfig: "name": project.unprefixed_name, "width": width, "height": height, - "analog": {i: None for i in range(len(project.info.pinout.ua))}, + "analog": {i: None for i in range(project.info.analog_pins)}, } module_config["modules"].append(module_entry)