Skip to content

Commit

Permalink
Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev_no…
Browse files Browse the repository at this point in the history
…_master_thermostat
  • Loading branch information
MichaelDvP committed Mar 11, 2022
2 parents 5634f46 + f539a23 commit 0495aec
Show file tree
Hide file tree
Showing 30 changed files with 855 additions and 892 deletions.
1,536 changes: 757 additions & 779 deletions interface/package-lock.json

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions interface/package.json
Expand Up @@ -7,15 +7,15 @@
"@emotion/react": "^11.8.1",
"@emotion/styled": "^11.8.1",
"@msgpack/msgpack": "^2.7.2",
"@mui/icons-material": "^5.4.4",
"@mui/material": "^5.4.4",
"@mui/icons-material": "^5.5.0",
"@mui/material": "^5.5.0",
"@types/lodash": "^4.14.179",
"@types/node": "^17.0.21",
"@types/react": "^17.0.39",
"@types/react": "^17.0.40",
"@types/react-dom": "^17.0.13",
"@types/react-router-dom": "^5.3.3",
"async-validator": "^4.0.7",
"axios": "^0.26.0",
"axios": "^0.26.1",
"http-proxy-middleware": "^2.0.3",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21",
Expand Down
13 changes: 13 additions & 0 deletions lib/ArduinoJson/CHANGELOG.md
@@ -1,6 +1,19 @@
ArduinoJson: change log
=======================

v6.19.3 (2022-03-08)
-------

