diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/app/prototest/Makefile.inc | 3 | ||||
-rw-r--r-- | src/app/prototest/main.cc | 29 |
2 files changed, 30 insertions, 2 deletions
diff --git a/src/app/prototest/Makefile.inc b/src/app/prototest/Makefile.inc index d501de1..56410e0 100644 --- a/src/app/prototest/Makefile.inc +++ b/src/app/prototest/Makefile.inc @@ -1,3 +1,2 @@ loop ?= 1 - -TARGETS += src/lib/ubjson/ubjr.c src/lib/ubjson/ubjw.c +TARGETS += src/os/object/xdrstream.cc diff --git a/src/app/prototest/main.cc b/src/app/prototest/main.cc index c7d0838..8613bea 100644 --- a/src/app/prototest/main.cc +++ b/src/app/prototest/main.cc @@ -2,6 +2,11 @@ #include "driver/gpio.h" #include "driver/stdout.h" #include "lib/ArduinoJson.h" +#include "lib/modernjson/json.h" +#include "object/stdbuf.h" +#include "object/xdrstream.h" + +char buf[128]; void loop(void) { @@ -10,6 +15,30 @@ void loop(void) ArduinoJson::JsonObject& root = jsonBuffer.parseObject(json); const char *sensor = root["sensor"]; kout << "sensor: " << sensor << endl; + + nlohmann::json j = R"({"compact": true, "schema": 0})"_json; + std::vector<std::uint8_t> v_cbor = nlohmann::json::to_cbor(j); + + kout << "CBOR vector is " << hex; + for (unsigned int i = 0; i < v_cbor.size(); i++) { + kout << v_cbor[i] << " "; + } + kout << endl; + + kout << "manual JSON: {\"sensor\":\"gps\",\"time\":" << dec << 1351824120; + kout << ",\"data\":[" << 48.756080 << "," << 2.302038 << "]}" << endl; + + BufferOutput<XDRStream> foostream(buf); + + foostream << 123 << 0 << 12345678; + + kout << "foostream is " << hex; + for (unsigned int i = 0; i < 32; i += 4) { + kout << (unsigned char)buf[i] << (unsigned char)buf[i+1]; + kout << (unsigned char)buf[i+2] << (unsigned char)buf[i+3] << " "; + } + kout << endl; + gpio.led_toggle(1); #ifdef TIMER_S kout << dec << uptime.get_s() << endl; |