diff options
| author | krolyxon <me@krolyxon.com> | 2026-06-08 23:10:46 +0530 |
|---|---|---|
| committer | krolyxon <me@krolyxon.com> | 2026-06-08 23:10:46 +0530 |
| commit | 3120783000d0025b183b0397acaa8b769499eb38 (patch) | |
| tree | 1c4f93be213f1b1d48f59e554562d847b4e7c25e /.pio/libdeps/esp32-s3-n16r8/ArduinoJson/examples/MsgPackParser | |
Initial gh-pages firmware hosting
Diffstat (limited to '.pio/libdeps/esp32-s3-n16r8/ArduinoJson/examples/MsgPackParser')
| -rw-r--r-- | .pio/libdeps/esp32-s3-n16r8/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/.pio/libdeps/esp32-s3-n16r8/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino b/.pio/libdeps/esp32-s3-n16r8/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino new file mode 100644 index 0000000..a7d19b9 --- /dev/null +++ b/.pio/libdeps/esp32-s3-n16r8/ArduinoJson/examples/MsgPackParser/MsgPackParser.ino @@ -0,0 +1,61 @@ +// ArduinoJson - https://arduinojson.org +// Copyright © 2014-2026, Benoit BLANCHON +// MIT License +// +// This example shows how to deserialize a MessagePack document with +// ArduinoJson. +// +// https://arduinojson.org/v7/example/msgpack-parser/ + +#include <ArduinoJson.h> + +void setup() { + // Initialize serial port + Serial.begin(9600); + while (!Serial) + continue; + + // Allocate the JSON document + JsonDocument doc; + + // The MessagePack input string + uint8_t input[] = {131, 166, 115, 101, 110, 115, 111, 114, 163, 103, 112, 115, + 164, 116, 105, 109, 101, 206, 80, 147, 50, 248, 164, 100, + 97, 116, 97, 146, 203, 64, 72, 96, 199, 58, 188, 148, + 112, 203, 64, 2, 106, 146, 230, 33, 49, 169}; + // This MessagePack document contains: + // { + // "sensor": "gps", + // "time": 1351824120, + // "data": [48.75608, 2.302038] + // } + + // Parse the input + DeserializationError error = deserializeMsgPack(doc, input); + + // Test if parsing succeeded + if (error) { + Serial.print("deserializeMsgPack() failed: "); + Serial.println(error.f_str()); + return; + } + + // Fetch the values + // + // Most of the time, you can rely on the implicit casts. + // In other case, you can do doc["time"].as<long>(); + const char* sensor = doc["sensor"]; + long time = doc["time"]; + double latitude = doc["data"][0]; + double longitude = doc["data"][1]; + + // Print the values + Serial.println(sensor); + Serial.println(time); + Serial.println(latitude, 6); + Serial.println(longitude, 6); +} + +void loop() { + // not used in this example +} |
