New firmware WIP
This commit is contained in:
		
							parent
							
								
									6a724b284f
								
							
						
					
					
						commit
						ce4fa96771
					
				| 
						 | 
					@ -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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue