Switch haspGetVersion to char* instead of String

This commit is contained in:
fvanroie 2020-11-26 20:09:58 +01:00
parent 9e282457ca
commit 99cdf25810
5 changed files with 114 additions and 106 deletions

View File

@ -395,6 +395,7 @@ void haspSetup()
}
if(th) {
lv_theme_set_act(th);
Log.trace(TAG_HASP, F("Custom theme loaded"));
} else {
Log.error(TAG_HASP, F("No theme could be loaded"));
@ -495,11 +496,11 @@ void hasp_background(uint16_t pageid, uint16_t imageid)
///////////////////////////////////////////////////////////////////////////////////////////////////////////
String haspGetVersion()
void haspGetVersion(char * version, size_t len)
{
char buffer[16];
snprintf_P(buffer, sizeof(buffer), "%u.%u.%u", HASP_VERSION_MAJOR, HASP_VERSION_MINOR, HASP_VERSION_REVISION);
return buffer;
// char buffer[16];
snprintf_P(version, len, "%u.%u.%u", HASP_VERSION_MAJOR, HASP_VERSION_MINOR, HASP_VERSION_REVISION);
// return buffer;
}
void haspClearPage(uint16_t pageid)

View File

@ -60,7 +60,7 @@ uint8_t haspGetPage();
void haspClearPage(uint16_t pageid);
String haspGetNodename();
String haspGetVersion();
void haspGetVersion(char* version,size_t len);
void haspBackground(uint16_t pageid, uint16_t imageid);
void hasp_set_group_objects(uint8_t groupid, uint8_t eventid, lv_obj_t * src_obj);

View File

@ -400,7 +400,11 @@ void webHandleInfo()
/* HASP Stats */
httpMessage += F("<b>HASP Version: </b>");
httpMessage += String(haspGetVersion());
{
char version[32];
haspGetVersion(version, sizeof(version));
httpMessage += version;
}
httpMessage += F("<br/><b>Build DateTime: </b>");
httpMessage += __DATE__;
httpMessage += F(" ");

View File

@ -214,9 +214,10 @@ void mqtt_send_statusupdate()
{
char buffer[128];
snprintf_P(data, sizeof(data), PSTR("{\"status\":\"available\",\"version\":\"%s\",\"uptime\":%lu,"),
haspGetVersion().c_str(), long(millis() / 1000));
strcat(buffer, data);
haspGetVersion(buffer, sizeof(buffer));
snprintf_P(data, sizeof(data), PSTR("{\"status\":\"available\",\"version\":\"%s\",\"uptime\":%lu,"), buffer,
long(millis() / 1000));
#if HASP_USE_WIFI > 0
#if defined(STM32F4xx)
IPAddress ip;

View File

@ -26,7 +26,6 @@ unsigned long updatLedPeriod = 1000; // timer in msec for tele mqtt send
bool ledstate = false;
void slave_send_state(const __FlashStringHelper * subtopic, const char * payload)
{
// page = 0
@ -49,10 +48,12 @@ void slave_send_obj_attribute_str(uint8_t pageid, uint8_t btnid, const char * at
{
char cBuffer[192];
memset(cBuffer, 0, sizeof(cBuffer));
snprintf_P(cBuffer, sizeof(cBuffer), PSTR("publish %sstate/json {\"p[%u].b[%u].%s\":\"%s\"}"), slaveNodeTopic, pageid, btnid, attribute, data);
snprintf_P(cBuffer, sizeof(cBuffer), PSTR("publish %sstate/json {\"p[%u].b[%u].%s\":\"%s\"}"), slaveNodeTopic,
pageid, btnid, attribute, data);
slave.ExecuteCommand((char *)cBuffer);
// Log after char buffers are cleared
Log.notice(TAG_TASM,F("TAS PUB: %sstate/json = {\"p[%u].b[%u].%s\":\"%s\"}"), slaveNodeTopic, pageid, btnid, attribute, data);
Log.notice(TAG_TASM, F("TAS PUB: %sstate/json = {\"p[%u].b[%u].%s\":\"%s\"}"), slaveNodeTopic, pageid, btnid,
attribute, data);
}
void slave_send_input(uint8_t id, const char * payload)
@ -73,9 +74,11 @@ void TASMO_TELE_JSON()
char data[3 * 128];
{
char buffer[128];
snprintf_P(data, sizeof(data), PSTR("{\"status\":\"available\",\"version\":\"%s\",\"uptime\":%lu,"),
haspGetVersion().c_str(), long(millis() / 1000));
strcat(buffer, data);
haspGetVersion(buffer, sizeof(buffer));
snprintf_P(data, sizeof(data), PSTR("{\"status\":\"available\",\"version\":\"%s\",\"uptime\":%lu,"), buffer,
long(millis() / 1000));
snprintf_P(buffer, sizeof(buffer), PSTR("\"espCanUpdate\":\"false\",\"page\":%u,\"numPages\":%u,"),
haspGetPage(), (HASP_NUM_PAGES));
strcat(data, buffer);
@ -159,7 +162,6 @@ void IRAM_ATTR slaveLoop(void)
// updateLedTimer = millis();
// TASMO_EVERY_SECOND();
// }
}
#endif