updates for new dle parser API
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit

This commit is contained in:
2022-04-09 15:38:09 +02:00
parent 808e01dfd3
commit d00cb6d4a5
7 changed files with 20 additions and 11 deletions

View File

@ -1,6 +1,6 @@
#include "ScexDleParser.h"
ScexDleParser::ScexDleParser(SimpleRingBuffer &decodeRingBuf, DleEncoder &decoder,
BufPair encodedBuf, BufPair decodedBuf, FoundPacketHandler handler,
BufPair encodedBuf, BufPair decodedBuf, UserHandler handler,
void *args)
: DleParser(decodeRingBuf, decoder, encodedBuf, decodedBuf, handler, args) {}

View File

@ -6,7 +6,7 @@
class ScexDleParser : public DleParser {
public:
ScexDleParser(SimpleRingBuffer& decodeRingBuf, DleEncoder& decoder, BufPair encodedBuf,
BufPair decodedBuf, FoundPacketHandler handler, void* args);
BufPair decodedBuf, UserHandler handler, void* args);
};
#endif /* LINUX_DEVICES_SCEXDLEPARSER_H_ */

View File

@ -162,9 +162,13 @@ ReturnValue_t ScexUartReader::finish() {
return RETURN_OK;
}
void ScexUartReader::foundDlePacketHandler(uint8_t *packet, size_t len, void *args) {
ScexUartReader *obj = reinterpret_cast<ScexUartReader *>(args);
obj->handleFoundDlePacket(packet, len);
void ScexUartReader::foundDlePacketHandler(const DleParser::Context &ctx) {
ScexUartReader *obj = reinterpret_cast<ScexUartReader *>(ctx.userArgs);
if (ctx.getType() == DleParser::ContextType::PACKET_FOUND) {
obj->handleFoundDlePacket(ctx.decodedPacket.first, ctx.decodedPacket.second);
} else {
DleParser::defaultErrorHandler(ctx.error.first, ctx.error.second);
}
}
void ScexUartReader::handleFoundDlePacket(uint8_t *packet, size_t len) {

View File

@ -47,7 +47,7 @@ class ScexUartReader : public SystemObject, // strg+shift+n
DynamicFIFO<size_t> ipcQueue;
ScexDleParser dleParser;
static void foundDlePacketHandler(uint8_t *packet, size_t len, void *args);
static void foundDlePacketHandler(const DleParser::Context &ctx);
void handleFoundDlePacket(uint8_t *packet, size_t len);
ReturnValue_t performOperation(uint8_t operationCode = 0) override;