Commit a07d2385 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

prototest: restore nlohmann tests

parent b3f9b25d
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
*.o
/build
/src/app/prototest/nanopb.pb.h
/src/app/prototest/nanopb.pb.cc
/src/app/prototest/nanopb.proto
+9 −0
Original line number Diff line number Diff line
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)
+34 −0
Original line number Diff line number Diff line
@@ -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
	 */
@@ -98,6 +106,32 @@ void loop(void)
	kout << "sensor: " << sensor << endl;
#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
	 */