New firmware WIP
This commit is contained in:
@@ -15,7 +15,6 @@ const char TypeToMsgPackCode<int8_t>::CODE = '\xd0';
|
|||||||
const char TypeToMsgPackCode<int16_t>::CODE = '\xd1';
|
const char TypeToMsgPackCode<int16_t>::CODE = '\xd1';
|
||||||
const char TypeToMsgPackCode<int32_t>::CODE = '\xd2';
|
const char TypeToMsgPackCode<int32_t>::CODE = '\xd2';
|
||||||
|
|
||||||
|
|
||||||
template<typename Writer>
|
template<typename Writer>
|
||||||
class StreamingMsgPackEncoder
|
class StreamingMsgPackEncoder
|
||||||
{
|
{
|
||||||
@@ -125,3 +124,36 @@ private:
|
|||||||
uint32_t contentLength;
|
uint32_t contentLength;
|
||||||
bool sizeCountMode;
|
bool sizeCountMode;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
template<typename Writer>
|
||||||
|
class ChunkedStreamingMsgPackEncoder
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ChunkedStreamingMsgPackEncoder(Writer * writer_, uint32_t offset, uint32_t maxSize)
|
||||||
|
: encoder_(writer_), offset_(offset), maxSize_(maxSize), sent_(0)
|
||||||
|
{}
|
||||||
|
|
||||||
|
void sendMap16(byte size) {
|
||||||
|
// check if it fits, using separate object
|
||||||
|
encoder_.setSizeCountMode(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sendString255(PGM_P s) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
void sendInt(T value) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
StreamingMsgPackEncoder<Writer> encoder_;
|
||||||
|
uint32_t offset_;
|
||||||
|
uint32_t maxSize_;
|
||||||
|
uint32_t sent_;
|
||||||
|
};
|
||||||
|
|||||||
@@ -54,7 +54,10 @@ void httpSetup(SessionManager<Session_T> * sessionManager)
|
|||||||
sessionManager->stopMeasurements();
|
sessionManager->stopMeasurements();
|
||||||
});
|
});
|
||||||
server.on("/api/session/data", HTTP_GET, [sessionManager](AsyncWebServerRequest * req) {
|
server.on("/api/session/data", HTTP_GET, [sessionManager](AsyncWebServerRequest * req) {
|
||||||
//TODO
|
StreamingMsgPackEncoder<HttpWriterAdaptor> encoder(&adaptor);
|
||||||
|
|
||||||
|
req->send_P(200, "application/x-msgpack", const uint8_t * content, size_t len)
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user