theengsdecoder 2.3.0__tar.gz → 2.4.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/CMakeLists.txt +1 -1
- {theengsdecoder-2.3.0/theengsdecoder.egg-info → theengsdecoder-2.4.5}/PKG-INFO +1 -1
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/decoder.cpp +94 -6
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/decoder.h +3 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BM2_json.h +2 -2
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BM6_json.h +2 -2
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/ECOFLOW_ADV_json.h +2 -2
- theengsdecoder-2.4.5/src/devices/ODACE_WLBL_json.h +46 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBMP_json.h +7 -6
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/VICTRON_BSC_json.h +2 -2
- theengsdecoder-2.4.5/src/devices/VICTRON_ORIONTR_json.h +75 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/VICTRON_ORIONXS_json.h +2 -2
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/VICTRON_SBP_json.h +2 -2
- theengsdecoder-2.4.5/src/devices/VICTRON_SBS_json.h +95 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/VICTRON_SCC_json.h +7 -7
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/VICTRON__ENCR_json.h +11 -7
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices.h +4 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5/theengsdecoder.egg-info}/PKG-INFO +1 -1
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/theengsdecoder.egg-info/SOURCES.txt +4 -0
- theengsdecoder-2.4.5/theengsdecoder.egg-info/scm_file_list.json +11 -0
- theengsdecoder-2.4.5/theengsdecoder.egg-info/scm_version.json +8 -0
- theengsdecoder-2.3.0/src/devices/VICTRON_SBS_json.h +0 -43
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/README.md +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/TheengsDecoder/__init__.py +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/TheengsDecoder/_decoder.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/pyproject.toml +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/setup.cfg +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/setup.py +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.clang-format +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.devcontainer/Dockerfile +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.devcontainer/devcontainer.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.git +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.gitattributes +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.github/FUNDING.yml +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.github/ISSUE_TEMPLATE.md +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.github/workflows/ci.yml +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.github/workflows/lock.yml +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.github/workflows/release.yml +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.gitignore +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.mbedignore +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.prettierignore +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/.vscode/settings.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/ArduinoJson.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/CHANGELOG.md +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/CONTRIBUTING.md +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/LICENSE.md +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/README.md +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/SUPPORT.md +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/appveyor.yml +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/banner.svg +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/component.mk +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/JsonConfigFile/JsonConfigFile.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/JsonFilterExample/JsonFilterExample.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/JsonGeneratorExample/JsonGeneratorExample.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/JsonHttpClient/JsonHttpClient.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/JsonParserExample/JsonParserExample.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/JsonServer/JsonServer.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/JsonUdpBeacon/JsonUdpBeacon.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/MsgPackParser/MsgPackParser.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/ProgmemExample/ProgmemExample.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/examples/StringExample/StringExample.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/ArduinoJsonConfig.cmake.in +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/CompileOptions.cmake +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/ci/arduino.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/ci/espidf/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/ci/espidf/main/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/ci/espidf/main/component.mk +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/ci/espidf/main/main.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/ci/particle.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/Makefile +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_corpus/.gitignore +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_fuzzer.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/Comments.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/EmptyArray.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/EmptyObject.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/ExcessiveNesting.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/IntegerOverflow.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/Numbers.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/OpenWeatherMap.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/Strings.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/json_seed_corpus/WeatherUnderground.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_corpus/.gitignore +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_fuzzer.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/array16 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/array32 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/false +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixarray +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixint_negative +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixint_positive +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixmap +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/fixstr +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/float32 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/float64 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/int16 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/int32 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/int64 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/int8 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/map16 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/map32 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/nil +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/str16 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/str32 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/str8 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/true +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/uint16 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/uint32 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/uint64 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/msgpack_seed_corpus/uint8 +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/fuzzing/reproducer.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/particle/project.properties +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/particle/src/smocktest.ino +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/build-arduino-package.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/build-single-header.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/get-release-body.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/get-release-page.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/publish-particle-library.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/publish.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/wandbox/JsonGeneratorExample.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/wandbox/JsonParserExample.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/wandbox/MsgPackParserExample.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/scripts/wandbox/publish.sh +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/.clang-tidy +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Cpp11/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Cpp11/issue1120.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Cpp11/nullptr.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Cpp11/use_long_long_0.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Cpp11/use_long_long_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Cpp17/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Cpp17/string_view.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/FailingBuilds/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/FailingBuilds/Issue1189.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/FailingBuilds/Issue978.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/FailingBuilds/assign_char.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/FailingBuilds/delete_jsondocument.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/FailingBuilds/read_long_long.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/FailingBuilds/variant_as_char.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/FailingBuilds/write_long_long.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Helpers/Arduino.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Helpers/CustomReader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Helpers/api/Print.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Helpers/api/Stream.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Helpers/api/String.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Helpers/progmem_emulation.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/IntegrationTests/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/IntegrationTests/gbathree.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/IntegrationTests/issue772.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/IntegrationTests/openweathermap.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/IntegrationTests/round_trip.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/add.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/clear.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/copyArray.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/createNested.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/equals.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/get.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/isNull.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/iterator.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/memoryUsage.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/nesting.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/remove.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/size.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/std_string.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/subscript.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonArray/undefined.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/DeserializationError.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/array.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/array_static.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/filter.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/incomplete_input.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/input_types.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/invalid_input.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/misc.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/nestingLimit.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/number.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/object.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/object_static.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDeserializer/string.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/BasicJsonDocument.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/DynamicJsonDocument.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/ElementProxy.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/MemberProxy.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/StaticJsonDocument.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/add.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/compare.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/containsKey.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/createNested.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/isNull.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/nesting.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/overflowed.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/remove.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/shrinkToFit.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/size.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonDocument/subscript.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/clear.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/containsKey.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/copy.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/createNestedArray.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/createNestedObject.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/equals.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/invalid.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/isNull.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/iterator.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/memoryUsage.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/nesting.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/remove.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/size.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/std_string.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonObject/subscript.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/CustomWriter.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/JsonArray.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/JsonArrayPretty.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/JsonObject.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/JsonObjectPretty.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/JsonVariant.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/misc.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/std_stream.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonSerializer/std_string.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/add.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/as.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/clear.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/compare.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/containsKey.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/converters.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/copy.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/createNested.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/is.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/isnull.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/memoryUsage.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/misc.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/nesting.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/or.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/overflow.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/remove.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/set.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/subscript.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/types.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/JsonVariant/undefined.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MemoryPool/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MemoryPool/StringCopier.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MemoryPool/allocVariant.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MemoryPool/clear.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MemoryPool/saveString.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MemoryPool/size.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/FloatParts.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/JsonString.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/Readers.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/StringAdapters.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/StringWriter.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/TypeTraits.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/Utf16.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/Utf8.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/arithmeticCompare.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/conflicts.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/custom_string.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/deprecated.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/printable.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/unsigned_char.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/version.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Misc/weird_strcmp.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/decode_unicode_0.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/decode_unicode_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_alignment_0.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_alignment_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_comments_0.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_comments_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_infinity_0.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_infinity_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_nan_0.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_nan_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_progmem_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_string_deduplication_0.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/enable_string_deduplication_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/use_double_0.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MixedConfiguration/use_double_1.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/deserializeArray.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/deserializeObject.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/deserializeStaticVariant.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/deserializeVariant.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/doubleToFloat.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/filter.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/incompleteInput.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/input_types.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/misc.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/nestingLimit.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackDeserializer/notSupported.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackSerializer/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackSerializer/destination_types.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackSerializer/measure.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackSerializer/misc.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackSerializer/serializeArray.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackSerializer/serializeObject.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/MsgPackSerializer/serializeVariant.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Numbers/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Numbers/convertNumber.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Numbers/parseDouble.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Numbers/parseFloat.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Numbers/parseInteger.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/Numbers/parseNumber.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/TextFormatter/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/TextFormatter/writeFloat.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/TextFormatter/writeInteger.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/TextFormatter/writeString.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/catch/.clang-format +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/catch/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/catch/catch.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/extras/tests/catch/catch.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/keywords.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/library.json +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/library.properties +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Array/ArrayFunctions.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Array/ArrayImpl.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Array/ArrayIterator.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Array/ArrayRef.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Array/ArrayShortcuts.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Array/ElementProxy.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Array/Utilities.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Collection/CollectionData.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Collection/CollectionImpl.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Configuration.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/DeserializationError.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Filter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/NestingLimit.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Reader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/ArduinoStreamReader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/FlashReader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/IteratorReader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/RamReader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/StdStreamReader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/Readers/VariantReader.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Deserialization/deserialize.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Document/BasicJsonDocument.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Document/DynamicJsonDocument.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Document/JsonDocument.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Document/StaticJsonDocument.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Json/EscapeSequence.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Json/JsonDeserializer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Json/JsonSerializer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Json/Latch.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Json/PrettyJsonSerializer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Json/TextFormatter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Json/Utf16.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Json/Utf8.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Memory/Alignment.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Memory/MemoryPool.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Misc/SerializedValue.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Misc/Visitable.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/MsgPack/MsgPackDeserializer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/MsgPack/endianess.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/MsgPack/ieee754.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Namespace.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Numbers/Float.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Numbers/FloatParts.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Numbers/FloatTraits.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Numbers/Integer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Numbers/arithmeticCompare.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Numbers/convertNumber.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Numbers/parseNumber.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Object/MemberProxy.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Object/ObjectFunctions.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Object/ObjectImpl.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Object/ObjectIterator.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Object/ObjectRef.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Object/ObjectShortcuts.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Object/Pair.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/alias_cast.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/assert.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/attributes.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/ctype.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/integer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/limits.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/math.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/mpl/max.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/pgmspace.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/pgmspace_generic.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/preprocessor.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/safe_strcmp.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/static_array.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/conditional.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/declval.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_array.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_base_of.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_class.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_const.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_convertible.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_enum.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_integral.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_same.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_signed.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/is_unsigned.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/make_unsigned.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/make_void.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/remove_cv.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/type_traits.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Polyfills/utility.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/CountingDecorator.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/Writer.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/Writers/ArduinoStringWriter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/Writers/PrintWriter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/Writers/StdStreamWriter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/Writers/StdStringWriter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/measure.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Serialization/serialize.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/StringStorage/StringCopier.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/StringStorage/StringMover.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/StringStorage/StringStorage.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/ArduinoStringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/ConstRamStringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/FlashStringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/JsonStringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/RamStringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/SizedFlashStringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/SizedRamStringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/StdStringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/Adapters/StringViewAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/IsWriteableString.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/StoragePolicy.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/String.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/StringAdapter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Strings/StringAdapters.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/Converter.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/ConverterImpl.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/SlotFunctions.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantCompare.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantContent.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantData.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantFunctions.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantImpl.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantOperators.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantRef.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantShortcuts.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantSlot.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantTag.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/VariantTo.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/Variant/Visitor.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/compatibility.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson/version.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/ArduinoJson.hpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/arduino_json/src/CMakeLists.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/decoder_c.cpp +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/ABN03_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/ABN07_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/ABTemp_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/APPLEAIRPODS_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/APPLEDEVICE_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/APPLEWATCH_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/APPLE_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/ARANET4_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/Amphiro_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BC08_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BM1IN1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BM3IN1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BM4IN1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BPARASITEV2_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BPARASITE_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/BWBSDOO_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGD1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGDK2_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGDN1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGG1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGH1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGP1W_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGP22C_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGP23W_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/CGPR1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/FEASY_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/GAEN_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/H5055_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/H5072_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/H5074_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/H5102_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/H5106_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/H5140_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/H5179_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/HHCCJCY01HHCC_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/HHCCJCY10_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/HHCCPOT002_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/HOBOMX2001_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/HOLYIOT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/IBS_P02B_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/IBS_THBP01B_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/IBT_2X_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/IBT_4XS_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/IBT_6XS_SOLIS6_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/JAALEE_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/JQJCY01YM_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/KKM_K6P_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/KKM_K9_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/LYWSD02_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/LYWSD03MMC_ENCR_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/LYWSD03MMC_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/LYWSDCGQ_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/MBXPRO_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/MS_CDP_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/MUE4094RT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/Miband_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/Mikrotik_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/Mokobeacon_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/Mopeka_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/NODONNIU_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/OTOD_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/OralB_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/Oras_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/PH10_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/RDL52832_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/RuuviTag_RAWv1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/RuuviTag_RAWv2_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBBT_002C_ENCR_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBBT_002C_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBBT_004CEU_US_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBBT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBCS_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBCU_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBDW_002C_ENCR_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBDW_002C_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBHT_003C_ENCR_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBHT_003C_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBMO_003Z_ENCR_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBMO_003Z_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBMS_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBMT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBOT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SBS1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SCD4X_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SE_MAG_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SE_RHT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SE_TEMP_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SE_TPROBE_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SHT4X_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SensorP_HTP_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SensorP_HT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/ServiceData_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/Skale_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/SmartDry_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/T201_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/T301_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/THB1_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/TILT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/TPMSBR_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/TPMS_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/TPTH_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/ThermoBeacon_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/UT363BT_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/VCH6003_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/XMTZC04HMKG_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/XMTZC04HMLB_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/XMTZC05HMKG_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/XMTZC05HMLB_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/XOSSX2_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/common_props.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/iBeacon_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/iNodeEM_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/src/devices/tracker_json.h +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/theengsdecoder.egg-info/dependency_links.txt +0 -0
- {theengsdecoder-2.3.0 → theengsdecoder-2.4.5}/theengsdecoder.egg-info/top_level.txt +0 -0
|
@@ -125,6 +125,48 @@ double TheengsDecoder::value_from_hex_string(const char* data_str,
|
|
|
125
125
|
return value;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
/*
|
|
129
|
+
* @brief Extracts bit-aligned values from a hex string.
|
|
130
|
+
* Bit 0 is the least significant bit of the first byte.
|
|
131
|
+
*/
|
|
132
|
+
double TheengsDecoder::value_from_bit_string(const char* data_str,
|
|
133
|
+
int bit_offset, int bit_length,
|
|
134
|
+
bool canBeNegative) {
|
|
135
|
+
if (bit_offset < 0 || bit_length <= 0 || bit_length > 63) {
|
|
136
|
+
return 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
size_t data_chars = strlen(data_str);
|
|
140
|
+
size_t required_chars = ((size_t)(bit_offset + bit_length + 7) / 8) * 2;
|
|
141
|
+
if (data_chars < required_chars) {
|
|
142
|
+
return 0;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
unsigned long long value = 0;
|
|
146
|
+
for (int i = 0; i < bit_length; ++i) {
|
|
147
|
+
int abs_bit = bit_offset + i;
|
|
148
|
+
size_t byte_idx = (size_t)abs_bit / 8;
|
|
149
|
+
uint8_t bit_idx = (uint8_t)(abs_bit % 8);
|
|
150
|
+
size_t hex_idx = byte_idx * 2;
|
|
151
|
+
|
|
152
|
+
uint8_t byte = (uint8_t)((getBinaryData(data_str[hex_idx]) << 4) |
|
|
153
|
+
getBinaryData(data_str[hex_idx + 1]));
|
|
154
|
+
if ((byte >> bit_idx) & 0x01) {
|
|
155
|
+
value |= (1ULL << i);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
long long signed_value = (long long)value;
|
|
160
|
+
if (canBeNegative) {
|
|
161
|
+
unsigned long long sign_bit = (1ULL << (bit_length - 1));
|
|
162
|
+
if (value & sign_bit) {
|
|
163
|
+
signed_value -= (long long)(1ULL << bit_length);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return (double)signed_value;
|
|
168
|
+
}
|
|
169
|
+
|
|
128
170
|
/*
|
|
129
171
|
* @brief Removes the underscores at the beginning of key strings
|
|
130
172
|
* when duplicate properties exist in a device.
|
|
@@ -587,7 +629,7 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
|
|
|
587
629
|
doc["type"] = "BODY"; // health monitoring devices
|
|
588
630
|
break;
|
|
589
631
|
case 12:
|
|
590
|
-
doc["type"] = "ENRG"; // energy monitoring devices
|
|
632
|
+
doc["type"] = "ENRG"; // energy producing, monitoring and storing devices
|
|
591
633
|
break;
|
|
592
634
|
case 13:
|
|
593
635
|
doc["type"] = "WCVR"; // window covering
|
|
@@ -610,9 +652,6 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
|
|
|
610
652
|
case 19:
|
|
611
653
|
doc["type"] = "WIND"; // Anemometers
|
|
612
654
|
break;
|
|
613
|
-
case 20:
|
|
614
|
-
doc["type"] = "ENRG"; // Energy
|
|
615
|
-
break;
|
|
616
655
|
case 254:
|
|
617
656
|
doc["type"] = "RMAC"; // random MAC address devices
|
|
618
657
|
break;
|
|
@@ -670,6 +709,12 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
|
|
|
670
709
|
doc["ctrl"] = true;
|
|
671
710
|
jsondata["ctrl"] = doc["ctrl"];
|
|
672
711
|
}
|
|
712
|
+
|
|
713
|
+
if (((data >> 2) & 0x01) == 1) { // BVPP - Battery and/or voltage are primary properties
|
|
714
|
+
doc.add("bvpp");
|
|
715
|
+
doc["bvpp"] = true;
|
|
716
|
+
jsondata["bvpp"] = doc["bvpp"];
|
|
717
|
+
}
|
|
673
718
|
}
|
|
674
719
|
|
|
675
720
|
// Octet Byte[2] - Encryption Model
|
|
@@ -692,7 +737,8 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
|
|
|
692
737
|
|
|
693
738
|
if (checkPropCondition(prop["condition"], svc_data, mfg_data, dev_name)) {
|
|
694
739
|
JsonArray decoder = prop["decoder"];
|
|
695
|
-
if (strstr((const char*)decoder[0], "value_from_hex_data") != nullptr
|
|
740
|
+
if (strstr((const char*)decoder[0], "value_from_hex_data") != nullptr ||
|
|
741
|
+
strstr((const char*)decoder[0], "value_from_bit_data") != nullptr) {
|
|
696
742
|
const char* src = svc_data;
|
|
697
743
|
if (strstr((const char*)decoder[1], MFG_DATA)) {
|
|
698
744
|
src = mfg_data;
|
|
@@ -703,7 +749,21 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
|
|
|
703
749
|
static double cal_val = 0;
|
|
704
750
|
std::string proc_str = "";
|
|
705
751
|
|
|
706
|
-
if (
|
|
752
|
+
if (strstr((const char*)decoder[0], "value_from_bit_data") != nullptr) {
|
|
753
|
+
int bit_offset = decoder[2].as<int>();
|
|
754
|
+
int bit_length = decoder[3].as<int>();
|
|
755
|
+
size_t required_chars = ((size_t)(bit_offset + bit_length + 7) / 8) * 2;
|
|
756
|
+
|
|
757
|
+
if (data_index_is_valid(src, 0, required_chars)) {
|
|
758
|
+
temp_val = value_from_bit_string(
|
|
759
|
+
src,
|
|
760
|
+
bit_offset,
|
|
761
|
+
bit_length,
|
|
762
|
+
decoder[4].isNull() ? true : decoder[4].as<bool>());
|
|
763
|
+
} else {
|
|
764
|
+
break;
|
|
765
|
+
}
|
|
766
|
+
} else if (data_index_is_valid(src, decoder[2].as<int>(), decoder[3].as<int>())) {
|
|
707
767
|
decoder_function dec_fun = &TheengsDecoder::value_from_hex_string;
|
|
708
768
|
|
|
709
769
|
if (strstr((const char*)decoder[0], "bf") != nullptr) {
|
|
@@ -816,6 +876,28 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
|
|
|
816
876
|
}
|
|
817
877
|
}
|
|
818
878
|
|
|
879
|
+
/* Optional enum-style lookup for numeric decoders. */
|
|
880
|
+
if (prop.containsKey("lookup")) {
|
|
881
|
+
JsonArray lookup = prop["lookup"];
|
|
882
|
+
for (unsigned int i = 0; i + 1 < lookup.size(); i += 2) {
|
|
883
|
+
long long lookup_key = LLONG_MIN;
|
|
884
|
+
|
|
885
|
+
if (lookup[i].is<const char*>()) {
|
|
886
|
+
const char* key_str = lookup[i].as<const char*>();
|
|
887
|
+
if (key_str != nullptr) {
|
|
888
|
+
lookup_key = strtoll(key_str, NULL, 16);
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
if (lookup_key != LLONG_MIN &&
|
|
893
|
+
(long long)temp_val == lookup_key &&
|
|
894
|
+
lookup[i + 1].is<const char*>()) {
|
|
895
|
+
proc_str = lookup[i + 1].as<const char*>();
|
|
896
|
+
break;
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
|
|
819
901
|
/* If there is any underscores at the beginning of the property name, there is multiple
|
|
820
902
|
* properties of this type, we need remove the underscores for creating the key.
|
|
821
903
|
*/
|
|
@@ -897,6 +979,12 @@ int TheengsDecoder::decodeBLEJson(JsonObject& jsondata) {
|
|
|
897
979
|
|
|
898
980
|
std::string value(src + decoder[2].as<int>(), decoder[3].as<int>());
|
|
899
981
|
|
|
982
|
+
if (strstr((const char*)decoder[0], "reverse_") != nullptr) {
|
|
983
|
+
std::string reversed(value.length(), '\0');
|
|
984
|
+
reverse_hex_data(value.c_str(), &reversed[0], value.length());
|
|
985
|
+
value = reversed;
|
|
986
|
+
}
|
|
987
|
+
|
|
900
988
|
/* Lookup table */
|
|
901
989
|
if (prop.containsKey("lookup")) {
|
|
902
990
|
JsonArray lookup = prop["lookup"];
|
|
@@ -177,6 +177,7 @@ public:
|
|
|
177
177
|
UT363BT,
|
|
178
178
|
VICTRON_ENCR,
|
|
179
179
|
VICTBSC,
|
|
180
|
+
VICTORIONTR,
|
|
180
181
|
VICTORIONXS,
|
|
181
182
|
VICTSBP,
|
|
182
183
|
VICTSBS,
|
|
@@ -185,6 +186,7 @@ public:
|
|
|
185
186
|
SE_TEMP,
|
|
186
187
|
SE_TPROBE,
|
|
187
188
|
SE_MAG,
|
|
189
|
+
ODACE_WLBL,
|
|
188
190
|
SBBT_002C,
|
|
189
191
|
SBBT_002C_ENCR,
|
|
190
192
|
SBBT_004CEU_US,
|
|
@@ -201,6 +203,7 @@ public:
|
|
|
201
203
|
private:
|
|
202
204
|
void reverse_hex_data(const char* in, char* out, int l);
|
|
203
205
|
double value_from_hex_string(const char* data_str, int offset, int data_length, bool reverse, bool canBeNegative = true, bool isFloat = false);
|
|
206
|
+
double value_from_bit_string(const char* data_str, int bit_offset, int bit_length, bool canBeNegative = true);
|
|
204
207
|
double bf_value_from_hex_string(const char* data_str, int offset, int data_length, bool reverse, bool canBeNegative = true, bool isFloat = false);
|
|
205
208
|
bool data_index_is_valid(const char* str, size_t index, size_t len);
|
|
206
209
|
bool data_length_is_valid(size_t data_len, size_t default_min, const JsonArray& condition, int *idx);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const char* _BM2_json = "{\"brand\":\"GENERIC\",\"model\":\"BM2 Battery Monitor\",\"model_id\":\"BM2\",\"tag\":\"
|
|
1
|
+
const char* _BM2_json = "{\"brand\":\"GENERIC\",\"model\":\"BM2 Battery Monitor\",\"model_id\":\"BM2\",\"tag\":\"0848\",\"condition\":[\"manufacturerdata\",\"=\",50,\"index\",0,\"4c000215655f83caae16a10a702e31f30d58dd82\"],\"properties\":{\"batt\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",48,2,false]},\"device\":{\"decoder\":[\"static_value\",\"BM2 Tracker\"]}}}";
|
|
2
2
|
|
|
3
3
|
/*R""""(
|
|
4
4
|
{
|
|
5
5
|
"brand":"GENERIC",
|
|
6
6
|
"model":"BM2 Battery Monitor",
|
|
7
7
|
"model_id":"BM2",
|
|
8
|
-
"tag":"
|
|
8
|
+
"tag":"0848",
|
|
9
9
|
"condition":["manufacturerdata", "=", 50, "index", 0, "4c000215655f83caae16a10a702e31f30d58dd82"],
|
|
10
10
|
"properties":{
|
|
11
11
|
"batt":{
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const char* _BM6_json = "{\"brand\":\"GENERIC\",\"model\":\"BM6 Battery Monitor\",\"model_id\":\"BM6\",\"tag\":\"
|
|
1
|
+
const char* _BM6_json = "{\"brand\":\"GENERIC\",\"model\":\"BM6 Battery Monitor\",\"model_id\":\"BM6\",\"tag\":\"0848\",\"condition\":[\"manufacturerdata\",\"=\",50,\"index\",0,\"4c0002153ba29cd9a42c894856badaf2606ef777\"],\"properties\":{\"batt\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",42,2,false]},\"device\":{\"decoder\":[\"static_value\",\"BM6 Tracker\"]}}}";
|
|
2
2
|
/*R""""(
|
|
3
3
|
{
|
|
4
4
|
"brand":"GENERIC",
|
|
5
5
|
"model":"BM6 Battery Monitor",
|
|
6
6
|
"model_id":"BM6",
|
|
7
|
-
"tag":"
|
|
7
|
+
"tag":"0848",
|
|
8
8
|
"condition":["manufacturerdata", "=", 50, "index", 0, "4c0002153ba29cd9a42c894856badaf2606ef777"],
|
|
9
9
|
"properties":{
|
|
10
10
|
"batt":{
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const char* _ECOFLOW_ADV_json = "{\"brand\":\"EcoFlow\",\"model\":\"Power Station\",\"model_id\":\"ECOFLOW_ADV\",\"tag\":\"
|
|
1
|
+
const char* _ECOFLOW_ADV_json = "{\"brand\":\"EcoFlow\",\"model\":\"Power Station\",\"model_id\":\"ECOFLOW_ADV\",\"tag\":\"0c49\",\"condition\":[\"manufacturerdata\",\"=\",52,\"index\",0,\"b5b5\"],\"properties\":{\"version\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",6,6],\"lookup\":[\"00\",\"off\",\"523630\",\"RIVER 2\",\"523631\",\"RIVER 2 Max\",\"523632\",\"RIVER 2 Pro\",\"523635\",\"RIVER 3\",\"523333\",\"DELTA 2\"]},\"batt\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",38,2,false,false],\"post_proc\":[\"&\",127]}}}";
|
|
2
2
|
/*R""""(
|
|
3
3
|
{
|
|
4
4
|
"brand":"EcoFlow",
|
|
5
5
|
"model":"Power Station",
|
|
6
6
|
"model_id":"ECOFLOW_ADV",
|
|
7
|
-
"tag":"
|
|
7
|
+
"tag":"0c49",
|
|
8
8
|
"condition":["manufacturerdata", "=", 52, "index", 0, "b5b5"],
|
|
9
9
|
"properties":{
|
|
10
10
|
"version":{
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const char* _ODACE_WLBL_json = "{\"brand\":\"Schneider Electric\",\"model\":\"Odace WLBL\",\"model_id\":\"S520104\",\"tag\":\"1104\",\"condition\":[\"manufacturerdata\",\">=\",24,\"index\",0,\"b6028e44\"],\"properties\":{\"uid\":{\"decoder\":[\"reverse_string_from_hex_data\",\"manufacturerdata\",14,6]},\"action\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",22,2],\"lookup\":[\"00\",\"off\",\"01\",\"on\",\"02\",\"toggle\",\"03\",\"dim_up\",\"04\",\"dim_down\",\"05\",\"up\",\"06\",\"down\",\"07\",\"stop\",\"08\",\"scene_user\",\"09\",\"scene_in\",\"0a\",\"scene_out\"]}}}";
|
|
2
|
+
|
|
3
|
+
/*R""""(
|
|
4
|
+
{
|
|
5
|
+
"brand":"Schneider Electric",
|
|
6
|
+
"model":"Odace WLBL",
|
|
7
|
+
"model_id":"S520104",
|
|
8
|
+
"tag":"1104",
|
|
9
|
+
"condition":["manufacturerdata", ">=", 24, "index", 0, "b6028e44"],
|
|
10
|
+
"properties":{
|
|
11
|
+
"uid":{
|
|
12
|
+
"decoder":["reverse_string_from_hex_data", "manufacturerdata", 14, 6]
|
|
13
|
+
},
|
|
14
|
+
"action":{
|
|
15
|
+
"decoder":["string_from_hex_data", "manufacturerdata", 22, 2],
|
|
16
|
+
"lookup":["00", "off",
|
|
17
|
+
"01", "on",
|
|
18
|
+
"02", "toggle",
|
|
19
|
+
"03", "dim_up",
|
|
20
|
+
"04", "dim_down",
|
|
21
|
+
"05", "up",
|
|
22
|
+
"06", "down",
|
|
23
|
+
"07", "stop",
|
|
24
|
+
"08", "scene_user",
|
|
25
|
+
"09", "scene_in",
|
|
26
|
+
"0a", "scene_out"]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
})"""";*/
|
|
30
|
+
|
|
31
|
+
const char* _ODACE_WLBL_json_props = "{\"properties\":{\"uid\":{\"unit\":\"string\",\"name\":\"device UID\"},\"action\":{\"unit\":\"event\",\"name\":\"button action\",\"events\":[\"off\",\"on\",\"toggle\",\"dim_up\",\"dim_down\",\"up\",\"down\",\"stop\",\"scene_user\",\"scene_in\",\"scene_out\"]}}}";
|
|
32
|
+
|
|
33
|
+
/*R""""(
|
|
34
|
+
{
|
|
35
|
+
"properties":{
|
|
36
|
+
"uid":{
|
|
37
|
+
"unit":"string",
|
|
38
|
+
"name":"device UID"
|
|
39
|
+
},
|
|
40
|
+
"action":{
|
|
41
|
+
"unit":"event",
|
|
42
|
+
"name":"button action",
|
|
43
|
+
"events":["off", "on", "toggle", "dim_up", "dim_down", "up", "down", "stop", "scene_user", "scene_in", "scene_out"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
})"""";*/
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#include "common_props.h"
|
|
2
2
|
|
|
3
|
-
const char* _SBMP_json = "{\"brand\":\"SwitchBot\",\"model\":\"Meter Pro (CO2)\",\"model_id\":\"W490001X\",\"tag\":\"
|
|
3
|
+
const char* _SBMP_json = "{\"brand\":\"SwitchBot\",\"model\":\"Meter Pro (CO2)\",\"model_id\":\"W490001X\",\"tag\":\"0202\",\"condition\":[\"servicedata\",\"=\",6,\"index\",0,\"35\",\"|\",\"servicedata\",\"=\",6,\"index\",0,\"34\",\"&\",\"uuid\",\"index\",0,\"fd3d\",\"&\",\"manufacturerdata\",\">=\",30,\"index\",0,\"6909\"],\"properties\":{\".cal\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",21,1,false,false],\"post_proc\":[\"/\",10]},\"tempc\":{\"condition\":[\"manufacturerdata\",22,\"bit\",3,0],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",22,2,true,false],\"post_proc\":[\"+\",\".cal\",\"*\",-1]},\"_tempc\":{\"condition\":[\"manufacturerdata\",22,\"bit\",3,1],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",22,2,true,false],\"post_proc\":[\"+\",\".cal\",\"-\",128]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",24,2,false,false],\"post_proc\":[\"&\",127]},\"batt\":{\"decoder\":[\"value_from_hex_data\",\"servicedata\",4,2,false,false],\"post_proc\":[\"&\",127]},\"mac\":{\"decoder\":[\"mac_from_hex_data\",\"manufacturerdata\",4]},\"co2\":{\"condition\":[\"manufacturerdata\",\"=\",36],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",30,4,false,false]}}}";
|
|
4
4
|
/*R""""(
|
|
5
5
|
{
|
|
6
6
|
"brand":"SwitchBot",
|
|
7
7
|
"model":"Meter Pro (CO2)",
|
|
8
8
|
"model_id":"W490001X",
|
|
9
|
-
"tag":"
|
|
10
|
-
"condition":["
|
|
9
|
+
"tag":"0202",
|
|
10
|
+
"condition":["servicedata", "=", 6, "index", 0, "35", "|", "servicedata", "=", 6, "index", 0, "34", "&", "uuid", "index", 0, "fd3d", "&", "manufacturerdata", ">=", 30, "index", 0, "6909"],
|
|
11
11
|
"properties":{
|
|
12
12
|
".cal":{
|
|
13
13
|
"decoder":["value_from_hex_data", "manufacturerdata", 21, 1, false, false],
|
|
@@ -27,15 +27,16 @@ const char* _SBMP_json = "{\"brand\":\"SwitchBot\",\"model\":\"Meter Pro (CO2)\"
|
|
|
27
27
|
"decoder":["value_from_hex_data", "manufacturerdata", 24, 2, false, false],
|
|
28
28
|
"post_proc":["&", 127]
|
|
29
29
|
},
|
|
30
|
-
"co2":{
|
|
31
|
-
"decoder":["value_from_hex_data", "manufacturerdata", 30, 4, false, false]
|
|
32
|
-
},
|
|
33
30
|
"batt":{
|
|
34
31
|
"decoder":["value_from_hex_data", "servicedata", 4, 2, false, false],
|
|
35
32
|
"post_proc":["&", 127]
|
|
36
33
|
},
|
|
37
34
|
"mac":{
|
|
38
35
|
"decoder":["mac_from_hex_data", "manufacturerdata", 4]
|
|
36
|
+
},
|
|
37
|
+
"co2":{
|
|
38
|
+
"condition":["manufacturerdata", "=", 36],
|
|
39
|
+
"decoder":["value_from_hex_data", "manufacturerdata", 30, 4, false, false]
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
42
|
})"""";*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const char* _VICTBSC_json = "{\"brand\":\"Victron Energy\",\"model\":\"Blue Smart Charger\",\"model_id\":\"VICTBSC\",\"tag\":\"
|
|
1
|
+
const char* _VICTBSC_json = "{\"brand\":\"Victron Energy\",\"model\":\"Blue Smart Charger\",\"model_id\":\"VICTBSC\",\"tag\":\"0c40\",\"condition\":[\"manufacturerdata\",\"=\",46,\"index\",0,\"e10211\",\"&\",\"manufacturerdata\",\"index\",12,\"08ffff\"],\"properties\":{\"device_state\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",20,2]},\"_device_state\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",20,2],\"lookup\":[\"00\",\"off\",\"01\",\"low power\",\"02\",\"fault\",\"03\",\"bulk\",\"04\",\"absorption\",\"05\",\"float\",\"06\",\"storage\",\"07\",\"equalize manual\",\"09\",\"inverting\",\"0b\",\"power supply\",\"f5\",\"starting up\",\"f6\",\"repeated absorption\",\"f7\",\"recondition\",\"f8\",\"battery safe\",\"f9\",\"active\",\"fc\",\"external control\",\"ff\",\"N/A\"]},\"volt_batt_1\":{\"condition\":[\"manufacturerdata\",24,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",24,4,true,false],\"post_proc\":[\"&\",8191,\"/\",100]},\"current_batt_1\":{\"condition\":[\"manufacturerdata\",26,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",26,4,true,false],\"post_proc\":[\">\",5,\"&\",2047,\"/\",10]},\"volt_batt_2\":{\"condition\":[\"manufacturerdata\",30,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",30,4,true,false],\"post_proc\":[\"&\",8191,\"/\",100]},\"current_batt_2\":{\"condition\":[\"manufacturerdata\",32,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",32,4,true,false],\"post_proc\":[\">\",5,\"&\",2047,\"/\",10]},\"volt_batt_3\":{\"condition\":[\"manufacturerdata\",36,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",36,4,true,false],\"post_proc\":[\"&\",8191,\"/\",100]},\"current_batt_3\":{\"condition\":[\"manufacturerdata\",38,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",38,4,true,false],\"post_proc\":[\">\",5,\"&\",2047,\"/\",10]},\"tempc\":{\"condition\":[\"manufacturerdata\",42,\"!\",\"ff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",42,2],\"post_proc\":[\"&\",127,\"-\",40]},\"current_ac\":{\"condition\":[\"manufacturerdata\",44,\"!\",\"ff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",42,4,false,false],\"post_proc\":[\"&\",511,\"/\",10]},\"error_code\":{\"condition\":[\"manufacturerdata\",22,\"!\",\"ff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",22,2]}}}";
|
|
2
2
|
/*R""""(
|
|
3
3
|
{
|
|
4
4
|
"brand":"Victron Energy",
|
|
5
5
|
"model":"Blue Smart Charger",
|
|
6
6
|
"model_id":"VICTBSC",
|
|
7
|
-
"tag":"
|
|
7
|
+
"tag":"0c40",
|
|
8
8
|
"condition":["manufacturerdata", "=", 46, "index", 0, "e10211", "&", "manufacturerdata", "index", 12, "08ffff"],
|
|
9
9
|
"properties":{
|
|
10
10
|
"device_state":{
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
const char* _VICTORIONTR_json = "{\"brand\":\"Victron Energy\",\"model\":\"Orion TR\",\"model_id\":\"VICTORIONTR\",\"tag\":\"0c48\",\"condition\":[\"manufacturerdata\",\"=\",40,\"index\",0,\"e10211\",\"&\",\"manufacturerdata\",\"index\",8,\"d0a3\",\"&\",\"manufacturerdata\",\"index\",12,\"04ffff\"],\"properties\":{\"device_state\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",20,2],\"lookup\":[\"00\",\"off\",\"01\",\"low power\",\"02\",\"fault\",\"03\",\"bulk\",\"04\",\"absorption\",\"05\",\"float\",\"06\",\"storage\",\"07\",\"equalize manual\",\"09\",\"inverting\",\"0b\",\"power_supply\",\"f5\",\"starting up\",\"f6\",\"repeated absorption\",\"f7\",\"recondition\",\"f8\",\"battery safe\",\"f9\",\"active\",\"fc\",\"external control\",\"ff\",\"N/A\"]},\"volt_in\":{\"condition\":[\"manufacturerdata\",24,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",24,4,true,false],\"post_proc\":[\"/\",100]},\"volt_out\":{\"condition\":[\"manufacturerdata\",28,\"!\",\"ff7f\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,true],\"post_proc\":[\"/\",100]},\"off_reason\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",32,8,true,false]},\"error_code\":{\"condition\":[\"manufacturerdata\",22,\"!\",\"ff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",22,2]}}}";
|
|
2
|
+
/*R""""(
|
|
3
|
+
{
|
|
4
|
+
"brand":"Victron Energy",
|
|
5
|
+
"model":"Orion TR",
|
|
6
|
+
"model_id":"VICTORIONTR",
|
|
7
|
+
"tag":"0c48",
|
|
8
|
+
"condition":["manufacturerdata", "=", 40, "index", 0, "e10211", "&", "manufacturerdata", "index", 8, "d0a3", "&", "manufacturerdata", "index", 12, "04ffff"],
|
|
9
|
+
"properties":{
|
|
10
|
+
"device_state":{
|
|
11
|
+
"decoder":["string_from_hex_data", "manufacturerdata", 20, 2],
|
|
12
|
+
"lookup":["00", "off",
|
|
13
|
+
"01", "low power",
|
|
14
|
+
"02", "fault",
|
|
15
|
+
"03", "bulk",
|
|
16
|
+
"04", "absorption",
|
|
17
|
+
"05", "float",
|
|
18
|
+
"06", "storage",
|
|
19
|
+
"07", "equalize manual",
|
|
20
|
+
"09", "inverting",
|
|
21
|
+
"0b", "power_supply",
|
|
22
|
+
"f5", "starting up",
|
|
23
|
+
"f6", "repeated absorption",
|
|
24
|
+
"f7", "recondition",
|
|
25
|
+
"f8", "battery safe",
|
|
26
|
+
"f9", "active",
|
|
27
|
+
"fc", "external control",
|
|
28
|
+
"ff", "N/A"]
|
|
29
|
+
},
|
|
30
|
+
"volt_in":{
|
|
31
|
+
"condition":["manufacturerdata", 24, "!", "ffff"],
|
|
32
|
+
"decoder":["value_from_hex_data", "manufacturerdata", 24, 4, true, false],
|
|
33
|
+
"post_proc":["/", 100]
|
|
34
|
+
},
|
|
35
|
+
"volt_out":{
|
|
36
|
+
"condition":["manufacturerdata", 28, "!", "ff7f"],
|
|
37
|
+
"decoder":["value_from_hex_data", "manufacturerdata", 28, 4, true, true],
|
|
38
|
+
"post_proc":["/", 100]
|
|
39
|
+
},
|
|
40
|
+
"off_reason":{
|
|
41
|
+
"decoder":["value_from_hex_data", "manufacturerdata", 32, 8, true, false]
|
|
42
|
+
},
|
|
43
|
+
"error_code":{
|
|
44
|
+
"condition":["manufacturerdata", 22, "!", "ff"],
|
|
45
|
+
"decoder":["value_from_hex_data", "manufacturerdata", 22, 2]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
})"""";*/
|
|
49
|
+
|
|
50
|
+
const char* _VICTORIONTR_json_props = "{\"properties\":{\"device_state\":{\"unit\":\"string\",\"name\":\"device state\"},\"volt_out\":{\"unit\":\"V\",\"name\":\"voltage\"},\"volt_in\":{\"unit\":\"V\",\"name\":\"voltage\"},\"off_reason\":{\"unit\":\"int\",\"name\":\"off reason\"},\"error_code\":{\"unit\":\"int\",\"name\":\"error code\"}}}";
|
|
51
|
+
/*R""""(
|
|
52
|
+
{
|
|
53
|
+
"properties":{
|
|
54
|
+
"device_state":{
|
|
55
|
+
"unit":"string",
|
|
56
|
+
"name":"device state"
|
|
57
|
+
},
|
|
58
|
+
"volt_out": {
|
|
59
|
+
"unit": "V",
|
|
60
|
+
"name": "voltage"
|
|
61
|
+
},
|
|
62
|
+
"volt_in": {
|
|
63
|
+
"unit": "V",
|
|
64
|
+
"name": "voltage"
|
|
65
|
+
},
|
|
66
|
+
"off_reason":{
|
|
67
|
+
"unit":"int",
|
|
68
|
+
"name":"off reason"
|
|
69
|
+
},
|
|
70
|
+
"error_code":{
|
|
71
|
+
"unit":"int",
|
|
72
|
+
"name":"error code"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
})"""";*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const char* _VICTORIONXS_json = "{\"brand\":\"Victron Energy\",\"model\":\"Orion XS\",\"model_id\":\"VICTORIONXS\",\"tag\":\"
|
|
1
|
+
const char* _VICTORIONXS_json = "{\"brand\":\"Victron Energy\",\"model\":\"Orion XS\",\"model_id\":\"VICTORIONXS\",\"tag\":\"0c48\",\"condition\":[\"manufacturerdata\",\"=\",48,\"index\",0,\"e10211\",\"&\",\"manufacturerdata\",\"index\",12,\"0fffff\"],\"properties\":{\"device_state\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",20,2],\"lookup\":[\"00\",\"off\",\"01\",\"low power\",\"02\",\"fault\",\"03\",\"bulk\",\"04\",\"absorption\",\"05\",\"float\",\"06\",\"storage\",\"07\",\"equalize manual\",\"09\",\"inverting\",\"0b\",\"power_supply\",\"f5\",\"starting up\",\"f6\",\"repeated absorption\",\"f7\",\"recondition\",\"f8\",\"battery safe\",\"f9\",\"active\",\"fc\",\"external control\",\"ff\",\"N/A\"]},\"volt_out\":{\"condition\":[\"manufacturerdata\",24,\"!\",\"7fff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",24,4,true,true],\"post_proc\":[\"/\",100]},\"current_out\":{\"condition\":[\"manufacturerdata\",28,\"!\",\"7fff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,true],\"post_proc\":[\"/\",10]},\"volt_in\":{\"condition\":[\"manufacturerdata\",32,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",32,4,true,false],\"post_proc\":[\"/\",100]},\"current_in\":{\"condition\":[\"manufacturerdata\",36,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",36,4,true,false],\"post_proc\":[\"/\",10]},\"error_code\":{\"condition\":[\"manufacturerdata\",22,\"!\",\"ff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",22,2]}}}";
|
|
2
2
|
/*R""""(
|
|
3
3
|
{
|
|
4
4
|
"brand":"Victron Energy",
|
|
5
5
|
"model":"Orion XS",
|
|
6
6
|
"model_id":"VICTORIONXS",
|
|
7
|
-
"tag":"
|
|
7
|
+
"tag":"0c48",
|
|
8
8
|
"condition":["manufacturerdata", "=", 48, "index", 0, "e10211", "&", "manufacturerdata", "index", 12, "0fffff"],
|
|
9
9
|
"properties":{
|
|
10
10
|
"device_state":{
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const char* _VICTSBP_json = "{\"brand\":\"Victron Energy\",\"model\":\"Smart BatteryProtect\",\"model_id\":\"VICTSBP\",\"tag\":\"
|
|
1
|
+
const char* _VICTSBP_json = "{\"brand\":\"Victron Energy\",\"model\":\"Smart BatteryProtect\",\"model_id\":\"VICTSBP\",\"tag\":\"0c48\",\"condition\":[\"manufacturerdata\",\"=\",50,\"index\",0,\"e10211\",\"&\",\"manufacturerdata\",\"index\",12,\"09ffff\"],\"properties\":{\"device_state\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",20,2],\"lookup\":[\"00\",\"off\",\"01\",\"low power\",\"02\",\"fault\",\"03\",\"bulk\",\"04\",\"absorption\",\"05\",\"float\",\"06\",\"storage\",\"07\",\"equalize manual\",\"09\",\"inverting\",\"0b\",\"power_supply\",\"f5\",\"starting up\",\"f6\",\"repeated absorption\",\"f7\",\"recondition\",\"f8\",\"battery safe\",\"f9\",\"active\",\"fc\",\"external control\",\"ff\",\"N/A\"]},\"output_state\":{\"decoder\":[\"string_from_hex_data\",\"manufacturerdata\",22,2],\"lookup\":[\"00\",\"off\",\"01\",\"on\",\"ff\",\"N/A\"]},\"volt_in\":{\"condition\":[\"manufacturerdata\",34,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",34,4,true,true],\"post_proc\":[\"&\",32767,\"/\",100]},\"volt_out\":{\"condition\":[\"manufacturerdata\",38,\"!\",\"ffff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",38,4,true,false],\"post_proc\":[\"/\",100]},\"error_code\":{\"condition\":[\"manufacturerdata\",24,\"!\",\"ff\"],\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",24,2]},\"alarm_reason\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",26,4]},\"warning_reason\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",30,4]}}}";
|
|
2
2
|
/*R""""(
|
|
3
3
|
{
|
|
4
4
|
"brand":"Victron Energy",
|
|
5
5
|
"model":"Smart BatteryProtect",
|
|
6
6
|
"model_id":"VICTSBP",
|
|
7
|
-
"tag":"
|
|
7
|
+
"tag":"0c48",
|
|
8
8
|
"condition":["manufacturerdata", "=", 50, "index", 0, "e10211", "&", "manufacturerdata", "index", 12, "09ffff"],
|
|
9
9
|
"properties":{
|
|
10
10
|
"device_state":{
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
const char* _VICTSBS_json = "{\"brand\":\"Victron Energy\",\"model\":\"Battery Monitor/Smart Battery Sense/SmartShunt\",\"model_id\":\"VICTSBS\",\"tag\":\"0c48\",\"condition\":[\"manufacturerdata\",\"=\",50,\"index\",0,\"e10211\",\"&\",\"manufacturerdata\",\"index\",12,\"02ffff\"],\"properties\":{\"ttg\":{\"condition\":[\"manufacturerdata\",20,\"!\",\"ffff\"],\"decoder\":[\"value_from_bit_data\",\"manufacturerdata\",80,16,false]},\"volt\":{\"decoder\":[\"value_from_bit_data\",\"manufacturerdata\",96,16,true],\"post_proc\":[\"/\",100]},\"volt_aux\":{\"condition\":[\"manufacturerdata\",37,\"bit\",0,0,\"&\",\"manufacturerdata\",37,\"bit\",1,0],\"decoder\":[\"value_from_bit_data\",\"manufacturerdata\",128,16,true],\"post_proc\":[\"/\",100]},\"volt_mid\":{\"condition\":[\"manufacturerdata\",37,\"bit\",0,1,\"&\",\"manufacturerdata\",37,\"bit\",1,0],\"decoder\":[\"value_from_bit_data\",\"manufacturerdata\",128,16,true],\"post_proc\":[\"/\",100]},\"tempc\":{\"condition\":[\"manufacturerdata\",37,\"bit\",0,0,\"&\",\"manufacturerdata\",37,\"bit\",1,1],\"decoder\":[\"value_from_bit_data\",\"manufacturerdata\",128,16,true],\"post_proc\":[\"-\",27315,\"/\",100]},\"current\":{\"condition\":[\"manufacturerdata\",38,\"!\",\"ff\"],\"decoder\":[\"value_from_bit_data\",\"manufacturerdata\",146,22,true],\"post_proc\":[\"/\",1000]},\"consumed_ah\":{\"condition\":[\"manufacturerdata\",42,\"!\",\"ffff\",\"|\",\"manufacturerdata\",47,\"!\",\"f\"],\"decoder\":[\"value_from_bit_data\",\"manufacturerdata\",168,20,true],\"post_proc\":[\"/\",-10]},\"soc\":{\"condition\":[\"manufacturerdata\",46,\"!\",\"f\",\"|\",\"manufacturerdata\",49,\"!\",\"f\",\"|\",\"manufacturerdata\",48,\"bit\",0,0,\"|\",\"manufacturerdata\",48,\"bit\",1,0],\"decoder\":[\"value_from_bit_data\",\"manufacturerdata\",188,10,false],\"post_proc\":[\"/\",10]},\"alarm_reason\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",28,4,true,false]}}}";
|
|
2
|
+
/*R""""(
|
|
3
|
+
{
|
|
4
|
+
"brand":"Victron Energy",
|
|
5
|
+
"model":"Battery Monitor/Smart Battery Sense/SmartShunt",
|
|
6
|
+
"model_id":"VICTSBS",
|
|
7
|
+
"tag":"0c48",
|
|
8
|
+
"condition":["manufacturerdata", "=", 50, "index", 0, "e10211", "&", "manufacturerdata", "index", 12, "02ffff"],
|
|
9
|
+
"properties":{
|
|
10
|
+
"ttg":{
|
|
11
|
+
"condition":["manufacturerdata", 20, "!", "ffff"],
|
|
12
|
+
"decoder":["value_from_bit_data", "manufacturerdata", 80, 16, false]
|
|
13
|
+
},
|
|
14
|
+
"volt":{
|
|
15
|
+
"decoder":["value_from_bit_data", "manufacturerdata", 96, 16, true],
|
|
16
|
+
"post_proc":["/", 100]
|
|
17
|
+
},
|
|
18
|
+
"volt_aux":{
|
|
19
|
+
"condition":["manufacturerdata", 37, "bit", 0, 0, "&", "manufacturerdata", 37, "bit", 1, 0],
|
|
20
|
+
"decoder":["value_from_bit_data", "manufacturerdata", 128, 16, true],
|
|
21
|
+
"post_proc":["/", 100]
|
|
22
|
+
},
|
|
23
|
+
"volt_mid":{
|
|
24
|
+
"condition":["manufacturerdata", 37, "bit", 0, 1, "&", "manufacturerdata", 37, "bit", 1, 0],
|
|
25
|
+
"decoder":["value_from_bit_data", "manufacturerdata", 128, 16, true],
|
|
26
|
+
"post_proc":["/", 100]
|
|
27
|
+
},
|
|
28
|
+
"tempc":{
|
|
29
|
+
"condition":["manufacturerdata", 37, "bit", 0, 0, "&", "manufacturerdata", 37, "bit", 1, 1],
|
|
30
|
+
"decoder":["value_from_bit_data", "manufacturerdata", 128, 16, true],
|
|
31
|
+
"post_proc":["-", 27315, "/", 100]
|
|
32
|
+
},
|
|
33
|
+
"current":{
|
|
34
|
+
"condition":["manufacturerdata", 38, "!", "ff"],
|
|
35
|
+
"decoder":["value_from_bit_data", "manufacturerdata", 146, 22, true],
|
|
36
|
+
"post_proc":["/", 1000]
|
|
37
|
+
},
|
|
38
|
+
"consumed_ah":{
|
|
39
|
+
"condition":["manufacturerdata", 42, "!", "ffff", "|", "manufacturerdata", 47, "!", "f"],
|
|
40
|
+
"decoder":["value_from_bit_data", "manufacturerdata", 168, 20, true],
|
|
41
|
+
"post_proc":["/", -10]
|
|
42
|
+
},
|
|
43
|
+
"soc":{
|
|
44
|
+
"condition":["manufacturerdata", 46, "!", "f", "|", "manufacturerdata", 49, "!", "f", "|", "manufacturerdata", 48, "bit", 0, 0, "|", "manufacturerdata", 48, "bit", 1, 0],
|
|
45
|
+
"decoder":["value_from_bit_data", "manufacturerdata", 188, 10, false],
|
|
46
|
+
"post_proc":["/", 10]
|
|
47
|
+
},
|
|
48
|
+
"alarm_reason":{
|
|
49
|
+
"decoder":["value_from_hex_data", "manufacturerdata", 28, 4, true, false]
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
})"""";*/
|
|
53
|
+
|
|
54
|
+
const char* _VICTSBS_json_props = "{\"properties\":{\"ttg\":{\"unit\":\"min\",\"name\":\"duration\"},\"volt\":{\"unit\":\"V\",\"name\":\"voltage\"},\"volt_aux\":{\"unit\":\"V\",\"name\":\"voltage\"},\"volt_mid\":{\"unit\":\"V\",\"name\":\"voltage\"},\"tempc\":{\"unit\":\"°C\",\"name\":\"temperature\"},\"current\":{\"unit\":\"A\",\"name\":\"current\"},\"consumed_ah\":{\"unit\":\"Ah\",\"name\":\"consumed ampere hours\"},\"soc\":{\"unit\":\"%\",\"name\":\"state of charge\"},\"alarm_reason\":{\"unit\":\"int\",\"name\":\"alarm reason\"}}}";
|
|
55
|
+
/*R""""(
|
|
56
|
+
{
|
|
57
|
+
"properties":{
|
|
58
|
+
"ttg":{
|
|
59
|
+
"unit":"min",
|
|
60
|
+
"name":"duration"
|
|
61
|
+
},
|
|
62
|
+
"volt": {
|
|
63
|
+
"unit": "V",
|
|
64
|
+
"name": "voltage"
|
|
65
|
+
},
|
|
66
|
+
"volt_aux":{
|
|
67
|
+
"unit":"V",
|
|
68
|
+
"name":"voltage"
|
|
69
|
+
},
|
|
70
|
+
"volt_mid":{
|
|
71
|
+
"unit":"V",
|
|
72
|
+
"name":"voltage"
|
|
73
|
+
},
|
|
74
|
+
"tempc":{
|
|
75
|
+
"unit":"°C",
|
|
76
|
+
"name":"temperature"
|
|
77
|
+
},
|
|
78
|
+
"current":{
|
|
79
|
+
"unit":"A",
|
|
80
|
+
"name":"current"
|
|
81
|
+
},
|
|
82
|
+
"consumed_ah":{
|
|
83
|
+
"unit":"Ah",
|
|
84
|
+
"name":"consumed ampere hours"
|
|
85
|
+
},
|
|
86
|
+
"soc":{
|
|
87
|
+
"unit":"%",
|
|
88
|
+
"name":"state of charge"
|
|
89
|
+
},
|
|
90
|
+
"alarm_reason":{
|
|
91
|
+
"unit":"int",
|
|
92
|
+
"name":"alarm reason"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
})"""";*/
|