init commit

This commit is contained in:
Ayzen
2026-03-05 14:42:33 +03:00
commit fd4618b20d
964 changed files with 325114 additions and 0 deletions
@@ -0,0 +1,89 @@
"""ctypes layouts for protocol status unions used by the driver."""
from __future__ import annotations
import ctypes
class DeviceStatusV1(ctypes.LittleEndianStructure):
"""Device status bit layout for V1 family."""
_pack_ = 1
_fields_ = [
("extRefAvailable", ctypes.c_uint8, 1),
("extRefInUse", ctypes.c_uint8, 1),
("FPGA_configured", ctypes.c_uint8, 1),
("source_locked", ctypes.c_uint8, 1),
("LO1_locked", ctypes.c_uint8, 1),
("ADC_overload", ctypes.c_uint8, 1),
("unlevel", ctypes.c_uint8, 1),
("_unused", ctypes.c_uint8, 1),
("temp_source", ctypes.c_uint8),
("temp_LO1", ctypes.c_uint8),
("temp_MCU", ctypes.c_uint8),
]
class DeviceStatusVFF(ctypes.LittleEndianStructure):
"""Device status bit layout for VFF family."""
_pack_ = 1
_fields_ = [
("source_locked", ctypes.c_uint8, 1),
("LO_locked", ctypes.c_uint8, 1),
("ADC_overload", ctypes.c_uint8, 1),
("unlevel", ctypes.c_uint8, 1),
("_unused", ctypes.c_uint8, 4),
("temp_MCU", ctypes.c_uint8),
]
class DeviceStatusVFE(ctypes.LittleEndianStructure):
"""Device status bit layout for VFE family."""
_pack_ = 1
_fields_ = [
("source_locked", ctypes.c_uint8, 1),
("LO_locked", ctypes.c_uint8, 1),
("ADC_overload", ctypes.c_uint8, 1),
("unlevel", ctypes.c_uint8, 1),
("_unused", ctypes.c_uint8, 4),
("temp_MCU", ctypes.c_uint8),
("temp_eCal", ctypes.c_uint16),
("power_heater", ctypes.c_uint16),
]
class DeviceStatusVD0(ctypes.LittleEndianStructure):
"""Device status bit layout for VD0/VE0 families."""
_pack_ = 1
_fields_ = [
("extRefAvailable", ctypes.c_uint8, 1),
("extRefInUse", ctypes.c_uint8, 1),
("FPGA_configured", ctypes.c_uint8, 1),
("source_locked", ctypes.c_uint8, 1),
("LO_locked", ctypes.c_uint8, 1),
("ADC_overload", ctypes.c_uint8, 1),
("unlevel", ctypes.c_uint8, 1),
("_unused", ctypes.c_uint8, 1),
("temp_MCU", ctypes.c_uint8),
("supply_voltage", ctypes.c_uint16),
("supply_current", ctypes.c_uint16),
]
class DeviceStatusUnion(ctypes.Union):
"""6-byte device-status union shared across hardware families."""
_pack_ = 1
_fields_ = [
("V1", DeviceStatusV1),
("VFF", DeviceStatusVFF),
("VFE", DeviceStatusVFE),
("VD0", DeviceStatusVD0),
("raw", ctypes.c_uint8 * 6),
]
assert ctypes.sizeof(DeviceStatusUnion) == 6