mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 12:46:08 +01:00
This is determined by looking at the `pdk` key in the config. If `pdk` doesn't exist, `id` will be used (assuming that the structure of the shuttle ID follows ttX where X=[sky, ihp, gf]). If any part fails, it will fall back to `openframe_sky130`. The pinout can also be manually controlled by setting the `datasheet_config.pinout` key in the shuttle config, and that will be used verbatim. Note that `datasheet_config.pinout` is not checked, so it *must* be exact, otherwise it will cause the datasheet build to fail.
43 lines
944 B
Python
43 lines
944 B
Python
from typing import List, Literal, TypedDict
|
|
|
|
from tech import TechName
|
|
|
|
|
|
class ArtworkEntryType(TypedDict):
|
|
"""TypedDict for artwork, used by `config.DatasheetConfig`"""
|
|
|
|
id: str
|
|
rotate: str
|
|
|
|
|
|
class DatasheetConfig(TypedDict):
|
|
"""TypedDict for the datasheet config within Tiny Tapeout's config.yaml file"""
|
|
|
|
pinout: Literal[
|
|
"caravel",
|
|
"openframe",
|
|
"openframe_sky130",
|
|
"customframe_ihp_sg13g2",
|
|
"customframe_gf180mcud",
|
|
]
|
|
theme_override_colour: str
|
|
show_chip_viewer: bool
|
|
link_disable_colour: bool
|
|
link_override_colour: str
|
|
qrcode_follows_theme: bool
|
|
include: List[str]
|
|
disabled: List[str]
|
|
artwork: List[ArtworkEntryType]
|
|
|
|
|
|
class Config(TypedDict):
|
|
"""TypedDict for Tiny Tapeout's config.yaml file."""
|
|
|
|
id: str
|
|
name: str
|
|
project_dir: str
|
|
end_date: str
|
|
openframe: bool
|
|
pdk: TechName
|
|
datasheet_config: DatasheetConfig
|