#pragma once #include namespace iflytop { namespace zscanprotocol { #pragma pack(1) /** * @brief 消息格式 12bit from,1bit emergency * H L * [1] [4bit] [8bit] [8bit] [4bit/4bit] * , from to frameNum/frameId */ // 数值越大优先级越低 typedef enum { kcmd, kreceipt, kerror_receipt, kreport, } packet_type_t; typedef enum { kpriority_emergency_report = 7, kpriority_cmd = 8, kpriority_receipt = 9, kpriority_report = 10, } priority_t; typedef struct { uint8_t frameNumAndFrameId; uint8_t to; uint8_t from; uint8_t pad; } zcanid_t; typedef struct { uint8_t ptype; uint8_t index; uint16_t function_id; uint8_t params[]; } zcanbus_packet_t; #pragma pack() } // namespace zscanprotocol namespace err { } } // namespace iflytop