Updated the IOInfo view (added port direction info : Input/Output), added a new error view

This commit is contained in:
Th3maz1ng 2019-05-01 22:02:11 +02:00
parent b2e9773b2b
commit 42fb3f52bc
2 changed files with 42 additions and 9 deletions

View File

@ -79,21 +79,50 @@ boolean dummy(Adafruit_SSD1306 &display, void *pData)
boolean ioInfo(Adafruit_SSD1306 &display, void *pData)
{
boolean *p = (boolean *) pData;
ViewIoInfoPacket *p = (ViewIoInfoPacket *) pData;
char buff[30] = "";
display.setCursor(0,2);
display.print(F("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',
p->ioMode[2] ? 'O' : 'I',
p->ioMode[3] ? 'O' : 'I',
p->ioMode[4] ? 'O' : 'I',
p->ioMode[5] ? 'O' : 'I',
p->ioMode[6] ? 'O' : 'I',
p->ioMode[7] ? 'O' : 'I');
display.setCursor(0,15);
display.print(buff);
p[0] ? display.fillRect(0,15,9,30,WHITE) : display.drawRect(0,15,9,30,WHITE);//0
p[1] ? display.fillRect(13,15,9,30,WHITE) : display.drawRect(13,15,9,30,WHITE);//1
p[2] ? display.fillRect(30,15,9,30,WHITE) : display.drawRect(30,15,9,30,WHITE);//2
p[3] ? display.fillRect(48,15,9,30,WHITE) : display.drawRect(48,15,9,30,WHITE);//3
p[4] ? display.fillRect(66,15,9,30,WHITE) : display.drawRect(66,15,9,30,WHITE);//4
p[5] ? display.fillRect(84,15,9,30,WHITE) : display.drawRect(84,15,9,30,WHITE);//5
p[6] ? display.fillRect(102,15,9,30,WHITE) : display.drawRect(102,15,9,30,WHITE);//6
p[7] ? display.fillRect(119,15,9,30,WHITE) : display.drawRect(119,15,9,30,WHITE);//7
p->ioState[0] ? display.fillRect(0,31,9,17,WHITE) : display.drawRect(0,31,9,17,WHITE);//0
p->ioState[1] ? display.fillRect(13,31,9,17,WHITE) : display.drawRect(13,31,9,17,WHITE);//1
p->ioState[2] ? display.fillRect(30,31,9,17,WHITE) : display.drawRect(30,31,9,17,WHITE);//2
p->ioState[3] ? display.fillRect(48,31,9,17,WHITE) : display.drawRect(48,31,9,17,WHITE);//3
p->ioState[4] ? display.fillRect(66,31,9,17,WHITE) : display.drawRect(66,31,9,17,WHITE);//4
p->ioState[5] ? display.fillRect(84,31,9,17,WHITE) : display.drawRect(84,31,9,17,WHITE);//5
p->ioState[6] ? display.fillRect(102,31,9,17,WHITE) : display.drawRect(102,31,9,17,WHITE);//6
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"));
return true;
}
boolean sysErrorInfo(Adafruit_SSD1306 &display, void *pData)
{
SAB *p = (SAB *)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.setCursor(0,56);
display.print(F("SYS ERROR CODE : "));display.println(p->getError());
return true;
}

View File

@ -46,6 +46,10 @@ boolean ioInfo(Adafruit_SSD1306 &display, void *pData);
typedef struct viewIoInfoPacket
{
boolean ioState[8];
boolean ioMode[8];
}ViewIoInfoPacket;
//System Error View
boolean sysErrorInfo(Adafruit_SSD1306 &display, void *pData);
#endif //VIEWS_H