From e9ad217f831a7f2633abf16a3e689fab7f476585 Mon Sep 17 00:00:00 2001 From: Gerardo Date: Tue, 15 Feb 2022 21:40:39 +0100 Subject: [PATCH] Correcciones --- DomoEsp_v02/MqttSensManager.cpp | 4 ++++ DomoEsp_v02/MqttUtiles.cpp | 4 +++- DomoEsp_v02/MqttVarManager.cpp | 3 +++ DomoEsp_v02/MqttVarManager.h | 2 ++ DomoEsp_v02/MqttWOLManager.cpp | 2 +- 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/DomoEsp_v02/MqttSensManager.cpp b/DomoEsp_v02/MqttSensManager.cpp index 7e47d2a..e3998e8 100644 --- a/DomoEsp_v02/MqttSensManager.cpp +++ b/DomoEsp_v02/MqttSensManager.cpp @@ -30,6 +30,8 @@ MqttSensArray::MqttSensArray() MqttSensor* MqttSensArray:: Get(int i) { + if (i < 0 || i >= n) + return NULL; return &(sens[i]); } MqttSensor* MqttSensArray::Ivar2Sen(int ivar) @@ -38,6 +40,8 @@ MqttSensor* MqttSensArray::Ivar2Sen(int ivar) for(int i=0; iivar==ivar) return res; } diff --git a/DomoEsp_v02/MqttUtiles.cpp b/DomoEsp_v02/MqttUtiles.cpp index a3e9af0..dc639b5 100644 --- a/DomoEsp_v02/MqttUtiles.cpp +++ b/DomoEsp_v02/MqttUtiles.cpp @@ -334,7 +334,9 @@ SonidoBuzzer::SonidoBuzzer() void SonidoBuzzer::Toca(int pin, int imel) { - mel[imel].Toca(pin); + if (imel<0 || imel>=n) + return; + mel[imel].Toca(pin); } int SonidoBuzzer::Add(char* melo) diff --git a/DomoEsp_v02/MqttVarManager.cpp b/DomoEsp_v02/MqttVarManager.cpp index 153e311..b410d46 100644 --- a/DomoEsp_v02/MqttVarManager.cpp +++ b/DomoEsp_v02/MqttVarManager.cpp @@ -10,10 +10,13 @@ MqttTopicAttay::MqttTopicAttay() { n=0; nst=0; + def[0] = 0; } char* MqttTopicAttay::Get(int i) { + if (i < 0 || i >= n) + return def; return &str[(ind[i])]; } diff --git a/DomoEsp_v02/MqttVarManager.h b/DomoEsp_v02/MqttVarManager.h index d6c09c9..8e5122d 100644 --- a/DomoEsp_v02/MqttVarManager.h +++ b/DomoEsp_v02/MqttVarManager.h @@ -12,7 +12,9 @@ class PubSubClient; //array de topic class MqttTopicAttay { + static char def[1]; public: + char str[MAXSTR];//topic de mqtt asociado int ind[MAXVAR]; int nst; diff --git a/DomoEsp_v02/MqttWOLManager.cpp b/DomoEsp_v02/MqttWOLManager.cpp index 0dcd190..1077eee 100644 --- a/DomoEsp_v02/MqttWOLManager.cpp +++ b/DomoEsp_v02/MqttWOLManager.cpp @@ -26,7 +26,7 @@ int MqttWOLManager::OnMqtt(char* top, char* payload) Serial.println(payload); #endif // WOL.sendMagicPacket(MACAddress, 7); // Change the port number - + return 1; } void MqttWOLManager::suscribe(PubSubClient *client_qqtt) {