#pragma once #include #include "PIDSDataDefine.h" #include using namespace std; class PIDSClientResultMsg { public: // 列车线路号 int TrainLine; int Train; std::map data; public: PIDSClientResultMsg(){} ~PIDSClientResultMsg(){} void Serialization(uint8_t* data) { data[0] = PIDS_DATA_HEAD; data[1] = PIDS_SRC_TC1; data[2] = PIDS_SRC_TYPE_MIVA; // IP data[3] = 172; data[4] = 0; data[5] = 0; data[6] = 1; int16_t length = 36; data[7] = (length & 0x00FF); data[8] = (length & 0xFF00) >> 8; // 填充数据 // Time getBCDTime(data + 9); data[15] = this->TrainLine; data[16] = this->Train; int id = 1; for(int i = 0; i < 18; i+=3) { data[17+i] = this->data[id].Grade; data[18+i] = (this->data[id].Num & 0x00FF); data[19+i] = (this->data[id].Num & 0xFF00) >> 8; id++; } int16_t crc = Crc16::GetCRC16(data, 9, length); data[45] = (crc & 0xFF00) >> 8; data[46] = (crc & 0x00FF); // 数据尾 data[47] = PIDS_DATA_END; } void ObjectToJson(std::string& json) { json+="\r\n"; } };