123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #pragma once
- #include <iostream>
- #include "PIDSDataDefine.h"
- #include <map>
- using namespace std;
- class PIDSClientResultMsg
- {
- public:
- // 列车线路号
- int TrainLine;
- int Train;
- std::map<int, ResultData> 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 = 0;
- 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";
- }
- };
|