├── lib ├── ArduinoJson │ ├── component.mk │ ├── extras │ │ ├── fuzzing │ │ │ ├── json_seed_corpus │ │ │ │ ├── EmptyArray.json │ │ │ │ ├── EmptyObject.json │ │ │ │ ├── IntegerOverflow.json │ │ │ │ ├── Strings.json │ │ │ │ ├── Comments.json │ │ │ │ ├── Numbers.json │ │ │ │ ├── ExcessiveNesting.json │ │ │ │ └── OpenWeatherMap.json │ │ │ ├── msgpack_seed_corpus │ │ │ │ ├── fixint_positive │ │ │ │ ├── int8 │ │ │ │ ├── nil │ │ │ │ ├── str8 │ │ │ │ ├── true │ │ │ │ ├── false │ │ │ │ ├── fixmap │ │ │ │ ├── fixstr │ │ │ │ ├── int16 │ │ │ │ ├── int32 │ │ │ │ ├── int64 │ │ │ │ ├── map16 │ │ │ │ ├── map32 │ │ │ │ ├── str16 │ │ │ │ ├── str32 │ │ │ │ ├── uint16 │ │ │ │ ├── uint32 │ │ │ │ ├── uint64 │ │ │ │ ├── uint8 │ │ │ │ ├── array16 │ │ │ │ ├── array32 │ │ │ │ ├── fixarray │ │ │ │ ├── float32 │ │ │ │ ├── float64 │ │ │ │ └── fixint_negative │ │ │ ├── json_fuzzer.cpp │ │ │ ├── msgpack_fuzzer.cpp │ │ │ ├── Makefile │ │ │ └── reproducer.cpp │ │ ├── particle │ │ │ ├── project.properties │ │ │ └── src │ │ │ │ └── smocktest.ino │ │ ├── ArduinoJsonConfig.cmake.in │ │ ├── ci │ │ │ ├── espidf │ │ │ │ ├── main │ │ │ │ │ ├── component.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── main.cpp │ │ │ │ └── CMakeLists.txt │ │ │ └── particle.sh │ │ ├── tests │ │ │ ├── catch │ │ │ │ ├── catch.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── FailingBuilds │ │ │ │ ├── assign_char.cpp │ │ │ │ ├── variant_as_char.cpp │ │ │ │ ├── delete_jsondocument.cpp │ │ │ │ ├── Issue978.cpp │ │ │ │ ├── Issue1189.cpp │ │ │ │ ├── write_long_long.cpp │ │ │ │ ├── read_long_long.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── Helpers │ │ │ │ ├── Arduino.h │ │ │ │ ├── api │ │ │ │ │ ├── Stream.h │ │ │ │ │ └── Print.h │ │ │ │ ├── CustomReader.hpp │ │ │ │ └── progmem_emulation.hpp │ │ │ ├── MixedConfiguration │ │ │ │ ├── decode_unicode_1.cpp │ │ │ │ ├── decode_unicode_0.cpp │ │ │ │ ├── use_double_0.cpp │ │ │ │ ├── use_double_1.cpp │ │ │ │ ├── issue1707.cpp │ │ │ │ ├── enable_nan_0.cpp │ │ │ │ ├── enable_nan_1.cpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── enable_infinity_1.cpp │ │ │ │ ├── enable_alignment_1.cpp │ │ │ │ ├── enable_infinity_0.cpp │ │ │ │ └── enable_alignment_0.cpp │ │ │ ├── Cpp11 │ │ │ │ ├── use_long_long_0.cpp │ │ │ │ ├── use_long_long_1.cpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── nullptr.cpp │ │ │ ├── Cpp20 │ │ │ │ ├── smoke_test.cpp │ │ │ │ └── CMakeLists.txt │ │ │ ├── Misc │ │ │ │ ├── custom_string.hpp │ │ │ │ ├── version.cpp │ │ │ │ ├── NoArduinoHeader.cpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── weird_strcmp.hpp │ │ │ │ ├── conflicts.cpp │ │ │ │ ├── FloatParts.cpp │ │ │ │ └── Utf8.cpp │ │ │ ├── MemoryPool │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── clear.cpp │ │ │ │ ├── size.cpp │ │ │ │ └── allocVariant.cpp │ │ │ ├── MsgPackSerializer │ │ │ │ ├── measure.cpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── misc.cpp │ │ │ ├── JsonDocument │ │ │ │ ├── cast.cpp │ │ │ │ ├── add.cpp │ │ │ │ ├── size.cpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── swap.cpp │ │ │ │ ├── nesting.cpp │ │ │ │ ├── isNull.cpp │ │ │ │ ├── remove.cpp │ │ │ │ ├── containsKey.cpp │ │ │ │ └── subscript.cpp │ │ │ ├── TextFormatter │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── writeString.cpp │ │ │ ├── Numbers │ │ │ │ └── CMakeLists.txt │ │ │ ├── JsonSerializer │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── misc.cpp │ │ │ │ ├── CustomWriter.cpp │ │ │ │ └── std_string.cpp │ │ │ ├── JsonArray │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── createNested.cpp │ │ │ │ ├── clear.cpp │ │ │ │ ├── size.cpp │ │ │ │ ├── std_string.cpp │ │ │ │ ├── unbound.cpp │ │ │ │ ├── nesting.cpp │ │ │ │ ├── memoryUsage.cpp │ │ │ │ ├── iterator.cpp │ │ │ │ └── isNull.cpp │ │ │ ├── IntegrationTests │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── issue772.cpp │ │ │ ├── JsonObject │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── createNestedObject.cpp │ │ │ │ ├── clear.cpp │ │ │ │ ├── createNestedArray.cpp │ │ │ │ ├── invalid.cpp │ │ │ │ ├── nesting.cpp │ │ │ │ ├── size.cpp │ │ │ │ ├── containsKey.cpp │ │ │ │ └── memoryUsage.cpp │ │ │ ├── MsgPackDeserializer │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── misc.cpp │ │ │ │ └── doubleToFloat.cpp │ │ │ ├── JsonVariant │ │ │ │ ├── clear.cpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── size.cpp │ │ │ │ ├── nesting.cpp │ │ │ │ ├── remove.cpp │ │ │ │ ├── add.cpp │ │ │ │ ├── memoryUsage.cpp │ │ │ │ ├── misc.cpp │ │ │ │ └── containsKey.cpp │ │ │ ├── JsonDeserializer │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── incomplete_input.cpp │ │ │ │ └── invalid_input.cpp │ │ │ ├── Cpp17 │ │ │ │ └── CMakeLists.txt │ │ │ └── CMakeLists.txt │ │ ├── scripts │ │ │ ├── get-release-body.sh │ │ │ ├── get-release-page.sh │ │ │ ├── build-arduino-package.sh │ │ │ ├── publish-particle-library.sh │ │ │ └── wandbox │ │ │ │ └── publish.sh │ │ └── conf_test │ │ │ ├── x64.cpp │ │ │ ├── x86.cpp │ │ │ ├── avr.cpp │ │ │ └── esp8266.cpp │ ├── ArduinoJson.h │ ├── CONTRIBUTING.md │ ├── src │ │ ├── ArduinoJson │ │ │ ├── version.hpp │ │ │ ├── Polyfills │ │ │ │ ├── type_traits │ │ │ │ │ ├── make_void.hpp │ │ │ │ │ ├── declval.hpp │ │ │ │ │ ├── type_identity.hpp │ │ │ │ │ ├── is_pointer.hpp │ │ │ │ │ ├── is_const.hpp │ │ │ │ │ ├── is_same.hpp │ │ │ │ │ ├── integral_constant.hpp │ │ │ │ │ ├── enable_if.hpp │ │ │ │ │ ├── remove_const.hpp │ │ │ │ │ ├── is_array.hpp │ │ │ │ │ ├── remove_reference.hpp │ │ │ │ │ ├── conditional.hpp │ │ │ │ │ ├── is_floating_point.hpp │ │ │ │ │ ├── is_class.hpp │ │ │ │ │ ├── remove_cv.hpp │ │ │ │ │ ├── is_enum.hpp │ │ │ │ │ ├── is_base_of.hpp │ │ │ │ │ ├── is_unsigned.hpp │ │ │ │ │ ├── is_signed.hpp │ │ │ │ │ ├── is_convertible.hpp │ │ │ │ │ └── is_integral.hpp │ │ │ │ ├── assert.hpp │ │ │ │ ├── ctype.hpp │ │ │ │ ├── integer.hpp │ │ │ │ ├── math.hpp │ │ │ │ ├── alias_cast.hpp │ │ │ │ ├── mpl │ │ │ │ │ └── max.hpp │ │ │ │ ├── pgmspace_generic.hpp │ │ │ │ ├── static_array.hpp │ │ │ │ ├── type_traits.hpp │ │ │ │ ├── attributes.hpp │ │ │ │ └── limits.hpp │ │ │ ├── Variant │ │ │ │ ├── VariantTag.hpp │ │ │ │ ├── Converter.hpp │ │ │ │ ├── VariantTo.hpp │ │ │ │ ├── SlotFunctions.hpp │ │ │ │ ├── Visitor.hpp │ │ │ │ ├── VariantContent.hpp │ │ │ │ └── VariantAttorney.hpp │ │ │ ├── Strings │ │ │ │ ├── StoragePolicy.hpp │ │ │ │ ├── Adapters │ │ │ │ │ ├── StringView.hpp │ │ │ │ │ ├── StdString.hpp │ │ │ │ │ ├── ArduinoString.hpp │ │ │ │ │ └── JsonString.hpp │ │ │ │ ├── IsString.hpp │ │ │ │ └── StringAdapter.hpp │ │ │ ├── Numbers │ │ │ │ ├── JsonFloat.hpp │ │ │ │ └── JsonInteger.hpp │ │ │ ├── Serialization │ │ │ │ ├── Writers │ │ │ │ │ ├── DummyWriter.hpp │ │ │ │ │ ├── PrintWriter.hpp │ │ │ │ │ ├── StdStreamWriter.hpp │ │ │ │ │ ├── StaticStringWriter.hpp │ │ │ │ │ ├── StdStringWriter.hpp │ │ │ │ │ └── ArduinoStringWriter.hpp │ │ │ │ ├── measure.hpp │ │ │ │ ├── CountingDecorator.hpp │ │ │ │ └── Writer.hpp │ │ │ ├── MsgPack │ │ │ │ ├── ieee754.hpp │ │ │ │ └── endianess.hpp │ │ │ ├── Deserialization │ │ │ │ ├── Readers │ │ │ │ │ ├── ArduinoStringReader.hpp │ │ │ │ │ ├── VariantReader.hpp │ │ │ │ │ ├── StdStreamReader.hpp │ │ │ │ │ ├── ArduinoStreamReader.hpp │ │ │ │ │ ├── IteratorReader.hpp │ │ │ │ │ └── FlashReader.hpp │ │ │ │ ├── NestingLimit.hpp │ │ │ │ └── Filter.hpp │ │ │ ├── Misc │ │ │ │ └── SafeBoolIdiom.hpp │ │ │ ├── StringStorage │ │ │ │ ├── StringStorage.hpp │ │ │ │ └── StringMover.hpp │ │ │ ├── Document │ │ │ │ └── DynamicJsonDocument.hpp │ │ │ ├── compatibility.hpp │ │ │ ├── Array │ │ │ │ └── JsonArrayImpl.hpp │ │ │ ├── Json │ │ │ │ ├── EscapeSequence.hpp │ │ │ │ ├── Latch.hpp │ │ │ │ └── Utf8.hpp │ │ │ ├── Namespace.hpp │ │ │ └── Memory │ │ │ │ └── Alignment.hpp │ │ └── ArduinoJson.h │ ├── CMakeLists.txt │ ├── library.properties │ ├── library.json │ ├── SUPPORT.md │ ├── keywords.txt │ └── LICENSE.md ├── SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library │ ├── extras │ │ ├── HeartBeat.jpg │ │ └── HeartBeat1.jpg │ └── library.properties ├── SimpleFTPServer │ ├── SimpleFTPServer.h │ ├── keywords.txt │ ├── library.json │ ├── library.properties │ └── LICENSE.md └── README ├── img ├── PC │ ├── 1.png │ ├── 2.png │ └── 3.png ├── UseESPFlashTool.png ├── Snipaste_2023-01-06_20-37-55.png ├── Snipaste_2023-01-07_21-04-08.png ├── Snipaste_2023-01-07_21-06-27.png └── Snipaste_2023-01-10_14-06-05.png ├── .gitignore ├── data └── config.json ├── include ├── FTP.h ├── web.h ├── main.h ├── cal_BPM_SpO2.h └── README ├── .vscode ├── extensions.json └── settings.json ├── test └── README └── platformio.ini /lib/ArduinoJson/component.mk: -------------------------------------------------------------------------------- 1 | COMPONENT_ADD_INCLUDEDIRS := src 2 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/json_seed_corpus/EmptyArray.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/json_seed_corpus/EmptyObject.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixint_positive: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/particle/project.properties: -------------------------------------------------------------------------------- 1 | name=ArduinoJsonCI 2 | -------------------------------------------------------------------------------- /img/PC/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/img/PC/1.png -------------------------------------------------------------------------------- /img/PC/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/img/PC/2.png -------------------------------------------------------------------------------- /img/PC/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/img/PC/3.png -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/json_seed_corpus/IntegerOverflow.json: -------------------------------------------------------------------------------- 1 | 9720730739393920739 2 | -------------------------------------------------------------------------------- /img/UseESPFlashTool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/img/UseESPFlashTool.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .pio 2 | .vscode/.browse.c_cpp.db* 3 | .vscode/c_cpp_properties.json 4 | .vscode/launch.json 5 | .vscode/ipch 6 | -------------------------------------------------------------------------------- /data/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "STA_ssid": "", 3 | "STA_passwd": "", 4 | "AP_ssid": "ESP32血氧仪", 5 | "AP_passwd": "" 6 | } -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/particle/src/smocktest.ino: -------------------------------------------------------------------------------- 1 | #include "ArduinoJson.h" 2 | 3 | void setup() {} 4 | 5 | void loop() {} 6 | -------------------------------------------------------------------------------- /img/Snipaste_2023-01-06_20-37-55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/img/Snipaste_2023-01-06_20-37-55.png -------------------------------------------------------------------------------- /img/Snipaste_2023-01-07_21-04-08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/img/Snipaste_2023-01-07_21-04-08.png -------------------------------------------------------------------------------- /img/Snipaste_2023-01-07_21-06-27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/img/Snipaste_2023-01-07_21-06-27.png -------------------------------------------------------------------------------- /img/Snipaste_2023-01-10_14-06-05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/img/Snipaste_2023-01-10_14-06-05.png -------------------------------------------------------------------------------- /include/FTP.h: -------------------------------------------------------------------------------- 1 | #ifndef FTP_H 2 | #define FTP_H 3 | #include 4 | extern FtpServer ftpSrv; 5 | void FTP_task(void* pvParameters); 6 | #endif 7 | -------------------------------------------------------------------------------- /lib/ArduinoJson/ArduinoJson.h: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include "src/ArduinoJson.h" 6 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/int8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/int8 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/nil: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/nil -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/str8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/str8 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/true: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/true -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/json_seed_corpus/Strings.json: -------------------------------------------------------------------------------- 1 | [ 2 | "hello", 3 | 'hello', 4 | hello, 5 | {"hello":"world"}, 6 | {'hello':'world'}, 7 | {hello:world} 8 | ] -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/false: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/false -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixmap -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixstr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixstr -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/int16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/int16 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/int32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/int32 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/int64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/int64 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/map16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/map16 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/map32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/map32 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/str16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/str16 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/str32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/str32 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/uint16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/uint16 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/uint32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/uint32 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/uint64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/uint64 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/uint8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/uint8 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/array16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/array16 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/array32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/array32 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixarray: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixarray -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/float32: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/float32 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/float64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/float64 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/ArduinoJsonConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") 4 | check_required_components("@PROJECT_NAME@") 5 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixint_negative: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/ArduinoJson/extras/fuzzing/msgpack_seed_corpus/fixint_negative -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/ci/espidf/main/component.mk: -------------------------------------------------------------------------------- 1 | # 2 | # "main" pseudo-component makefile. 3 | # 4 | # (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.) 5 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/catch/catch.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright Benoit Blanchon 2014-2021 3 | // MIT License 4 | 5 | #define CATCH_CONFIG_MAIN 6 | #include "catch.hpp" 7 | -------------------------------------------------------------------------------- /lib/SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library/extras/HeartBeat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library/extras/HeartBeat.jpg -------------------------------------------------------------------------------- /lib/SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library/extras/HeartBeat1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/createskyblue/esp32-web-oximeter/HEAD/lib/SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library/extras/HeartBeat1.jpg -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/ci/espidf/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | idf_component_register(SRCS "main.cpp" 6 | INCLUDE_DIRS "") 7 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/ci/particle.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -ex 2 | 3 | BOARD=$1 4 | 5 | cd "$(dirname "$0")/../../" 6 | 7 | cp extras/particle/src/smocktest.ino src/ 8 | cp extras/particle/project.properties ./ 9 | 10 | particle compile "$BOARD" 11 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/ci/espidf/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | cmake_minimum_required(VERSION 3.5) 6 | 7 | include($ENV{IDF_PATH}/tools/cmake/project.cmake) 8 | project(example) 9 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/json_seed_corpus/Comments.json: -------------------------------------------------------------------------------- 1 | //comment 2 | /*comment*/ 3 | [ //comment 4 | /*comment*/"comment"/*comment*/,//comment 5 | /*comment*/{//comment 6 | /* comment*/"key"//comment 7 | : //comment 8 | "value"//comment 9 | }/*comment*/ 10 | ]//comment -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/FailingBuilds/assign_char.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | 7 | // See issue #1498 8 | 9 | int main() { 10 | DynamicJsonDocument doc(1024); 11 | doc["dummy"] = 'A'; 12 | } 13 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/FailingBuilds/variant_as_char.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | 7 | // See issue #1498 8 | 9 | int main() { 10 | DynamicJsonDocument doc(1024); 11 | doc["dummy"].as(); 12 | } 13 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "platformio.platformio-ide" 6 | ], 7 | "unwantedRecommendations": [ 8 | "ms-vscode.cpptools-extension-pack" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /lib/ArduinoJson/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution to ArduinoJson 2 | 3 | First, thank you for taking the time to contribute to this project. 4 | 5 | You can submit changes via GitHub Pull Requests. 6 | 7 | Please: 8 | 9 | 1. Update the test suite for any change of behavior 10 | 2. Use clang-format in "file" mode to format the code 11 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/FailingBuilds/delete_jsondocument.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | 7 | struct Stream {}; 8 | 9 | int main() { 10 | JsonDocument* doc = new DynamicJsonDocument(42); 11 | delete doc; 12 | } 13 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Helpers/Arduino.h: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "api/Print.h" 8 | #include "api/Stream.h" 9 | #include "api/String.h" 10 | #include "progmem_emulation.hpp" 11 | 12 | #define ARDUINO_H_INCLUDED 1 13 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/version.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #define ARDUINOJSON_VERSION "6.20.0" 8 | #define ARDUINOJSON_VERSION_MAJOR 6 9 | #define ARDUINOJSON_VERSION_MINOR 20 10 | #define ARDUINOJSON_VERSION_REVISION 0 11 | -------------------------------------------------------------------------------- /include/web.h: -------------------------------------------------------------------------------- 1 | #ifndef WEB_SERVER_H 2 | #define WEB_SERVER_H 3 | #include 4 | #include "main.h" 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | extern WebServer server; 11 | 12 | void webServer_Task(void* pvParameters); 13 | void handle_OnConnect(); 14 | void handle_NotFound(); 15 | #endif 16 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/FailingBuilds/Issue978.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | 7 | struct Stream {}; 8 | 9 | int main() { 10 | Stream* stream = 0; 11 | DynamicJsonDocument doc(1024); 12 | deserializeJson(doc, stream); 13 | } 14 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/scripts/get-release-body.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | 5 | TAG="$1" 6 | CHANGELOG="$2" 7 | 8 | cat << END 9 | ## Changes 10 | 11 | $(awk '/\* /{ FOUND=1 } /^[[:space:]]*$/ { if(FOUND) exit } { if(FOUND) print }' "$CHANGELOG") 12 | 13 | [View version history](https://github.com/bblanchon/ArduinoJson/blob/$TAG/CHANGELOG.md) 14 | END 15 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/scripts/get-release-page.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | 5 | VERSION="$1" 6 | CHANGELOG="$2" 7 | FRONTMATTER="$3" 8 | 9 | cat << END 10 | --- 11 | branch: v6 12 | version: $VERSION 13 | date: '$(date +'%Y-%m-%d')' 14 | $(cat "$FRONTMATTER") 15 | --- 16 | 17 | $(awk '/\* /{ FOUND=1; print; next } { if (FOUND) exit}' "$CHANGELOG") 18 | END 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/json_fuzzer.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 4 | DynamicJsonDocument doc(4096); 5 | DeserializationError error = deserializeJson(doc, data, size); 6 | if (!error) { 7 | std::string json; 8 | serializeJson(doc, json); 9 | } 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/make_void.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ARDUINOJSON_NAMESPACE { 8 | 9 | template 10 | struct make_void { 11 | typedef void type; 12 | }; 13 | 14 | } // namespace ARDUINOJSON_NAMESPACE 15 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/msgpack_fuzzer.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { 4 | DynamicJsonDocument doc(4096); 5 | DeserializationError error = deserializeMsgPack(doc, data, size); 6 | if (!error) { 7 | std::string json; 8 | serializeMsgPack(doc, json); 9 | } 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/FailingBuilds/Issue1189.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | 7 | // a function should not be able to get a JsonDocument by value 8 | void f(JsonDocument) {} 9 | 10 | int main() { 11 | DynamicJsonDocument doc(1024); 12 | f(doc); 13 | } 14 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/declval.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | template 12 | T declval(); 13 | 14 | } // namespace ARDUINOJSON_NAMESPACE 15 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/fuzzing/json_seed_corpus/Numbers.json: -------------------------------------------------------------------------------- 1 | [ 2 | 123, 3 | -123, 4 | 123.456, 5 | -123.456, 6 | 12e34, 7 | 12e-34, 8 | 12e+34, 9 | 12E34, 10 | 12E-34, 11 | 12E+34, 12 | 12.34e56, 13 | 12.34e-56, 14 | 12.34e+56, 15 | 12.34E56, 16 | 12.34E-56, 17 | 12.34E+56, 18 | NaN, 19 | -NaN, 20 | +NaN, 21 | Infinity, 22 | +Infinity, 23 | -Infinity 24 | ] -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MixedConfiguration/decode_unicode_1.cpp: -------------------------------------------------------------------------------- 1 | #define ARDUINOJSON_DECODE_UNICODE 1 2 | #include 3 | 4 | #include 5 | 6 | TEST_CASE("ARDUINOJSON_DECODE_UNICODE == 1") { 7 | DynamicJsonDocument doc(2048); 8 | DeserializationError err = deserializeJson(doc, "\"\\uD834\\uDD1E\""); 9 | 10 | REQUIRE(err == DeserializationError::Ok); 11 | } 12 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson.h: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #ifdef __cplusplus 8 | 9 | # include "ArduinoJson.hpp" 10 | 11 | using namespace ArduinoJson; 12 | 13 | #else 14 | 15 | #error ArduinoJson requires a C++ compiler, please change file extension to .cc or .cpp 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/scripts/build-arduino-package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | 5 | INPUT=$1 6 | OUTPUT=$2 7 | 8 | cd "$INPUT" 9 | 10 | # remove existing file 11 | rm -f "$OUTPUT" 12 | 13 | # create zip 14 | 7z a "$OUTPUT" \ 15 | -xr!.vs \ 16 | CHANGELOG.md \ 17 | examples \ 18 | src \ 19 | keywords.txt \ 20 | library.properties \ 21 | LICENSE.md \ 22 | README.md \ 23 | ArduinoJson.h 24 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/assert.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | #if ARDUINOJSON_DEBUG 10 | # include 11 | # define ARDUINOJSON_ASSERT(X) assert(X) 12 | #else 13 | # define ARDUINOJSON_ASSERT(X) ((void)0) 14 | #endif 15 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Cpp11/use_long_long_0.cpp: -------------------------------------------------------------------------------- 1 | #define ARDUINOJSON_USE_LONG_LONG 0 2 | #include 3 | 4 | #include 5 | 6 | TEST_CASE("ARDUINOJSON_USE_LONG_LONG == 0") { 7 | DynamicJsonDocument doc(4096); 8 | 9 | doc["A"] = 42; 10 | doc["B"] = 84; 11 | 12 | std::string json; 13 | serializeJson(doc, json); 14 | 15 | REQUIRE(json == "{\"A\":42,\"B\":84}"); 16 | } 17 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Helpers/api/Stream.h: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | // Reproduces Arduino's Stream class 8 | class Stream // : public Print 9 | { 10 | public: 11 | virtual ~Stream() {} 12 | virtual int read() = 0; 13 | virtual size_t readBytes(char *buffer, size_t length) = 0; 14 | }; 15 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/type_identity.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "integral_constant.hpp" 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | template 12 | struct type_identity { 13 | typedef T type; 14 | }; 15 | } // namespace ARDUINOJSON_NAMESPACE 16 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Cpp20/smoke_test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | #include 5 | 6 | TEST_CASE("C++20 smoke test") { 7 | StaticJsonDocument<128> doc; 8 | 9 | deserializeJson(doc, "{\"hello\":\"world\"}"); 10 | REQUIRE(doc["hello"] == "world"); 11 | 12 | std::string json; 13 | serializeJson(doc, json); 14 | REQUIRE(json == "{\"hello\":\"world\"}"); 15 | } 16 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Misc/custom_string.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | struct custom_char_traits : std::char_traits {}; 10 | struct custom_allocator : std::allocator {}; 11 | typedef std::basic_string 12 | custom_string; 13 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MemoryPool/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | add_executable(MemoryPoolTests 6 | allocVariant.cpp 7 | clear.cpp 8 | saveString.cpp 9 | size.cpp 10 | StringCopier.cpp 11 | ) 12 | 13 | add_test(MemoryPool MemoryPoolTests) 14 | 15 | set_tests_properties(MemoryPool 16 | PROPERTIES 17 | LABELS "Catch" 18 | ) 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MsgPackSerializer/measure.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | #include 7 | 8 | TEST_CASE("measureMsgPack()") { 9 | DynamicJsonDocument doc(4096); 10 | JsonObject object = doc.to(); 11 | object["hello"] = "world"; 12 | 13 | REQUIRE(measureMsgPack(doc) == 13); 14 | } 15 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Variant/VariantTag.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | struct VariantTag {}; 12 | 13 | template 14 | struct IsVariant : is_base_of {}; 15 | 16 | } // namespace ARDUINOJSON_NAMESPACE 17 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MixedConfiguration/decode_unicode_0.cpp: -------------------------------------------------------------------------------- 1 | #define ARDUINOJSON_DECODE_UNICODE 0 2 | #include 3 | 4 | #include 5 | 6 | TEST_CASE("ARDUINOJSON_DECODE_UNICODE == 0") { 7 | DynamicJsonDocument doc(2048); 8 | DeserializationError err = deserializeJson(doc, "\"\\uD834\\uDD1E\""); 9 | 10 | REQUIRE(err == DeserializationError::Ok); 11 | REQUIRE(doc.as() == "\\uD834\\uDD1E"); 12 | } 13 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Strings/StoragePolicy.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | namespace ARDUINOJSON_NAMESPACE { 8 | 9 | namespace StringStoragePolicy { 10 | 11 | struct Link {}; 12 | struct Copy {}; 13 | struct LinkOrCopy { 14 | bool link; 15 | }; 16 | } // namespace StringStoragePolicy 17 | 18 | } // namespace ARDUINOJSON_NAMESPACE 19 | -------------------------------------------------------------------------------- /lib/SimpleFTPServer/SimpleFTPServer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FtpServer Arduino, esp8266 and esp32 library for Ftp Server 3 | * Derived form https://github.com/nailbuster/esp8266FTPServer 4 | * 5 | * AUTHOR: Renzo Mischianti 6 | * 7 | * https://www.mischianti.org/2020/02/08/ftp-server-on-esp8266-and-esp32 8 | * 9 | */ 10 | 11 | #ifndef SIMPLE_FTP_SERVER_H 12 | #define SIMPLE_FTP_SERVER_H 13 | 14 | #include 15 | 16 | #endif 17 | 18 | #pragma once 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_pointer.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "integral_constant.hpp" 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | template 12 | struct is_pointer : false_type {}; 13 | 14 | template 15 | struct is_pointer : true_type {}; 16 | } // namespace ARDUINOJSON_NAMESPACE 17 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/ci/espidf/main/main.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | 7 | extern "C" void app_main() { 8 | char buffer[256]; 9 | StaticJsonDocument<200> doc; 10 | 11 | doc["hello"] = "world"; 12 | serializeJson(doc, buffer); 13 | deserializeJson(doc, buffer); 14 | serializeMsgPack(doc, buffer); 15 | deserializeMsgPack(doc, buffer); 16 | } 17 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MixedConfiguration/use_double_0.cpp: -------------------------------------------------------------------------------- 1 | #define ARDUINOJSON_USE_DOUBLE 0 2 | #include 3 | 4 | #include 5 | 6 | TEST_CASE("ARDUINOJSON_USE_DOUBLE == 0") { 7 | DynamicJsonDocument doc(4096); 8 | JsonObject root = doc.to(); 9 | 10 | root["pi"] = 3.14; 11 | root["e"] = 2.72; 12 | 13 | std::string json; 14 | serializeJson(doc, json); 15 | 16 | REQUIRE(json == "{\"pi\":3.14,\"e\":2.72}"); 17 | } 18 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MixedConfiguration/use_double_1.cpp: -------------------------------------------------------------------------------- 1 | #define ARDUINOJSON_USE_DOUBLE 1 2 | #include 3 | 4 | #include 5 | 6 | TEST_CASE("ARDUINOJSON_USE_DOUBLE == 1") { 7 | DynamicJsonDocument doc(4096); 8 | JsonObject root = doc.to(); 9 | 10 | root["pi"] = 3.14; 11 | root["e"] = 2.72; 12 | 13 | std::string json; 14 | serializeJson(doc, json); 15 | 16 | REQUIRE(json == "{\"pi\":3.14,\"e\":2.72}"); 17 | } 18 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "*.m": "matlab", 4 | "cmath": "cpp", 5 | "array": "cpp", 6 | "deque": "cpp", 7 | "string": "cpp", 8 | "unordered_map": "cpp", 9 | "unordered_set": "cpp", 10 | "vector": "cpp", 11 | "string_view": "cpp", 12 | "initializer_list": "cpp", 13 | "*.tcc": "cpp", 14 | "fstream": "cpp", 15 | "system_error": "cpp" 16 | } 17 | } -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/JsonDocument/cast.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | #include 7 | 8 | #include 9 | 10 | TEST_CASE("Implicit cast to JsonVariant") { 11 | StaticJsonDocument<128> doc; 12 | 13 | doc["hello"] = "world"; 14 | 15 | JsonVariant var = doc; 16 | 17 | CHECK(var.as() == "{\"hello\":\"world\"}"); 18 | } 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Numbers/JsonFloat.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | #include 9 | 10 | namespace ARDUINOJSON_NAMESPACE { 11 | 12 | #if ARDUINOJSON_USE_DOUBLE 13 | typedef double JsonFloat; 14 | #else 15 | typedef float JsonFloat; 16 | #endif 17 | } // namespace ARDUINOJSON_NAMESPACE 18 | -------------------------------------------------------------------------------- /lib/SimpleFTPServer/keywords.txt: -------------------------------------------------------------------------------- 1 | ####################################### 2 | # Datatypes (KEYWORD1) 3 | ####################################### 4 | 5 | SimpleFtpServer KEYWORD1 6 | 7 | ####################################### 8 | # Methods and Functions (KEYWORD2) 9 | ####################################### 10 | 11 | begin KEYWORD2 12 | end KEYWORD2 13 | setLocalIp KEYWORD2 14 | credentials KEYWORD2 15 | setCallback KEYWORD2 16 | setTransferCallback KEYWORD2 17 | handleFTP KEYWORD2 -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/TextFormatter/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | add_executable(TextFormatterTests 6 | writeFloat.cpp 7 | writeInteger.cpp 8 | writeString.cpp 9 | ) 10 | 11 | set_target_properties(TextFormatterTests PROPERTIES UNITY_BUILD OFF) 12 | 13 | add_test(TextFormatter TextFormatterTests) 14 | 15 | set_tests_properties(TextFormatter 16 | PROPERTIES 17 | LABELS "Catch" 18 | ) 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MsgPackSerializer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | add_executable(MsgPackSerializerTests 6 | destination_types.cpp 7 | measure.cpp 8 | misc.cpp 9 | serializeArray.cpp 10 | serializeObject.cpp 11 | serializeVariant.cpp 12 | ) 13 | 14 | add_test(MsgPackSerializer MsgPackSerializerTests) 15 | 16 | set_tests_properties(MsgPackSerializer 17 | PROPERTIES 18 | LABELS "Catch" 19 | ) 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/ctype.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | #ifndef isdigit 12 | inline bool isdigit(char c) { 13 | return '0' <= c && c <= '9'; 14 | } 15 | #endif 16 | 17 | inline bool issign(char c) { 18 | return '-' == c || c == '+'; 19 | } 20 | } // namespace ARDUINOJSON_NAMESPACE 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Numbers/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | set(CMAKE_CXX_STANDARD 11) 6 | set(CMAKE_CXX_STANDARD_REQUIRED OFF) 7 | 8 | add_executable(NumbersTests 9 | convertNumber.cpp 10 | parseFloat.cpp 11 | parseDouble.cpp 12 | parseInteger.cpp 13 | parseNumber.cpp 14 | ) 15 | 16 | 17 | add_test(Numbers NumbersTests) 18 | 19 | set_tests_properties(Numbers 20 | PROPERTIES 21 | LABELS "Catch" 22 | ) 23 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Serialization/Writers/DummyWriter.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | class DummyWriter { 12 | public: 13 | size_t write(uint8_t) { 14 | return 1; 15 | } 16 | 17 | size_t write(const uint8_t*, size_t n) { 18 | return n; 19 | } 20 | }; 21 | } // namespace ARDUINOJSON_NAMESPACE 22 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Cpp11/use_long_long_1.cpp: -------------------------------------------------------------------------------- 1 | #define ARDUINOJSON_USE_LONG_LONG 1 2 | #include 3 | 4 | #include 5 | 6 | TEST_CASE("ARDUINOJSON_USE_LONG_LONG == 1") { 7 | DynamicJsonDocument doc(4096); 8 | JsonObject root = doc.to(); 9 | 10 | root["A"] = 123456789123456789; 11 | root["B"] = 987654321987654321; 12 | 13 | std::string json; 14 | serializeJson(doc, json); 15 | 16 | REQUIRE(json == "{\"A\":123456789123456789,\"B\":987654321987654321}"); 17 | } 18 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MixedConfiguration/issue1707.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #define ARDUINO 6 | #define memcpy_P(dest, src, n) memcpy((dest), (src), (n)) 7 | 8 | #include 9 | 10 | #include 11 | 12 | TEST_CASE("Issue1707") { 13 | StaticJsonDocument<128> doc; 14 | 15 | DeserializationError err = deserializeJson(doc, F("{\"hello\":12}")); 16 | REQUIRE(err == DeserializationError::Ok); 17 | } 18 | -------------------------------------------------------------------------------- /lib/SparkFun_MAX3010x_Pulse_and_Proximity_Sensor_Library/library.properties: -------------------------------------------------------------------------------- 1 | name=SparkFun MAX3010x Pulse and Proximity Sensor Library 2 | version=1.1.2 3 | author=SparkFun Electronics 4 | maintainer=SparkFun Electronics 5 | sentence=Library for the MAX30102 Pulse and MAX30105 Proximity Breakout 6 | paragraph=An Arduino Library for the MAX3015 particle sensor and MAX30102 Pulse Ox sensor 7 | category=Sensors 8 | url=https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library 9 | architectures=* 10 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_const.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "integral_constant.hpp" 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | // A meta-function that return the type T without the const modifier 12 | template 13 | struct is_const : false_type {}; 14 | 15 | template 16 | struct is_const : true_type {}; 17 | } // namespace ARDUINOJSON_NAMESPACE 18 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_same.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "integral_constant.hpp" 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | // A meta-function that returns true if types T and U are the same. 12 | template 13 | struct is_same : false_type {}; 14 | 15 | template 16 | struct is_same : true_type {}; 17 | } // namespace ARDUINOJSON_NAMESPACE 18 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/JsonSerializer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | add_executable(JsonSerializerTests 6 | CustomWriter.cpp 7 | JsonArray.cpp 8 | JsonArrayPretty.cpp 9 | JsonObject.cpp 10 | JsonObjectPretty.cpp 11 | JsonVariant.cpp 12 | misc.cpp 13 | std_stream.cpp 14 | std_string.cpp 15 | ) 16 | 17 | add_test(JsonSerializer JsonSerializerTests) 18 | 19 | set_tests_properties(JsonSerializer 20 | PROPERTIES 21 | LABELS "Catch" 22 | ) 23 | -------------------------------------------------------------------------------- /test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PlatformIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PlatformIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/JsonDocument/add.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | #include 7 | 8 | TEST_CASE("JsonDocument::add()") { 9 | DynamicJsonDocument doc(4096); 10 | 11 | SECTION("integer") { 12 | doc.add(42); 13 | 14 | REQUIRE(doc.as() == "[42]"); 15 | } 16 | 17 | SECTION("const char*") { 18 | doc.add("hello"); 19 | 20 | REQUIRE(doc.as() == "[\"hello\"]"); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/conf_test/x64.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | static_assert(ARDUINOJSON_USE_LONG_LONG == 1, "ARDUINOJSON_USE_LONG_LONG"); 4 | 5 | static_assert(ARDUINOJSON_SLOT_OFFSET_SIZE == 4, 6 | "ARDUINOJSON_SLOT_OFFSET_SIZE"); 7 | 8 | static_assert(ARDUINOJSON_LITTLE_ENDIAN == 1, "ARDUINOJSON_LITTLE_ENDIAN"); 9 | 10 | static_assert(ARDUINOJSON_USE_DOUBLE == 1, "ARDUINOJSON_USE_DOUBLE"); 11 | 12 | static_assert(sizeof(ARDUINOJSON_NAMESPACE::VariantSlot) == 32, 13 | "sizeof(VariantSlot)"); 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/conf_test/x86.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | static_assert(ARDUINOJSON_USE_LONG_LONG == 1, "ARDUINOJSON_USE_LONG_LONG"); 4 | 5 | static_assert(ARDUINOJSON_SLOT_OFFSET_SIZE == 2, 6 | "ARDUINOJSON_SLOT_OFFSET_SIZE"); 7 | 8 | static_assert(ARDUINOJSON_LITTLE_ENDIAN == 1, "ARDUINOJSON_LITTLE_ENDIAN"); 9 | 10 | static_assert(ARDUINOJSON_USE_DOUBLE == 1, "ARDUINOJSON_USE_DOUBLE"); 11 | 12 | static_assert(sizeof(ARDUINOJSON_NAMESPACE::VariantSlot) == 16, 13 | "sizeof(VariantSlot)"); 14 | 15 | int main() {} 16 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/integral_constant.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | template 12 | struct integral_constant { 13 | static const T value = v; 14 | }; 15 | 16 | typedef integral_constant true_type; 17 | typedef integral_constant false_type; 18 | 19 | } // namespace ARDUINOJSON_NAMESPACE 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/FailingBuilds/write_long_long.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #define ARDUINOJSON_USE_LONG_LONG 0 6 | #include 7 | 8 | #if defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ >= 8 9 | # error This test requires sizeof(long) < 8 10 | #endif 11 | 12 | #if !ARDUINOJSON_HAS_LONG_LONG 13 | # error This test requires C++11 14 | #endif 15 | 16 | int main() { 17 | DynamicJsonDocument doc(1024); 18 | doc["dummy"] = static_cast(42); 19 | } 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/enable_if.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | // A meta-function that return the type T if Condition is true. 12 | template 13 | struct enable_if {}; 14 | 15 | template 16 | struct enable_if { 17 | typedef T type; 18 | }; 19 | } // namespace ARDUINOJSON_NAMESPACE 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/catch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright Benoit Blanchon 2014-2021 3 | # MIT License 4 | 5 | set(CMAKE_CXX_STANDARD 11) 6 | set(CMAKE_CXX_STANDARD_REQUIRED OFF) 7 | 8 | add_library(catch 9 | catch.hpp 10 | catch.cpp 11 | ) 12 | 13 | target_include_directories(catch 14 | PUBLIC 15 | ${CMAKE_CURRENT_SOURCE_DIR} 16 | ) 17 | 18 | if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") 19 | # prevent "xxx will change in GCC x.x" with arm-linux-gnueabihf-gcc 20 | target_compile_options(catch PRIVATE -Wno-psabi) 21 | endif() 22 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/conf_test/avr.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | static_assert(ARDUINOJSON_USE_LONG_LONG == 0, "ARDUINOJSON_USE_LONG_LONG"); 4 | 5 | static_assert(ARDUINOJSON_SLOT_OFFSET_SIZE == 1, 6 | "ARDUINOJSON_SLOT_OFFSET_SIZE"); 7 | 8 | static_assert(ARDUINOJSON_LITTLE_ENDIAN == 1, "ARDUINOJSON_LITTLE_ENDIAN"); 9 | 10 | static_assert(ARDUINOJSON_USE_DOUBLE == 1, "ARDUINOJSON_USE_DOUBLE"); 11 | 12 | static_assert(sizeof(ARDUINOJSON_NAMESPACE::VariantSlot) == 8, 13 | "sizeof(VariantSlot)"); 14 | 15 | void setup() {} 16 | void loop() {} 17 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_const.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | // A meta-function that return the type T without the const modifier 12 | template 13 | struct remove_const { 14 | typedef T type; 15 | }; 16 | template 17 | struct remove_const { 18 | typedef T type; 19 | }; 20 | } // namespace ARDUINOJSON_NAMESPACE 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/conf_test/esp8266.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | static_assert(ARDUINOJSON_USE_LONG_LONG == 1, "ARDUINOJSON_USE_LONG_LONG"); 4 | 5 | static_assert(ARDUINOJSON_SLOT_OFFSET_SIZE == 2, 6 | "ARDUINOJSON_SLOT_OFFSET_SIZE"); 7 | 8 | static_assert(ARDUINOJSON_LITTLE_ENDIAN == 1, "ARDUINOJSON_LITTLE_ENDIAN"); 9 | 10 | static_assert(ARDUINOJSON_USE_DOUBLE == 1, "ARDUINOJSON_USE_DOUBLE"); 11 | 12 | static_assert(sizeof(ARDUINOJSON_NAMESPACE::VariantSlot) == 16, 13 | "sizeof(VariantSlot)"); 14 | 15 | void setup() {} 16 | void loop() {} 17 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Misc/version.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | using Catch::Matchers::StartsWith; 10 | 11 | TEST_CASE("ARDUINOJSON_VERSION") { 12 | std::stringstream version; 13 | 14 | version << ARDUINOJSON_VERSION_MAJOR << "." << ARDUINOJSON_VERSION_MINOR 15 | << "." << ARDUINOJSON_VERSION_REVISION; 16 | 17 | REQUIRE_THAT(ARDUINOJSON_VERSION, StartsWith(version.str())); 18 | } 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_array.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | #include // size_t 10 | 11 | namespace ARDUINOJSON_NAMESPACE { 12 | 13 | template 14 | struct is_array : false_type {}; 15 | 16 | template 17 | struct is_array : true_type {}; 18 | 19 | template 20 | struct is_array : true_type {}; 21 | } // namespace ARDUINOJSON_NAMESPACE 22 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/remove_reference.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | // A meta-function that return the type T without the reference modifier. 12 | template 13 | struct remove_reference { 14 | typedef T type; 15 | }; 16 | template 17 | struct remove_reference { 18 | typedef T type; 19 | }; 20 | } // namespace ARDUINOJSON_NAMESPACE 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/JsonArray/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | add_executable(JsonArrayTests 6 | add.cpp 7 | clear.cpp 8 | compare.cpp 9 | copyArray.cpp 10 | createNested.cpp 11 | equals.cpp 12 | isNull.cpp 13 | iterator.cpp 14 | memoryUsage.cpp 15 | nesting.cpp 16 | remove.cpp 17 | size.cpp 18 | std_string.cpp 19 | subscript.cpp 20 | unbound.cpp 21 | ) 22 | 23 | add_test(JsonArray JsonArrayTests) 24 | 25 | set_tests_properties(JsonArray 26 | PROPERTIES 27 | LABELS "Catch" 28 | ) 29 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/conditional.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | template 12 | struct conditional { 13 | typedef TrueType type; 14 | }; 15 | 16 | template 17 | struct conditional { 18 | typedef FalseType type; 19 | }; 20 | } // namespace ARDUINOJSON_NAMESPACE 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/Misc/NoArduinoHeader.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #define ARDUINO 1 6 | #define ARDUINOJSON_ENABLE_PROGMEM 0 7 | #define ARDUINOJSON_ENABLE_ARDUINO_STRING 0 8 | #define ARDUINOJSON_ENABLE_ARDUINO_STREAM 0 9 | #define ARDUINOJSON_ENABLE_ARDUINO_PRINT 0 10 | #include 11 | 12 | #include 13 | 14 | TEST_CASE("Arduino.h") { 15 | #ifdef ARDUINO_H_INCLUDED 16 | FAIL("Arduino.h should not be included"); 17 | #else 18 | INFO("Arduino.h not included"); 19 | #endif 20 | } 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/scripts/publish-particle-library.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eu 4 | 5 | SOURCE_DIR="$(dirname "$0")/../.." 6 | WORK_DIR=$(mktemp -d) 7 | trap 'rm -rf "$WORK_DIR"' EXIT 8 | 9 | cp "$SOURCE_DIR/README.md" "$WORK_DIR/README.md" 10 | cp "$SOURCE_DIR/CHANGELOG.md" "$WORK_DIR/CHANGELOG.md" 11 | cp "$SOURCE_DIR/library.properties" "$WORK_DIR/library.properties" 12 | cp "$SOURCE_DIR/LICENSE.md" "$WORK_DIR/LICENSE.txt" 13 | cp -r "$SOURCE_DIR/src" "$WORK_DIR/" 14 | cp -r "$SOURCE_DIR/examples" "$WORK_DIR/" 15 | 16 | cd "$WORK_DIR" 17 | particle library upload 18 | particle library publish 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/FailingBuilds/read_long_long.cpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #define ARDUINOJSON_USE_LONG_LONG 0 6 | #include 7 | 8 | #if defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ >= 8 9 | # error This test requires sizeof(long) < 8 10 | #endif 11 | 12 | #if !ARDUINOJSON_HAS_LONG_LONG 13 | # error This test requires C++11 14 | #endif 15 | 16 | ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(long long) 17 | int main() { 18 | DynamicJsonDocument doc(1024); 19 | doc["dummy"].as(); 20 | } 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/IntegrationTests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | add_executable(IntegrationTests 6 | gbathree.cpp 7 | issue772.cpp 8 | round_trip.cpp 9 | openweathermap.cpp 10 | ) 11 | 12 | if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") 13 | target_compile_options(IntegrationTests 14 | PUBLIC 15 | -fsingle-precision-constant # issue 544 16 | ) 17 | endif() 18 | 19 | add_test(IntegrationTests IntegrationTests) 20 | 21 | set_tests_properties(IntegrationTests 22 | PROPERTIES 23 | LABELS "Catch" 24 | ) 25 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/MsgPack/ieee754.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | inline void doubleToFloat(const uint8_t d[8], uint8_t f[4]) { 12 | f[0] = uint8_t((d[0] & 0xC0) | (d[0] << 3 & 0x3f) | (d[1] >> 5)); 13 | f[1] = uint8_t((d[1] << 3) | (d[2] >> 5)); 14 | f[2] = uint8_t((d[2] << 3) | (d[3] >> 5)); 15 | f[3] = uint8_t((d[3] << 3) | (d[4] >> 5)); 16 | } 17 | 18 | } // namespace ARDUINOJSON_NAMESPACE 19 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Deserialization/Readers/ArduinoStringReader.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | namespace ARDUINOJSON_NAMESPACE { 10 | 11 | template 12 | struct Reader::value>::type> 14 | : BoundedReader { 15 | explicit Reader(const ::String& s) 16 | : BoundedReader(s.c_str(), s.length()) {} 17 | }; 18 | 19 | } // namespace ARDUINOJSON_NAMESPACE 20 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Strings/Adapters/StringView.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | 9 | #include 10 | 11 | namespace ARDUINOJSON_NAMESPACE { 12 | 13 | template <> 14 | struct StringAdapter { 15 | typedef SizedRamString AdaptedString; 16 | 17 | static AdaptedString adapt(const std::string_view& s) { 18 | return AdaptedString(s.data(), s.size()); 19 | } 20 | }; 21 | 22 | } // namespace ARDUINOJSON_NAMESPACE 23 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Strings/IsString.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | #include 9 | 10 | namespace ARDUINOJSON_NAMESPACE { 11 | 12 | template 13 | struct IsString : false_type {}; 14 | 15 | template 16 | struct IsString< 17 | T, typename make_void::AdaptedString>::type> 18 | : true_type {}; 19 | 20 | } // namespace ARDUINOJSON_NAMESPACE 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/JsonObject/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | add_executable(JsonObjectTests 6 | clear.cpp 7 | compare.cpp 8 | containsKey.cpp 9 | copy.cpp 10 | createNestedArray.cpp 11 | createNestedObject.cpp 12 | equals.cpp 13 | invalid.cpp 14 | isNull.cpp 15 | iterator.cpp 16 | memoryUsage.cpp 17 | nesting.cpp 18 | remove.cpp 19 | size.cpp 20 | std_string.cpp 21 | subscript.cpp 22 | ) 23 | 24 | add_test(JsonObject JsonObjectTests) 25 | 26 | set_tests_properties(JsonObject 27 | PROPERTIES 28 | LABELS "Catch" 29 | ) 30 | -------------------------------------------------------------------------------- /lib/ArduinoJson/extras/tests/MsgPackDeserializer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ArduinoJson - https://arduinojson.org 2 | # Copyright © 2014-2022, Benoit BLANCHON 3 | # MIT License 4 | 5 | add_executable(MsgPackDeserializerTests 6 | deserializeArray.cpp 7 | deserializeObject.cpp 8 | deserializeStaticVariant.cpp 9 | deserializeVariant.cpp 10 | doubleToFloat.cpp 11 | filter.cpp 12 | incompleteInput.cpp 13 | input_types.cpp 14 | misc.cpp 15 | nestingLimit.cpp 16 | notSupported.cpp 17 | ) 18 | 19 | add_test(MsgPackDeserializer MsgPackDeserializerTests) 20 | 21 | set_tests_properties(MsgPackDeserializer 22 | PROPERTIES 23 | LABELS "Catch" 24 | ) 25 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/type_traits/is_floating_point.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include "integral_constant.hpp" 8 | #include "is_same.hpp" 9 | #include "remove_cv.hpp" 10 | 11 | namespace ARDUINOJSON_NAMESPACE { 12 | 13 | template 14 | struct is_floating_point 15 | : integral_constant< 16 | bool, // 17 | is_same::type>::value || 18 | is_same::type>::value> {}; 19 | 20 | } // namespace ARDUINOJSON_NAMESPACE 21 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Polyfills/integer.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include // int8_t, int16_t 8 | 9 | #include 10 | 11 | namespace ARDUINOJSON_NAMESPACE { 12 | 13 | template 14 | struct int_t; 15 | 16 | template <> 17 | struct int_t<8> { 18 | typedef int8_t type; 19 | }; 20 | 21 | template <> 22 | struct int_t<16> { 23 | typedef int16_t type; 24 | }; 25 | 26 | template <> 27 | struct int_t<32> { 28 | typedef int32_t type; 29 | }; 30 | } // namespace ARDUINOJSON_NAMESPACE 31 | -------------------------------------------------------------------------------- /lib/ArduinoJson/src/ArduinoJson/Serialization/measure.hpp: -------------------------------------------------------------------------------- 1 | // ArduinoJson - https://arduinojson.org 2 | // Copyright © 2014-2022, Benoit BLANCHON 3 | // MIT License 4 | 5 | #pragma once 6 | 7 | #include 8 | #include 9 | 10 | namespace ARDUINOJSON_NAMESPACE { 11 | 12 | template