#pragma once #include #include "PIDSDataDefine.h" using namespace std; class PIDSClientResultMsg { public: // 时间 PIDSTime time; // 列车线路号 int TrainLine; int Train; // 拥挤度 int8_t Crowdedness_1; // 1号车厢人数 int16_t Num_1; // 拥挤度 int8_t Crowdedness_2; // 2号车厢人数 int16_t Num_2; // 拥挤度 int8_t Crowdedness_3; // 3号车厢人数 int16_t Num_3; // 拥挤度 int8_t Crowdedness_4; // 4号车厢人数 int16_t Num_4; // 拥挤度 int8_t Crowdedness_5; // 5号车厢人数 int16_t Num_5; // 拥挤度 int8_t Crowdedness_6; // 6号车厢人数 int16_t Num_6; public: PIDSClientResultMsg(){} ~PIDSClientResultMsg(){} void Serialization(uint8_t* data, int len) { memset(data, 0, 1024); 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 data[9] = 21; data[10] = 12; data[11] = 1; data[12] = 2; data[13] = 3; data[14] = 6; data[15] = this->TrainLine; data[16] = this->Train; data[17] = this->Crowdedness_1; data[18] = (this-> Num_1 & 0x00FF); data[19] = (this-> Num_1 & 0xFF00) >> 8; data[20] = this->Crowdedness_2; data[21] = (this-> Num_2 & 0x00FF); data[22] = (this-> Num_2 & 0xFF00) >> 8; data[23] = this->Crowdedness_3; data[24] = (this-> Num_3 & 0x00FF); data[25] = (this-> Num_3 & 0xFF00) >> 8; data[26] = this->Crowdedness_4; data[27] = (this-> Num_4 & 0x00FF); data[28] = (this-> Num_4 & 0xFF00) >> 8; data[29] = this->Crowdedness_5; data[30] = (this-> Num_5 & 0x00FF); data[31] = (this-> Num_5 & 0xFF00) >> 8; data[32] = this->Crowdedness_6; data[33] = (this-> Num_6 & 0x00FF); data[34] = (this-> Num_6 & 0xFF00) >> 8; int16_t crc = Crc16::GetCRC16(data, 9, length); data[45] = (crc & 0x00FF); data[46] = (crc & 0xFF00) >> 8; // 数据尾 data[47] = PIDS_DATA_END; } };