1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| """ 区域计算 CAN-FD 消息定义 """
class CANMessage: def __init__(self, msg_id, name, signals): self.id = msg_id self.name = name self.signals = signals
DMS_STATUS = CANMessage(0x100, "DMS_Status", { 'gaze_pitch': (16, -90, 90, 'deg'), 'gaze_yaw': (16, -90, 90, 'deg'), 'perclos': (8, 0, 100, '%'), 'blink_rate': (8, 0, 60, '/min'), 'head_pitch': (12, -45, 45, 'deg'), 'head_yaw': (12, -90, 90, 'deg'), 'drowsiness_level': (4, 0, 3, 'level'), 'distraction_level': (4, 0, 3, 'level'), 'confidence': (8, 0, 100, '%'), })
OMS_STATUS = CANMessage(0x200, "OMS_Status", { 'occupant_class': (4, 0, 5, 'enum'), 'posture_type': (4, 0, 7, 'enum'), 'belt_status': (4, 0, 3, 'enum'), 'child_seat': (1, 0, 1, 'bool'), 'confidence': (8, 0, 100, '%'), })
CPD_STATUS = CANMessage(0x300, "CPD_Status", { 'child_detected': (1, 0, 1, 'bool'), 'location': (4, 0, 7, 'enum'), 'breath_rate': (8, 0, 60, '/min'), 'confidence': (8, 0, 100, '%'), })
print(f"DMS消息ID: 0x{DMS_STATUS.id:X}") print(f"OMS消息ID: 0x{OMS_STATUS.id:X}") print(f"CPD消息ID: 0x{CPD_STATUS.id:X}")
|