Implement the SPI driver using DMA.

This commit is contained in:
JF
2020-01-19 19:47:49 +01:00
parent 9dc4e32e36
commit b4bd41cd56
9 changed files with 143 additions and 60 deletions

View File

@@ -31,8 +31,8 @@ DisplayApp::DisplayApp(Controllers::Battery &batteryController,
batteryController{batteryController},
bleController{bleController},
dateTimeController{dateTimeController},
clockScreen{*(gfx.get())}/*,
messageScreen{*(gfx.get())}*/ {
clockScreen{*(gfx.get())},
messageScreen{*(gfx.get())} {
msgQueue = xQueueCreate(queueSize, itemSize);
currentScreen = &clockScreen;
}
@@ -121,16 +121,20 @@ void DisplayApp::Refresh() {
void DisplayApp::RunningState() {
clockScreen.SetCurrentDateTime(dateTimeController.CurrentDateTime());
// if(currentScreen != nullptr) {
// currentScreen->Refresh(false);
// }
if(currentScreen != nullptr) {
currentScreen->Refresh(false);
currentScreen->Refresh(true);
}
// if(screenState) {
// currentScreen = &clockScreen;
// } else {
// currentScreen = &messageScreen;
// }
// screenState = !screenState;
if(screenState) {
currentScreen = &clockScreen;
} else {
currentScreen = &messageScreen;
}
screenState = !screenState;
}
@@ -153,7 +157,7 @@ void DisplayApp::OnTouchEvent() {
auto info = touchPanel.GetTouchInfo();
if(info.isTouch) {
lcd->FillRectangle(info.x-10, info.y-10, 20,20, pointColor);
gfx->FillRectangle(info.x-10, info.y-10, 20,20, pointColor);
pointColor+=10;
}
}

View File

@@ -57,8 +57,8 @@ namespace Pinetime {
Screens::Clock clockScreen;
Screens::Screen* currentScreen = nullptr;
// Screens::Message messageScreen;
// bool screenState = false;
Screens::Message messageScreen;
bool screenState = false;
static constexpr uint8_t pinSpiSck = 2;
static constexpr uint8_t pinSpiMosi = 3;
static constexpr uint8_t pinSpiMiso = 4;