Updated flash string definition in order to save RAM (changed F() to PSTR())

This commit is contained in:
anschrammh 2019-11-17 09:42:53 +01:00
parent 202aa27d9b
commit 81dcd390e0

View File

@ -8,25 +8,25 @@ boolean homeInfo(Adafruit_SSD1306 &display, void *pData)
switch(p->powerInfo.powerType)
{
case PowerManager::USB:
sprintf(power_str,"USB");
sprintf_P(power_str,PSTR("USB"));
break;
default:
sprintf(power_str,"BATT(%u%%)", p->powerInfo.level);
sprintf_P(power_str,PSTR("BATT(%u%%)"), p->powerInfo.level);
}
if(p->sdCardSize != 0.0)
sprintf(sdCard,"%.2fGB",p->sdCardSize);
sprintf_P(sdCard,PSTR("%.2fGB"),p->sdCardSize);
else
sprintf(sdCard,"NO CARD");
sprintf_P(sdCard,PSTR("NO CARD"));
sprintf_P(time_str, F("Time : %s:%s:%s\nDate : %s/%s/%d\nFree RAM : %d\nSdCard : %s\nPower : %s\nViews : %u\n")
sprintf_P(time_str, PSTR("Time : %s:%s:%s\nDate : %s/%s/%d\nFree RAM : %d\nSdCard : %s\nPower : %s\nViews : %u\n")
, dateTimeFormater(zero_prepended[0],p->dateTime.hour(),'0')
, dateTimeFormater(zero_prepended[1],p->dateTime.minute(),'0')
, dateTimeFormater(zero_prepended[2],p->dateTime.second(),'0')
, dateTimeFormater(zero_prepended[3],p->dateTime.day(),'0')
, dateTimeFormater(zero_prepended[4],p->dateTime.month(),'0')
, p->dateTime.year(),ESP.getFreeHeap(),sdCard,power_str, p->nbViews);
sprintf_P(pageTitle, F("GLOBAL INFO v %s"),p->version);
sprintf_P(pageTitle, PSTR("GLOBAL INFO v %s"),p->version);
display.println(time_str);
display.setCursor(0,56);
display.println(pageTitle);
@ -38,13 +38,13 @@ boolean rtcInfo(Adafruit_SSD1306 &display, void *pData)
{
char buffer[300] = "";
SAB *p = (SAB *) pData;
sprintf_P(buffer, F("Rtc temp : %.2f C"), p->getRtcManager().getTemperature());
TimeSpan ts(p->getUpTime());
sprintf_P(buffer, PSTR("Rtc temp : %.2f C\nUp Time : \n %d d %d h %d m %d s"), p->getRtcManager().getTemperature(), ts.days(), ts.hours(), ts.minutes(), ts.seconds());
display.println(buffer);
display.setCursor(0,56);
display.println(F("RTC INFO"));
display.print(FPSTR("RTC INFO"));
return true;
}
@ -55,14 +55,14 @@ boolean apInfo(Adafruit_SSD1306 &display, void *pData)
ViewAPPacket *p = (ViewAPPacket *) pData;
if(p->enabled)
sprintf_P(conn_str,F("Ip addr : %u.%u.%u.%u\nMac addr : \n%s\nConns : %u\nSSID : %s\n") ,p->ipAddr[0], p->ipAddr[1], p->ipAddr[2], p->ipAddr[3], p->macAddr.c_str(), p->nbOfCon, p->ssid.c_str());
sprintf_P(conn_str,PSTR("Ip addr : %u.%u.%u.%u\nMac addr : \n%s\nConns : %u\nSSID : %s\n") ,p->ipAddr[0], p->ipAddr[1], p->ipAddr[2], p->ipAddr[3], p->macAddr.c_str(), p->nbOfCon, p->ssid.c_str());
else
sprintf_P(conn_str,F("AP connectivity\nis not enabled\nCheck the cfg file\n"));
sprintf_P(conn_str,PSTR("AP connectivity\nis not enabled\nCheck the cfg file\n"));
display.println(conn_str);
display.setCursor(0,56);
display.println(F("AP INFO"));
display.print(FPSTR("AP INFO"));
return true;
}
@ -74,14 +74,14 @@ boolean staInfo(Adafruit_SSD1306 &display, void *pData)
ViewSTAPacket *p = (ViewSTAPacket *) pData;
if(p->enabled)
sprintf_P(conn_str, F("Ip addr : %u.%u.%u.%u\nMac addr : \n%s\nSignal : %d dBm\n"), p->ipAddr[0], p->ipAddr[1], p->ipAddr[2], p->ipAddr[3], p->macAddr.c_str(), p->sigStrength);
sprintf_P(conn_str, PSTR("Ip addr : %u.%u.%u.%u\nMac addr : \n%s\nSignal : %d dBm\n"), p->ipAddr[0], p->ipAddr[1], p->ipAddr[2], p->ipAddr[3], p->macAddr.c_str(), p->sigStrength);
else
sprintf_P(conn_str,F("STA connectivity\nis not enabled\nCheck the cfg file\n"));
sprintf_P(conn_str,PSTR("STA connectivity\nis not enabled\nCheck the cfg file\n"));
display.println(conn_str);
display.setCursor(0,56);
display.println(F("STA INFO"));
display.println(FPSTR("STA INFO"));
return true;
}
@ -93,11 +93,11 @@ boolean memInfo(Adafruit_SSD1306 &display, void *pData)
uint16_t biggestContigMemBlock;
uint8_t frag;
ESP.getHeapStats(&freeMem, &biggestContigMemBlock, &frag);
sprintf_P(dispBuffer, F("Free RAM : %u\nHeap frag : %u\nMax block : %u\nFree Flash : %u\nProg size : %u\nCPU Freq : %u MHz\n"), freeMem, frag, biggestContigMemBlock, ESP.getFreeSketchSpace(), ESP.getSketchSize(), ESP.getCpuFreqMHz());
sprintf_P(dispBuffer, PSTR("Free RAM : %u\nHeap frag : %u\nMax block : %u\nFree Flash : %u\nProg size : %u\nCPU Freq : %u MHz\n"), freeMem, frag, biggestContigMemBlock, ESP.getFreeSketchSpace(), ESP.getSketchSize(), ESP.getCpuFreqMHz());
display.println(dispBuffer);
display.setCursor(0,56);
display.println(F("SYS INFO"));
display.println(FPSTR("SYS INFO"));
return true;
}
@ -112,7 +112,7 @@ boolean ioInfo(Adafruit_SSD1306 &display, void *pData)
char buff[30] = "";
display.setCursor(0,2);
display.print(F("0 1 2 3 4 5 6 7"));
display.print(FPSTR("0 1 2 3 4 5 6 7"));
sprintf(buff,"%c %c %c %c %c %c %c %c",
p->ioMode[0] ? 'O' : 'I',
p->ioMode[1] ? 'O' : 'I',
@ -135,7 +135,7 @@ boolean ioInfo(Adafruit_SSD1306 &display, void *pData)
p->ioState[7] ? display.fillRect(119,31,9,17,WHITE) : display.drawRect(119,31,9,17,WHITE);//7
display.setCursor(0,56);
display.println(F("I/O INFO"));
display.println(FPSTR("I/O INFO"));
return true;
}
@ -145,13 +145,13 @@ boolean sysErrorInfo(Adafruit_SSD1306 &display, void *pData)
char error_str[300];
display.print("Rst reason : ");display.println(ESP.getResetReason());
display.print("RTC : ");display.println((p->getError() & SAB::RTC_BEGIN_ERR) != 0 ? "ERROR":"OK");
display.print("DISPLAY : ");display.println((p->getError() & SAB::DISP_BEGIN_ERR) != 0 ? "ERROR":"OK");
display.print("SDCard : ");display.println((p->getError() & SAB::SDCARD_INIT_ERR) != 0 ? "ERROR":"OK");
display.print("IO : ");display.println((p->getError() & SAB::IO_INIT_ERR) != 0 ? "ERROR":"OK");
display.print(FPSTR("Rst reason : ")); display.println(ESP.getResetReason());
display.print(FPSTR("RTC : "));display.println((p->getError() & SAB::RTC_BEGIN_ERR) != 0 ? "ERROR":"OK");
display.print(FPSTR("DISPLAY : "));display.println((p->getError() & SAB::DISP_BEGIN_ERR) != 0 ? "ERROR":"OK");
display.print(FPSTR("SDCard : "));display.println((p->getError() & SAB::SDCARD_INIT_ERR) != 0 ? "ERROR":"OK");
display.print(FPSTR("IO : "));display.println((p->getError() & SAB::IO_INIT_ERR) != 0 ? "ERROR":"OK");
display.setCursor(0,56);
display.print(F("SYS ERROR CODE : "));display.println(p->getError());
display.print(FPSTR("SYS ERROR CODE : "));display.println(p->getError());
return true;
}