diff --git a/cube/User/Inc/oled.h b/cube/User/Inc/oled.h index f438780..2583157 100644 --- a/cube/User/Inc/oled.h +++ b/cube/User/Inc/oled.h @@ -35,6 +35,6 @@ void oled_PrintLine(void); void oledClear(); void oledPrint(char msg[]); - +void oledPrintf(const char *format, ...); #endif /* OLED_H_ */ diff --git a/cube/User/Src/oled.c b/cube/User/Src/oled.c index 6613cb2..cf13c1a 100644 --- a/cube/User/Src/oled.c +++ b/cube/User/Src/oled.c @@ -9,6 +9,8 @@ #include #include +#include +#include #include #include @@ -561,4 +563,14 @@ void oledPrint(char msg[]) { lines[MAX_LINES - 1][MAX_CHARS - 1] = 0; oled_P6x8Str(1, MAX_LINES - 1, lines[MAX_LINES - 1]); } -} \ No newline at end of file +} + + +void oledPrintf(const char *format, ...) { + va_list vl; + va_start(vl, format); + char buf[MAX_CHARS+1]; + vsnprintf(buf, MAX_CHARS, format, vl); + va_end(vl); + oledPrint(buf); +} diff --git a/cube/User/Src/wizHelper.c b/cube/User/Src/wizHelper.c index 0d85d88..1533574 100644 --- a/cube/User/Src/wizHelper.c +++ b/cube/User/Src/wizHelper.c @@ -77,7 +77,7 @@ static void wizDHCPAssign() { show(LED_GREEN, ON); coloredMsg(LOG_BLUE, false, "wizda, network is available"); - oledPrint("Address available"); + oledPrintf("Address: %d.%d.%d.%d", netInfo.ip[0], netInfo.ip[1], netInfo.ip[2], netInfo.ip[3]); } static void wizDHCPUpdate() {