mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Assume PROGMEM is available as soon as ARDUINO is defined (#1693)
				
					
				
			This commit is contained in:
		| @@ -22,6 +22,7 @@ HEAD | |||||||
| * Fix return type of `StaticJsonDocument::operator=` | * Fix return type of `StaticJsonDocument::operator=` | ||||||
| * Avoid pool reallocation in `BasicJsonDocument`'s copy assignment if capacity is the same | * Avoid pool reallocation in `BasicJsonDocument`'s copy assignment if capacity is the same | ||||||
| * Avoid including `Arduino.h` when all its features are disabled (issue #1692, PR #1693 by @paulocsanz) | * Avoid including `Arduino.h` when all its features are disabled (issue #1692, PR #1693 by @paulocsanz) | ||||||
|  | * Assume `PROGMEM` is available as soon as `ARDUINO` is defined (consequence of #1693) | ||||||
|  |  | ||||||
|  |  | ||||||
| v6.18.5 (2021-09-28) | v6.18.5 (2021-09-28) | ||||||
|   | |||||||
| @@ -14,8 +14,6 @@ | |||||||
| #include <ArduinoJson.h> | #include <ArduinoJson.h> | ||||||
|  |  | ||||||
| void setup() { | void setup() { | ||||||
| #ifdef PROGMEM  // <- check that Flash strings are supported |  | ||||||
|  |  | ||||||
|   DynamicJsonDocument doc(1024); |   DynamicJsonDocument doc(1024); | ||||||
|  |  | ||||||
|   // You can use a Flash String as your JSON input. |   // You can use a Flash String as your JSON input. | ||||||
| @@ -46,12 +44,6 @@ void setup() { | |||||||
|   if (obj["sensor"] == F("gps")) { |   if (obj["sensor"] == F("gps")) { | ||||||
|     // ... |     // ... | ||||||
|   } |   } | ||||||
|  |  | ||||||
| #else |  | ||||||
|  |  | ||||||
| #warning PROGMEM is not supported on this platform |  | ||||||
|  |  | ||||||
| #endif |  | ||||||
| } | } | ||||||
|  |  | ||||||
| void loop() { | void loop() { | ||||||
|   | |||||||
| @@ -7,5 +7,6 @@ | |||||||
| #include "api/Print.h" | #include "api/Print.h" | ||||||
| #include "api/Stream.h" | #include "api/Stream.h" | ||||||
| #include "api/String.h" | #include "api/String.h" | ||||||
|  | #include "progmem_emulation.hpp" | ||||||
|  |  | ||||||
| #define ARDUINO_H_INCLUDED 1 | #define ARDUINO_H_INCLUDED 1 | ||||||
|   | |||||||
| @@ -3,7 +3,6 @@ | |||||||
| // MIT License | // MIT License | ||||||
|  |  | ||||||
| #include <stdint.h>  // uint8_t | #include <stdint.h>  // uint8_t | ||||||
| #include <string.h>  // strcmp, strlen... |  | ||||||
|  |  | ||||||
| #define PROGMEM | #define PROGMEM | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,7 +6,6 @@ | |||||||
| #define ARDUINOJSON_ENABLE_ARDUINO_STRING 1 | #define ARDUINOJSON_ENABLE_ARDUINO_STRING 1 | ||||||
|  |  | ||||||
| #include "custom_string.hpp" | #include "custom_string.hpp" | ||||||
| #include "progmem_emulation.hpp" |  | ||||||
| #include "weird_strcmp.hpp" | #include "weird_strcmp.hpp" | ||||||
|  |  | ||||||
| #include <ArduinoJson/Strings/StringAdapters.hpp> | #include <ArduinoJson/Strings/StringAdapters.hpp> | ||||||
|   | |||||||
| @@ -1,5 +1,11 @@ | |||||||
|  | // ArduinoJson - https://arduinojson.org | ||||||
|  | // Copyright Benoit Blanchon 2014-2021 | ||||||
|  | // MIT License | ||||||
|  |  | ||||||
| #include <ArduinoJson/Namespace.hpp> | #include <ArduinoJson/Namespace.hpp> | ||||||
|  |  | ||||||
|  | #include <string.h>  // strcmp, strncmp | ||||||
|  |  | ||||||
| // Issue #1198: strcmp() implementation that returns a value larger than 8-bit | // Issue #1198: strcmp() implementation that returns a value larger than 8-bit | ||||||
|  |  | ||||||
| namespace ARDUINOJSON_NAMESPACE { | namespace ARDUINOJSON_NAMESPACE { | ||||||
|   | |||||||
| @@ -2,8 +2,6 @@ | |||||||
| // Copyright Benoit Blanchon 2014-2021 | // Copyright Benoit Blanchon 2014-2021 | ||||||
| // MIT License | // MIT License | ||||||
|  |  | ||||||
| #include "progmem_emulation.hpp" |  | ||||||
|  |  | ||||||
| #define ARDUINOJSON_ENABLE_PROGMEM 1 | #define ARDUINOJSON_ENABLE_PROGMEM 1 | ||||||
| #include <ArduinoJson.h> | #include <ArduinoJson.h> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,8 +2,6 @@ | |||||||
| // Copyright Benoit Blanchon 2014-2021 | // Copyright Benoit Blanchon 2014-2021 | ||||||
| // MIT License | // MIT License | ||||||
|  |  | ||||||
| #include "progmem_emulation.hpp" |  | ||||||
|  |  | ||||||
| #define ARDUINOJSON_ENABLE_ARDUINO_STRING 1 | #define ARDUINOJSON_ENABLE_ARDUINO_STRING 1 | ||||||
| #define ARDUINOJSON_ENABLE_PROGMEM 1 | #define ARDUINOJSON_ENABLE_PROGMEM 1 | ||||||
| #define ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 0 | #define ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 0 | ||||||
|   | |||||||
| @@ -2,8 +2,6 @@ | |||||||
| // Copyright Benoit Blanchon 2014-2021 | // Copyright Benoit Blanchon 2014-2021 | ||||||
| // MIT License | // MIT License | ||||||
|  |  | ||||||
| #include "progmem_emulation.hpp" |  | ||||||
|  |  | ||||||
| #define ARDUINOJSON_ENABLE_ARDUINO_STRING 1 | #define ARDUINOJSON_ENABLE_ARDUINO_STRING 1 | ||||||
| #define ARDUINOJSON_ENABLE_PROGMEM 1 | #define ARDUINOJSON_ENABLE_PROGMEM 1 | ||||||
| #define ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 1 | #define ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 1 | ||||||
|   | |||||||
| @@ -131,6 +131,11 @@ | |||||||
| #    define ARDUINOJSON_ENABLE_ARDUINO_PRINT 1 | #    define ARDUINOJSON_ENABLE_ARDUINO_PRINT 1 | ||||||
| #  endif | #  endif | ||||||
|  |  | ||||||
|  | // Enable support for PROGMEM | ||||||
|  | #  ifndef ARDUINOJSON_ENABLE_PROGMEM | ||||||
|  | #    define ARDUINOJSON_ENABLE_PROGMEM 1 | ||||||
|  | #  endif | ||||||
|  |  | ||||||
| #else  // ARDUINO | #else  // ARDUINO | ||||||
|  |  | ||||||
| // Disable support for Arduino's String class | // Disable support for Arduino's String class | ||||||
| @@ -148,16 +153,12 @@ | |||||||
| #    define ARDUINOJSON_ENABLE_ARDUINO_PRINT 0 | #    define ARDUINOJSON_ENABLE_ARDUINO_PRINT 0 | ||||||
| #  endif | #  endif | ||||||
|  |  | ||||||
| #endif  // ARDUINO | // Disable support for PROGMEM | ||||||
|  | #  ifndef ARDUINOJSON_ENABLE_PROGMEM | ||||||
| #ifndef ARDUINOJSON_ENABLE_PROGMEM |  | ||||||
| #  if defined(PROGMEM) && defined(pgm_read_byte) && defined(pgm_read_dword) && \ |  | ||||||
|       defined(pgm_read_ptr) && defined(pgm_read_float) |  | ||||||
| #    define ARDUINOJSON_ENABLE_PROGMEM 1 |  | ||||||
| #  else |  | ||||||
| #    define ARDUINOJSON_ENABLE_PROGMEM 0 | #    define ARDUINOJSON_ENABLE_PROGMEM 0 | ||||||
| #  endif | #  endif | ||||||
| #endif |  | ||||||
|  | #endif  // ARDUINO | ||||||
|  |  | ||||||
| // Convert unicode escape sequence (\u0123) to UTF-8 | // Convert unicode escape sequence (\u0123) to UTF-8 | ||||||
| #ifndef ARDUINOJSON_DECODE_UNICODE | #ifndef ARDUINOJSON_DECODE_UNICODE | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user