LiveData: Initial implementation

Add support for live data subscription via Device::subscribeLiveData() and
Device::unsubscribeLiveData(). The live data API can be used to subscribe to
individual "signals", a full list of which can be found in LiveDataValueType.
This commit is contained in:
Kyle Johannes
2023-08-22 16:20:48 -04:00
committed by Kyle Schwarz
parent 018f1fac8e
commit 8d704b1bbb
20 changed files with 894 additions and 1 deletions
@@ -0,0 +1,27 @@
#ifndef __LIVEDATAPACKET_H__
#define __LIVEDATAPACKET_H__
#ifdef __cplusplus
#include <cstdint>
#include <memory>
#include <vector>
#include "icsneo/api/eventmanager.h"
#include "icsneo/communication/message/message.h"
#include "icsneo/communication/message/livedatamessage.h"
#include "icsneo/communication/livedata.h"
namespace icsneo {
class LiveDataMessage;
struct HardwareLiveDataPacket {
static std::shared_ptr<Message> DecodeToMessage(const std::vector<uint8_t>& bytes, const device_eventhandler_t& report);
static bool EncodeFromMessage(LiveDataMessage& message, std::vector<uint8_t>& bytes, const device_eventhandler_t& report);
};
}
#endif // __cplusplus
#endif // __LIVEDATAPACKET_H__