Files
pip/main.cpp
Бычков Андрей 4725eb96d6 replace typedef function ptr by std::function
start PIMap refactoring
2022-07-29 15:49:36 +03:00

36 lines
950 B
C++

#include "pip.h"
using namespace PICoutManipulators;
int main(int argc, char * argv[]) {
PIByteArray ba = PIByteArray::fromHex("AA1122BB11233AA4455");
PIIOByteArray b;
b.open(ba);
PIPacketExtractor p(&b);
p.setSplitMode(PIPacketExtractor::Header);
p.setHeader(PIByteArray::fromHex("00"));
p.setFooter(PIByteArray::fromHex("AA"));
p.setPayloadSize(2);
p.setThreadedReadSlot([](const uchar * data, int size, void * d) {
return true;
});
p.setHeaderCheckSlot([](const uchar * src, const uchar * rec, int size)->int {
if (*src == *rec) {
if (rec[0] == 0xAA) return 2;
if (rec[0] == 0xBB) return 3;
}
return -1;
});
// p.setPayloadCheckSlot([](const uchar * data, int size) {
// return data[1] == 0xFF;
// });
CONNECTL(&p, packetReceived, ([](const uchar * data, int size){
piCout << PIByteArray(data, size).toHex();
}));
p.startThreadedRead();
piMSleep(100);
p.stop();
return 0;
}