summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2018-09-24 16:14:50 +0200
committerDaniel Friesel <derf@finalrewind.org>2018-09-24 16:15:06 +0200
commit27425d0329c3056609d64407bf86040d6e0ccce7 (patch)
tree2ef202ed0174c3f03cea2097d556eafcf8820521
parentf77b29a664221063ea79b2da08c8085874e33b64 (diff)
prototest: Include xdrstream
-rw-r--r--src/app/prototest/Makefile.inc3
-rw-r--r--src/app/prototest/main.cc29
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;