* Fix `call of overloaded 'String(const char*, int)' is ambiguous`
* Fix `JsonString` operator `==` and `!=` for non-zero-terminated string
* Fix `-Wsign-conversion` on GCC 8 (issue #1715)
* MessagePack: serialize round floats as integers (issue #1718)

v6.19.2 (2022-02-14)
-------

* Fix `cannot convert 'pgm_p' to 'const void*'` (issue #1707)

v6.19.1 (2022-01-14)
-------

Expand Down
4 changes: 2 additions & 2 deletions lib/ArduinoJson/README.md
Expand Up @@ -7,8 +7,8 @@
[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/arduinojson.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson)
[![LGTM Grade](https://img.shields.io/lgtm/grade/cpp/github/bblanchon/ArduinoJson?label=quality&logo=lgtm)](https://lgtm.com/projects/g/bblanchon/ArduinoJson/)
[![Coveralls branch](https://img.shields.io/coveralls/github/bblanchon/ArduinoJson/6.x?logo=coveralls)](https://coveralls.io/github/bblanchon/ArduinoJson?branch=6.x)
[![Arduino Library Manager](https://img.shields.io/static/v1?label=Arduino&message=v6.19.1&logo=arduino&logoColor=white&color=blue)](https://www.ardu-badge.com/ArduinoJson/6.19.1)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/bblanchon/library/ArduinoJson.svg?version=6.19.1)](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.19.1)
[![Arduino Library Manager](https://img.shields.io/static/v1?label=Arduino&message=v6.19.3&logo=arduino&logoColor=white&color=blue)](https://www.ardu-badge.com/ArduinoJson/6.19.3)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/bblanchon/library/ArduinoJson.svg?version=6.19.3)](https://registry.platformio.org/packages/libraries/bblanchon/ArduinoJson?version=6.19.3)
[![GitHub stars](https://img.shields.io/github/stars/bblanchon/ArduinoJson?style=flat&logo=github)](https://github.com/bblanchon/ArduinoJson/stargazers)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/bblanchon?logo=github)](https://github.com/sponsors/bblanchon)

Expand Down
Expand Up @@ -64,7 +64,7 @@ inline bool CollectionData::copyFrom(const CollectionData& src,
for (VariantSlot* s = src._head; s; s = s->next()) {
VariantData* var;
if (s->key() != 0) {
String key(s->key(), !s->ownsKey());
String key(s->key(), s->ownsKey() ? String::Copied : String::Linked);
var = addMember(adaptString(key), pool, getStringStoragePolicy(key));
} else {
var = addElement(pool);
Expand Down
Expand Up @@ -40,7 +40,7 @@ class MsgPackDeserializer {
template <typename TFilter>
bool parseVariant(VariantData *variant, TFilter filter,
NestingLimit nestingLimit) {
uint8_t code = 0;
uint8_t code = 0; // TODO: why do we need to initialize this variable?
if (!readByte(code))
return false;

Expand Down Expand Up @@ -481,7 +481,7 @@ class MsgPackDeserializer {
T size;
if (!readInteger(size))
return false;
return skipBytes(size + 1);
return skipBytes(size + 1U);
}

MemoryPool *_pool;
Expand Down
16 changes: 9 additions & 7 deletions lib/ArduinoJson/src/ArduinoJson/MsgPack/MsgPackSerializer.hpp
Expand Up @@ -23,6 +23,11 @@ class MsgPackSerializer : public Visitor<size_t> {

template <typename T>
typename enable_if<sizeof(T) == 4, size_t>::type visitFloat(T value32) {
if (canConvertNumber<Integer>(value32)) {
Integer truncatedValue = Integer(value32);
if (value32 == T(truncatedValue))
return visitSignedInteger(truncatedValue);
}
writeByte(0xCA);
writeInteger(value32);
return bytesWritten();
Expand All @@ -32,13 +37,10 @@ class MsgPackSerializer : public Visitor<size_t> {
ARDUINOJSON_NO_SANITIZE("float-cast-overflow")
typename enable_if<sizeof(T) == 8, size_t>::type visitFloat(T value64) {
float value32 = float(value64);
if (value32 == value64) {
writeByte(0xCA);
writeInteger(value32);
} else {
writeByte(0xCB);
writeInteger(value64);
}
if (value32 == value64)
return visitFloat(value32);
writeByte(0xCB);
writeInteger(value64);
return bytesWritten();
}

Expand Down
6 changes: 4 additions & 2 deletions lib/ArduinoJson/src/ArduinoJson/Object/Pair.hpp
Expand Up @@ -13,7 +13,8 @@ class Pair {
public:
Pair(MemoryPool* pool, VariantSlot* slot) {
if (slot) {
_key = String(slot->key(), !slot->ownsKey());
_key = String(slot->key(),
slot->ownsKey() ? String::Copied : String::Linked);
_value = VariantRef(pool, slot->data());
}
}
Expand All @@ -35,7 +36,8 @@ class PairConst {
public:
PairConst(const VariantSlot* slot) {
if (slot) {
_key = String(slot->key(), !slot->ownsKey());
_key = String(slot->key(),
slot->ownsKey() ? String::Copied : String::Linked);
_value = VariantConstRef(slot->data());
}
}
Expand Down
4 changes: 2 additions & 2 deletions lib/ArduinoJson/src/ArduinoJson/Polyfills/pgmspace.hpp
Expand Up @@ -99,15 +99,15 @@ inline void* memcpy_P(void* dst, ARDUINOJSON_NAMESPACE::pgm_p src, size_t n) {
#ifndef pgm_read_dword
inline uint32_t pgm_read_dword(ARDUINOJSON_NAMESPACE::pgm_p p) {
uint32_t result;
memcpy_P(&result, p, 4);
memcpy_P(&result, p.address, 4);
return result;
}
#endif

#ifndef pgm_read_ptr
inline void* pgm_read_ptr(ARDUINOJSON_NAMESPACE::pgm_p p) {
void* result;
memcpy_P(&result, p, sizeof(result));
memcpy_P(&result, p.address, sizeof(result));
return result;
}
#endif
Expand Up @@ -22,7 +22,7 @@ class StringCopier {
String save() {
ARDUINOJSON_ASSERT(_ptr);
ARDUINOJSON_ASSERT(_size < _capacity); // needs room for the terminator
return String(_pool->saveStringFromFreeZone(_size), _size, false);
return String(_pool->saveStringFromFreeZone(_size), _size, String::Copied);
}

void append(const char* s) {
Expand Down Expand Up @@ -52,7 +52,7 @@ class StringCopier {
ARDUINOJSON_ASSERT(_ptr);
ARDUINOJSON_ASSERT(_size < _capacity);
_ptr[_size] = 0;
return String(_ptr, _size, false);
return String(_ptr, _size, String::Copied);
}

private:
Expand Down
Expand Up @@ -33,7 +33,7 @@ class StringMover {

String str() const {
_writePtr[0] = 0; // terminator
return String(_startPtr, size(), true);
return String(_startPtr, size(), String::Linked);
}

size_t size() const {
Expand Down
Expand Up @@ -106,13 +106,13 @@ inline SizedRamString adaptString(const char* s, size_t n) {
return SizedRamString(s, n);
}

template <int N>
template <size_t N>
struct IsString<char[N]> : true_type {};

template <int N>
template <size_t N>
struct IsString<const char[N]> : true_type {};

template <int N>
template <size_t N>
inline SizedRamString adaptString(char s[N]) {
return SizedRamString(s, strlen(s));
}
Expand Down
4 changes: 2 additions & 2 deletions lib/ArduinoJson/src/ArduinoJson/Strings/StoragePolicy.hpp
Expand Up @@ -12,7 +12,7 @@ namespace ARDUINOJSON_NAMESPACE {
struct LinkStringStoragePolicy {
template <typename TAdaptedString, typename TCallback>
bool store(TAdaptedString str, MemoryPool *, TCallback callback) {
String storedString(str.data(), str.size(), true);
String storedString(str.data(), str.size(), String::Linked);
callback(storedString);
return !str.isNull();
}
Expand Down Expand Up @@ -50,7 +50,7 @@ inline LinkStringStoragePolicy getStringStoragePolicy(const char *) {
}

inline LinkOrCopyStringStoragePolicy getStringStoragePolicy(const String &s) {
return LinkOrCopyStringStoragePolicy(s.isStatic());
return LinkOrCopyStringStoragePolicy(s.isLinked());
}

} // namespace ARDUINOJSON_NAMESPACE
35 changes: 0 additions & 35 deletions lib/ArduinoJson/src/ArduinoJson/Strings/StoredString.hpp

This file was deleted.

32 changes: 14 additions & 18 deletions lib/ArduinoJson/src/ArduinoJson/Strings/String.hpp
Expand Up @@ -14,15 +14,15 @@ namespace ARDUINOJSON_NAMESPACE {

class String : public SafeBoolIdom<String> {
public:
String() : _data(0), _size(0), _isStatic(true) {}
enum Ownership { Copied, Linked };

String(const char* data, bool isStaticData = true)
: _data(data),
_size(data ? ::strlen(data) : 0),
_isStatic(isStaticData) {}
String() : _data(0), _size(0), _ownership(Linked) {}

String(const char* data, size_t sz, bool isStaticData = true)
: _data(data), _size(sz), _isStatic(isStaticData) {}
String(const char* data, Ownership ownership = Linked)
: _data(data), _size(data ? ::strlen(data) : 0), _ownership(ownership) {}

String(const char* data, size_t sz, Ownership ownership = Linked)
: _data(data), _size(sz), _ownership(ownership) {}

const char* c_str() const {
return _data;
Expand All @@ -32,8 +32,8 @@ class String : public SafeBoolIdom<String> {
return !_data;
}

bool isStatic() const {
return _isStatic;
bool isLinked() const {
return _ownership == Linked;
}

size_t size() const {
Expand All @@ -46,23 +46,19 @@ class String : public SafeBoolIdom<String> {
}

friend bool operator==(String lhs, String rhs) {
if (lhs._size != rhs._size)
return false;
if (lhs._data == rhs._data)
return true;
if (!lhs._data)
return false;
if (!rhs._data)
return false;
return strcmp(lhs._data, rhs._data) == 0;
return memcmp(lhs._data, rhs._data, lhs._size) == 0;
}

friend bool operator!=(String lhs, String rhs) {
if (lhs._data == rhs._data)
return false;
if (!lhs._data)
return true;
if (!rhs._data)
return true;
return strcmp(lhs._data, rhs._data) != 0;
return !(lhs == rhs);
}

#if ARDUINOJSON_ENABLE_STD_STREAM
Expand All @@ -75,7 +71,7 @@ class String : public SafeBoolIdom<String> {
private:
const char* _data;
size_t _size;
bool _isStatic;
Ownership _ownership;
};

} // namespace ARDUINOJSON_NAMESPACE
2 changes: 1 addition & 1 deletion lib/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp
Expand Up @@ -208,7 +208,7 @@ class MemoryPoolPrint : public Print {

String str() {
ARDUINOJSON_ASSERT(_size < _capacity);
return String(_pool->saveStringFromFreeZone(_size), _size, false);
return String(_pool->saveStringFromFreeZone(_size), _size, String::Copied);
}

size_t write(uint8_t c) {
Expand Down
2 changes: 1 addition & 1 deletion lib/ArduinoJson/src/ArduinoJson/Variant/VariantCompare.hpp
Expand Up @@ -23,7 +23,7 @@ struct Comparer;
template <typename T>
struct Comparer<T, typename enable_if<IsString<T>::value>::type>
: ComparerBase {
T rhs;
T rhs; // TODO: store adapted string?

explicit Comparer(T value) : rhs(value) {}

Expand Down
2 changes: 1 addition & 1 deletion lib/ArduinoJson/src/ArduinoJson/Variant/VariantData.hpp
Expand Up @@ -210,7 +210,7 @@ class VariantData {

void setString(String s) {
ARDUINOJSON_ASSERT(s);
if (s.isStatic())
if (s.isLinked())
setType(VALUE_IS_LINKED_STRING);
else
setType(VALUE_IS_OWNED_STRING);
Expand Down
11 changes: 7 additions & 4 deletions lib/ArduinoJson/src/ArduinoJson/Variant/VariantImpl.hpp
Expand Up @@ -73,9 +73,11 @@ inline T VariantData::asFloat() const {
inline String VariantData::asString() const {
switch (type()) {
case VALUE_IS_LINKED_STRING:
return String(_content.asString.data, _content.asString.size, true);
return String(_content.asString.data, _content.asString.size,
String::Linked);
case VALUE_IS_OWNED_STRING:
return String(_content.asString.data, _content.asString.size, false);
return String(_content.asString.data, _content.asString.size,
String::Copied);
default:
return String();
}
Expand Down Expand Up @@ -166,14 +168,15 @@ inline VariantConstRef operator|(VariantConstRef preferedValue,

// Out of class definition to avoid #1560
inline bool VariantRef::set(char value) const {
return set<signed char>(value);
return set(static_cast<signed char>(value));
}

// TODO: move somewhere else
template <typename TAdaptedString, typename TCallback>
bool CopyStringStoragePolicy::store(TAdaptedString str, MemoryPool *pool,
TCallback callback) {
const char *copy = pool->saveString(str);
String storedString(copy, str.size(), false);
String storedString(copy, str.size(), String::Copied);
callback(storedString);
return copy != 0;
}
Expand Down
4 changes: 2 additions & 2 deletions lib/ArduinoJson/src/ArduinoJson/Variant/VariantRef.hpp
Expand Up @@ -119,7 +119,7 @@ class VariantRef : public VariantRefBase<VariantData>,
ARDUINOJSON_DEPRECATED(
"Support for char is deprecated, use int8_t or uint8_t instead")
as() const {
return as<signed char>();
return static_cast<char>(as<signed char>());
}

template <typename T>
Expand Down Expand Up @@ -265,7 +265,7 @@ class VariantConstRef : public VariantRefBase<const VariantData>,
ARDUINOJSON_DEPRECATED(
"Support for char is deprecated, use int8_t or uint8_t instead")
as() const {
return as<signed char>();
return static_cast<char>(as<signed char>());
}

template <typename T>
Expand Down

0 comments on commit 0495aec

Please sign in to comment.