Some memory optimization for Arduino UNO following this thread:

https://community.openmqttgateway.com/t/arduino-uno-ethernet-shield-reboots-on-receiving-rf-signal-on-v-0-9/346/22
Rework led management to avoid use of global variables
and specify special JSON_MSG_BUFFER for arduino UNO
led can now be used for all the boards

generalize use of F macro
for memory optimization
change jsonbuffer calculation method
reduce pubsubclient max packet size for uno and nano
This commit is contained in:
Florian committed 2019-03-09 17:28:54 +01:00
1 parent a34d476f04
commit da859cc6ae
22 files changed
+166 -131

No files matched your search

+2 -5
View File
@@ -47,7 +47,8 @@ void setupRF315(){
boolean RF315toMQTT(){
if (mySwitch315.available()){
trc(F("Creating RF315 buffer"));
StaticJsonBuffer<JSON_MSG_BUFFER> jsonBuffer;
const int JSON_MSG_CALC_BUFFER = JSON_OBJECT_SIZE(4);
StaticJsonBuffer<JSON_MSG_CALC_BUFFER> jsonBuffer;
JsonObject& RF315data = jsonBuffer.createObject();
trc(F("Rcv. RF315"));
#ifdef ESP32
@@ -61,10 +62,6 @@ boolean RF315toMQTT(){
RF315data.set("delay", (int)mySwitch315.getReceivedDelay());
mySwitch315.resetAvailable();
trc(F("LED MNG"));
digitalWrite(led_receive, LOW);
timer_led_receive = millis();
unsigned long MQTTvalue = RF315data.get<unsigned long>("value");
if (!isAduplicate(MQTTvalue) && MQTTvalue!=0) {// conditions to avoid duplications of RF -->MQTT
trc(F("Adv data RF315toMQTT"));