diff --git a/data_config.h b/data_config.h index 578a783..152f5d2 100644 --- a/data_config.h +++ b/data_config.h @@ -282,124 +282,161 @@ typedef struct TMRRelay_{ } TMRRelay; #pragma pack(1) -typedef struct { - uint8_t head[3]; // 固定值:0xAA55AA - uint8_t cmd; // 命令 - int len; // 数据长度 - uint8_t crc; // 数据 CRC 校验和 - char data[0]; // 文件内容 -} PackageHead; - +// kUpgradeCard typedef struct { uint8_t head[3]; // 固定值:0xAA55AA uint8_t cmd; - uint8_t code; + uint8_t version; // 版本号,默认为1 int len; -} CommonRsp; - -typedef struct { - uint8_t card_id; // 0xff是本机,其它子卡是1~15 + uint8_t card_id; + uint8_t crc; char data[0]; } UpgradeCardReq; typedef struct { - uint8_t code; // 0: 上传成功 + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t code; // 0: 上传成功 } UpgradeRsp; +// kUpgradeProgress typedef struct { - uint8_t card_id; // 0xff是本机,其它子卡是1~15 + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t progress; +} UpgradeProgress; + +// kGetVersionInfo +typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t card_id; } GetVersionReq; typedef struct { - uint8_t fpga; // fpga版本号 - uint8_t sw; // 软件版本号 - char fpga_data[9]; // fpga版本日期 + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t fpga; // fpga版本号 + uint8_t sw; // 软件版本号 + char fpga_date[9]; // fpga版本日期 } VersionRsp; - +// kRelaySetting typedef struct { - uint8_t card_id; // 0xff是本机,其它子卡是1~15 - uint8_t led_id; // ok 灯 0xff,rx/tx 灯 0xf1,板卡测试模式 0xee,板卡状态 0xe1,其他 1 ~ 16 + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t card_id; // 0xff是本机,其它子卡是1~15 + uint8_t led_id; // ok 灯 0xff,rx/tx 灯 0xf1,板卡测试模式 0xee,板卡状态 0xe1,其他 1 ~ 16 uint8_t led_operate; // 0 OFF,1 ON,2 红色,3 绿色,4 红色1Hz闪烁,5 红色2Hz闪烁,6 绿色闪烁,7 测试状态,8 手动状态,9 工作状态 } RelaySettingReq; typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 uint8_t code; } RelaySettingRsp; - +// kRelayStatus typedef struct { - uint8_t card_id; // 0xff是本机,其它子卡是1~15 + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t card_id; } RelayStatusReq; typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t code; // 0: 成功 其它:失败 uint8_t status; // 7 测试状态,8 手动状态,9 工作状态 } RelayStatusRsp; +// kUploadConfigFile typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + int len; + uint8_t sub_cmd; // 0: 仅上传配置文件,不配置子板 1:配置所有子板 + uint8_t crc; char data[0]; -} UploadConfigReq, DownloadConfigRsp; +} UploadConfigReq; typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t code; // 子板配置错误码 + uint8_t subcard_id; // 子板编号,从1开始 + uint8_t stage; // 0: 配置开始 1:配置结束 +} UploadConfigProgress; +// kDownloadConfigFile +typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 +} DownloadConfigReq; + +typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 uint8_t code; -} UploadConfigRsp, DownloadConfigReq; + int len; + uint8_t crc; + char data[0]; +} DownloadConfigRsp; +// kConfigSubCard typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 uint8_t card_id; } ConfigSubCardReq; typedef struct { - uint8_t code; // 0: success 1: 无配置文件 2:失败 -} ConfigSubCardRsp; + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t code; // 子板配置错误码 + uint8_t subcard_id; // 子板编号,从1开始 + uint8_t stage; // 0: 配置开始 1:配置结束 +} ConfigSubCardProgress; +// kRS485BaudrateGet +typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 +} BaudrateGetReq; typedef struct { - uint8_t baudrate; // kRS485BaudrateSet, kRS485BaudrateGet -} BaudrateSetReq, BaudrateGetRsp; + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t baudrate; +} BaudrateGetRsp; +//kRS485BaudrateSet +typedef struct { + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t baudrate; +} BaudrateSetReq; typedef struct { - uint8_t code; // 0: success + uint8_t head[3]; // 固定值:0xAA55AA + uint8_t cmd; + uint8_t version; // 版本号,默认为1 + uint8_t code; } BaudrateSetRsp; -// cmd: kConfigIPv4 -typedef struct { - uint8_t ethn; // 0: eth0, 1: eth1 - char ip[16]; - char netmask[16]; - char gw[16]; -} ConfigIPv4Req; -// 配置IP的响应结构为CommonRsp -// cmd: kConfigMac -typedef struct { - uint8_t ethn; // 0: eth0, 1: eth1 - char mac[18]; -} ConfigMacReq; - -// 配置MAC的响应结构为CommonRsp - -// cmd: kRebootCard -typedef struct { - uint8_t card_id; // 0: cpu板卡, 1~15对应相应槽位 -} RebootCardReq; - -// 此命令无响应,可观察各板卡灯的变化情况 - -// cmd: kGetCardDcValue -typedef struct { - uint8_t card_id; // 1 ~ 15 -} GetCardDcValueReq; - -typedef struct { - float dc_value[4]; -} GetCardDcValueRsp; - -// cmd: kGetRelayStatus -typedef struct { - uint8_t card_id; -} GetRelayStatusReq; - -typedef struct { - uint8_t card_id; - uint16_t status; // 0: 正常 1:开出, 从低位到高位分别为继电器的通道1 ~ 16 -} GetRelayStatusRsp; #pragma pack() #endif // DATA_CONFIG_H