summaryrefslogtreecommitdiff
path: root/src/app/prototest/main.cc
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2018-11-13 11:18:00 +0100
committerDaniel Friesel <derf@finalrewind.org>2018-11-13 11:18:00 +0100
commitd8b578f42c5fbac101c77249c05939fd04d50722 (patch)
treea07e5287e38b3526757f4568231f8e81a5d581ad /src/app/prototest/main.cc
parent404f207fa8bda5acaf09c3dbdae8aaf7cb639a29 (diff)
import MPack. Does not work with embedded yet
Diffstat (limited to 'src/app/prototest/main.cc')
-rw-r--r--src/app/prototest/main.cc35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/app/prototest/main.cc b/src/app/prototest/main.cc
index fe33ae0..aebfaea 100644
--- a/src/app/prototest/main.cc
+++ b/src/app/prototest/main.cc
@@ -8,6 +8,9 @@
#ifdef PROTOTEST_MODERNJSON
#include "lib/modernjson/json.h"
#endif
+#ifdef PROTOTEST_MPACK
+#include "mpack.h"
+#endif
#ifdef PROTOTEST_NANOPB
#include <pb.h>
#include "nanopb.pb.h"
@@ -114,6 +117,38 @@ void loop(void)
#endif
/*
+ * MPack
+ */
+
+#ifdef PROTOTEST_MPACK
+ char buf[128];
+ for (unsigned int i = 0; i < 128; i++) {
+ buf[i] = 0;
+ }
+ mpack_writer_t writer;
+ mpack_writer_init(&writer, buf, sizeof(buf));
+
+ mpack_start_map(&writer, 2);
+ mpack_write_cstr(&writer, "gps");
+ mpack_write_uint(&writer, ts);
+ mpack_start_array(&writer, 2);
+ mpack_write_float(&writer, 48.756080);
+ mpack_write_float(&writer, 2.302038);
+ mpack_finish_array(&writer);
+ mpack_finish_map(&writer);
+
+ if (mpack_writer_destroy(&writer) != mpack_ok) {
+ kout << "Encoding failed" << endl;
+ }
+ kout << "mpack is " << hex;
+ for (unsigned int i = 0; i < 128; i++) {
+ kout << (uint8_t)buf[i];
+ }
+ kout << endl;
+
+#endif
+
+ /*
* Common
*/