fix ctypes for uwb / spi stuff
This commit is contained in:
parent
e1647fe331
commit
69c33690af
2 changed files with 32 additions and 8 deletions
|
@ -785,8 +785,8 @@ def normalize_name(name):
|
||||||
name = name.lower()
|
name = name.lower()
|
||||||
else:
|
else:
|
||||||
name = re.sub(
|
name = re.sub(
|
||||||
r"([a-zA-Z])([A-Z][a-z])",
|
r"(([a-z])([A-Z]))|(([a-zA-Z])([A-Z][a-z]))",
|
||||||
r"\1_\2",
|
r"\2\5_\3\6",
|
||||||
name
|
name
|
||||||
).lower()
|
).lower()
|
||||||
|
|
||||||
|
|
|
@ -61,15 +61,22 @@ class MultipinLedConfig(LedConfig, led_type=LedType.MULTIPIN):
|
||||||
gpio_blue: int = field(metadata={"format": SimpleFormat('B')})
|
gpio_blue: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class BoardSPIConfig(StructType):
|
||||||
|
"""
|
||||||
|
configuration for spi bus used for ETH or UWB
|
||||||
|
"""
|
||||||
|
gpio_miso: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
|
gpio_mosi: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
|
gpio_clk: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class UWBConfig(StructType):
|
class UWBConfig(StructType):
|
||||||
"""
|
"""
|
||||||
configuration for the connection to the UWB module
|
configuration for the connection to the UWB module
|
||||||
"""
|
"""
|
||||||
enable: bool = field(metadata={"format": BoolFormat()})
|
enable: bool = field(metadata={"format": BoolFormat()})
|
||||||
gpio_miso: int = field(metadata={"format": SimpleFormat('B')})
|
|
||||||
gpio_mosi: int = field(metadata={"format": SimpleFormat('B')})
|
|
||||||
gpio_clk: int = field(metadata={"format": SimpleFormat('B')})
|
|
||||||
gpio_cs: int = field(metadata={"format": SimpleFormat('B')})
|
gpio_cs: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
gpio_irq: int = field(metadata={"format": SimpleFormat('B')})
|
gpio_irq: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
gpio_rst: int = field(metadata={"format": SimpleFormat('B')})
|
gpio_rst: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
|
@ -77,6 +84,17 @@ class UWBConfig(StructType):
|
||||||
gpio_exton: int = field(metadata={"format": SimpleFormat('B')})
|
gpio_exton: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class UplinkEthConfig(StructType):
|
||||||
|
"""
|
||||||
|
configuration for the connection to the ETH module
|
||||||
|
"""
|
||||||
|
enable: bool = field(metadata={"format": BoolFormat()})
|
||||||
|
gpio_cs: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
|
gpio_int: int = field(metadata={"format": SimpleFormat('B')})
|
||||||
|
gpio_rst: int = field(metadata={"format": SimpleFormat('b')})
|
||||||
|
|
||||||
|
|
||||||
@unique
|
@unique
|
||||||
class BoardType(EnumSchemaByNameMixin, IntEnum):
|
class BoardType(EnumSchemaByNameMixin, IntEnum):
|
||||||
CUSTOM = 0x00
|
CUSTOM = 0x00
|
||||||
|
@ -110,33 +128,39 @@ class BoardConfig(StructType, union_type_field="board"):
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class CustomBoardConfig(BoardConfig, board=BoardType.CUSTOM):
|
class CustomBoardConfig(BoardConfig, board=BoardType.CUSTOM):
|
||||||
|
spi: BoardSPIConfig = field(metadata={"as_definition": True})
|
||||||
uwb: UWBConfig = field(metadata={"as_definition": True})
|
uwb: UWBConfig = field(metadata={"as_definition": True})
|
||||||
|
eth: UplinkEthConfig = field(metadata={"as_definition": True})
|
||||||
led: LedConfig = field(metadata={"as_definition": True})
|
led: LedConfig = field(metadata={"as_definition": True})
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class DevkitMBoardConfig(BoardConfig, board=BoardType.ESP32_C3_DEVKIT_M_1):
|
class DevkitMBoardConfig(BoardConfig, board=BoardType.ESP32_C3_DEVKIT_M_1):
|
||||||
|
spi: BoardSPIConfig = field(metadata={"as_definition": True})
|
||||||
uwb: UWBConfig = field(metadata={"as_definition": True})
|
uwb: UWBConfig = field(metadata={"as_definition": True})
|
||||||
|
eth: UplinkEthConfig = field(metadata={"as_definition": True})
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class Esp32SBoardConfig(BoardConfig, board=BoardType.ESP32_C3_32S):
|
class Esp32SBoardConfig(BoardConfig, board=BoardType.ESP32_C3_32S):
|
||||||
|
spi: BoardSPIConfig = field(metadata={"as_definition": True})
|
||||||
uwb: UWBConfig = field(metadata={"as_definition": True})
|
uwb: UWBConfig = field(metadata={"as_definition": True})
|
||||||
|
eth: UplinkEthConfig = field(metadata={"as_definition": True})
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class UwbBoardConfig(BoardConfig, board=BoardType.C3NAV_UWB_BOARD):
|
class UwbBoardConfig(BoardConfig, board=BoardType.C3NAV_UWB_BOARD):
|
||||||
pass
|
eth: UplinkEthConfig = field(metadata={"as_definition": True})
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class LocationPCBRev0Dot1BoardConfig(BoardConfig, board=BoardType.C3NAV_LOCATION_PCB_REV_0_1):
|
class LocationPCBRev0Dot1BoardConfig(BoardConfig, board=BoardType.C3NAV_LOCATION_PCB_REV_0_1):
|
||||||
pass
|
eth: UplinkEthConfig = field(metadata={"as_definition": True})
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class LocationPCBRev0Dot2BoardConfig(BoardConfig, board=BoardType.C3NAV_LOCATION_PCB_REV_0_2):
|
class LocationPCBRev0Dot2BoardConfig(BoardConfig, board=BoardType.C3NAV_LOCATION_PCB_REV_0_2):
|
||||||
pass
|
eth: UplinkEthConfig = field(metadata={"as_definition": True})
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue