Files
firmware/components/flatbuffers/include/SensorMessageBuilder.h

37 lines
686 B
C++

#ifndef SENSORMESSAGEBUILDER_H
#define SENSORMESSAGEBUILDER_H
#include "SerializedMessage.h"
#include "flatbuffers_generated/SensorMessage_generated.h"
namespace Flatbuffers {
struct target_angle {
int16_t angle;
};
struct current_angle {
int16_t angle;
};
struct target_text {
std::string text;
};
typedef std::variant<target_angle, current_angle, target_text> sensor_value;
class SensorMessageBuilder {
public:
SensorMessageBuilder() : builder_(256) {
}
SerializedMessage build_sensor_message(std::vector<sensor_value> &values);
private:
flatbuffers::FlatBufferBuilder builder_;
};
} // namespace Flatbuffers
#endif //SENSORMESSAGEBUILDER_H