summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2018-11-14 08:08:46 +0100
committerDaniel Friesel <derf@finalrewind.org>2018-11-14 08:08:46 +0100
commita07d2385010cbf0175467d8fc2a57a811a089238 (patch)
tree8f0de52b5112df34174735604314ae2ed3ecaeac /src
parentb3f9b25d53b1bd1fc83e8a291ae40b84d02a4478 (diff)
prototest: restore nlohmann tests
Diffstat (limited to 'src')
-rw-r--r--src/app/prototest/Makefile.inc9
-rw-r--r--src/app/prototest/main.cc34
2 files changed, 43 insertions, 0 deletions
diff --git a/src/app/prototest/Makefile.inc b/src/app/prototest/Makefile.inc
index 36cfb49..9bd4ac6 100644
--- a/src/app/prototest/Makefile.inc
+++ b/src/app/prototest/Makefile.inc
@@ -1,11 +1,20 @@
loop ?= 1
+ifeq (${prototest_include_global}, 1)
+ COMMON_FLAGS += -DPROTOTEST_INCLUDE_GLOBAL
+endif
+
+ifeq (${prototest_include_local}, 1)
+ COMMON_FLAGS += -DPROTOTEST_INCLUDE_LOCAL
+endif
+
ifeq (${prototest_arduinojson}, 1)
COMMON_FLAGS += -DPROTOTEST_ARDUINOJSON
endif
ifeq (${prototest_modernjson}, 1)
COMMON_FLAGS += -DPROTOTEST_MODERNJSON
+ ostream = 1
endif
ifeq (${prototest_mpack}, 1)
diff --git a/src/app/prototest/main.cc b/src/app/prototest/main.cc
index c1d8359..2384930 100644
--- a/src/app/prototest/main.cc
+++ b/src/app/prototest/main.cc
@@ -28,6 +28,10 @@
#include <stdint.h>
+#ifdef PROTOTEST_INCLUDE_GLOBAL
+#include "prototest_global.cc.inc"
+#endif
+
#ifdef PROTOTEST_XDR
char buf[256];
#endif
@@ -50,6 +54,10 @@ void loop(void)
{
static uint16_t ts = 0;
+#ifdef PROTOTEST_INCLUDE_LOCAL
+#include "prototest_local.cc.inc"
+#endif
+
/*
* XDR
*/
@@ -99,6 +107,32 @@ void loop(void)
#endif
/*
+ * ModernJSON
+ */
+
+#ifdef PROTOTEST_MODERNJSON
+ nlohmann::json js1;
+ js1["sensor"] = "gps";
+ js1["time"] = ts;
+ js1["data"] = {48.756080, 2.302038};
+ kout << js1.dump() << endl;
+
+ nlohmann::json js2 = {
+ {"sensor", "gps"},
+ {"time", ts},
+ {"data", {48.756080, 2.302038} }
+ };
+ kout << js2.dump() << endl;
+
+ std::vector<std::uint8_t> v_cbor = nlohmann::json::to_cbor(js2);
+ kout << "CBOR vector is " << hex;
+ for (unsigned int i = 0; i < v_cbor.size(); i++) {
+ kout << v_cbor[i] << " ";
+ }
+ kout << endl;
+#endif
+
+ /*
* NanoPB
*/