| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- #pragma once
- #include <map>
- #include <vector>
- #include <string>
- static std::map<int, std::string> g_mapAcqTypeIDtoString=
- {
- {0x101,"定位测力值"},
- {0x102,"反位测力值"},
- {0x103,"转换阻力测力值"},
- {0x104,"温度"},
- {0x105,"湿度"},
- {0x201,"定位密贴"},
- {0x202,"定位开程"},
- {0x203,"反位密贴"},
- {0x204,"反位开程"},
- {0x205,"轨间距离"},
- {0x206,"直轨横移"},
- {0x207,"曲轨横移"},
- {0x208,"直尖轨爬行"},
- {0x209,"曲尖轨爬行"},
- {0x210,"转辙机振动"},
- {0x301,"密贴缺口值"},
- {0x302,"斥离缺口值"},
- {0x303,"左表示杆行程"},
- {0x304,"右表示杆行程"},
- {0x305,"密贴缺口偏移值"},
- {0x306,"密贴缺口标准值"},
- {0x307,"油位"},
- {0x308,"温度"},
- {0x309,"湿度"},
- {0x310,"油压曲线"},
- {0x311,"电流"},
- {0x312,"电压"}
- };
- static std::map<std::string, int> g_mapAcqTypeStringtoID =
- {
- {"定位测力值", 0x101 },
- { "反位测力值" ,0x102 },
- { "转换阻力测力值" ,0x103 },
- { "温度" ,0x104 },
- { "湿度" ,0x105 },
- { "定位密贴" ,0x201 },
- { "定位开程" ,0x202 },
- { "反位密贴" ,0x203 },
- { "反位开程" ,0x204 },
- { "轨间距离" ,0x205 },
- { "直轨横移" ,0x206 },
- { "曲轨横移" ,0x207 },
- { "直尖轨爬行" ,0x208 },
- { "曲尖轨爬行" ,0x209 },
- { "转辙机振动" ,0x210 },
- { "密贴缺口值" ,0x301 },
- { "斥离缺口值" ,0x302 },
- { "左表示杆行程" ,0x303 },
- { "右表示杆行程" ,0x304 },
- { "密贴缺口偏移值" ,0x305 },
- { "密贴缺口标准值" ,0x306 },
- { "油位" ,0x307 },
- { "温度" ,0x308 },
- { "湿度" ,0x309 },
- { "油压曲线" ,0x310 },
- { "电流" ,0x311 },
- { "电压" ,0x312 },
- };
- #pragma pack(push, 1)
- struct C315CommData
- {
- std::vector<BYTE> m_vecData;
- ~C315CommData()
- {
- m_vecData.clear();
- }
- const BYTE * const GetData() const { return m_vecData.data(); }
- size_t GetDataSize()const { return m_vecData.size(); }
- void Clear_Data()
- {
- m_vecData.clear();
- }
- void Push_Data(const BYTE * lpData, WORD wSize)
- {
- //m_vecData.assign(lpData, lpData + wSize);
- if (wSize == 0) return;
- size_t nInsertPos = m_vecData.size();
- m_vecData.resize(nInsertPos + wSize);
- CopyMemory(m_vecData.data() + nInsertPos, lpData, wSize);
- }
- void Update_Data(int nIdx, const void *lpData, WORD wSize)
- {
- //m_vecData.assign(lpData, lpData + wSize);
- if (wSize == 0) return;
- if (nIdx + wSize > m_vecData.size()) return;
- CopyMemory(m_vecData.data() + nIdx, lpData, wSize);
- }
- void Reserve(DWORD dwSize)
- {
- size_t nInsertPos = m_vecData.capacity();
- if (dwSize > nInsertPos)
- m_vecData.reserve(dwSize);
- }
- template<class T>
- void Push_Data(T d)
- {
- Push_Data((const BYTE*)&d, sizeof(T));
- }
- template<class T>
- void Push_Data(T *d, WORD wSize)
- {
- Push_Data((const BYTE*)d, wSize);
- }
- void Push_Tail()
- {
- static const BYTE cbTail[4] = { 0xFF, 0xFF, 0xFF, 0xFF };
- Push_Data(cbTail, 4);
- }
- void Update_FrameLen(DWORD dwFrameLen)
- {
- size_t nDataSize = m_vecData.size();
- if (nDataSize >= 12)
- {
- CopyMemory(m_vecData.data() + 8, &dwFrameLen, sizeof(dwFrameLen));
- }
- }
- void Update_FrameLen()
- {
- DWORD nDataSize = m_vecData.size();
- if (nDataSize >= 12)
- {
- nDataSize -= 16; //帧内容长度
- CopyMemory(m_vecData.data() + 8, &nDataSize, sizeof(nDataSize));
- }
- }
- };
- #pragma pack(pop)
|