diff options
author | JF <jf@codingfield.com> | 2019-12-21 17:58:00 +0100 |
---|---|---|
committer | JF <jf@codingfield.com> | 2019-12-21 17:58:00 +0100 |
commit | ecf307c559624fe82218e3acfc429d549f331075 (patch) | |
tree | 95a09721e2015f5b4bc066cb272982b7bf87f10f /src/DisplayApp/DisplayApp.cpp | |
parent | 528fc5661679feeef91e76d633c94c945bb0a3df (diff) |
Add BLE and CTS client. Time can be retrieved from a CTS server (like NRFConnect) once it's bond.
WIP, the code is really ugly
Diffstat (limited to 'src/DisplayApp/DisplayApp.cpp')
-rw-r--r-- | src/DisplayApp/DisplayApp.cpp | 53 |
1 files changed, 31 insertions, 22 deletions
diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp index abaef825..e17dd55c 100644 --- a/src/DisplayApp/DisplayApp.cpp +++ b/src/DisplayApp/DisplayApp.cpp @@ -21,7 +21,6 @@ void DisplayApp::Process(void *instance) { app->InitHw(); while (1) { - NRF_LOG_INFO("BlinkApp task running!"); app->Refresh(); @@ -68,41 +67,51 @@ void DisplayApp::InitHw() { } void DisplayApp::Refresh() { - uint32_t systick_counter = nrf_rtc_counter_get(portNRF_RTC_REG); - auto raw = systick_counter / 1000; - - // TODO make this better! - minutes = raw / 60; - seconds = raw - (minutes*60); - - char secondChar[3]; - sprintf(secondChar, "%02d", seconds); +// uint32_t systick_counter = nrf_rtc_counter_get(portNRF_RTC_REG); +// auto raw = systick_counter / 1000; +// +// TODO make this better! +// minutes = raw / 60; +// seconds = raw - (minutes*60); char minutesChar[3]; sprintf(minutesChar, "%02d", minutes); + char hoursChar[3]; + sprintf(hoursChar, "%02d", hours); + uint8_t x = 7; - if(minutesChar[0] != currentChar[0]) { - gfx->DrawChar(&largeFont, minutesChar[0], &x, 78, 0xffff); - currentChar[0] = minutesChar[0]; + if(hoursChar[0] != currentChar[0]) { + gfx->DrawChar(&largeFont, hoursChar[0], &x, 78, 0xffff); + currentChar[0] = hoursChar[0]; } x = 61; - if(minutesChar[1] != currentChar[1]) { - gfx->DrawChar(&largeFont, minutesChar[1], &x, 78, 0xffff); - currentChar[1] = minutesChar[1]; + if(hoursChar[1] != currentChar[1]) { + gfx->DrawChar(&largeFont, hoursChar[1], &x, 78, 0xffff); + currentChar[1] = hoursChar[1]; } x = 127; - if(secondChar[0] != currentChar[2]) { - gfx->DrawChar(&largeFont, secondChar[0], &x, 78, 0xffff); - currentChar[2] = secondChar[0]; + if(minutesChar[0] != currentChar[2]) { + gfx->DrawChar(&largeFont, minutesChar[0], &x, 78, 0xffff); + currentChar[2] = minutesChar[0]; } x = 181; - if(secondChar[1] != currentChar[3]) { - gfx->DrawChar(&largeFont, secondChar[1], &x, 78, 0xffff); - currentChar[3] = secondChar[1]; + if(minutesChar[1] != currentChar[3]) { + gfx->DrawChar(&largeFont, minutesChar[1], &x, 78, 0xffff); + currentChar[3] = minutesChar[1]; } } + +void DisplayApp::Minutes(uint8_t m) { + // TODO yeah, I know, race condition... + minutes = m; +} + +void DisplayApp::Hours(uint8_t h) { + // TODO yeah, I know, race condition too... + hours = h; +} |