summaryrefslogtreecommitdiff
path: root/ucoo/hal/frame_buffer
diff options
context:
space:
mode:
Diffstat (limited to 'ucoo/hal/frame_buffer')
-rw-r--r--ucoo/hal/frame_buffer/ltdc.stm32f4.cc7
-rw-r--r--ucoo/hal/frame_buffer/ltdc.stm32f4.hh2
2 files changed, 9 insertions, 0 deletions
diff --git a/ucoo/hal/frame_buffer/ltdc.stm32f4.cc b/ucoo/hal/frame_buffer/ltdc.stm32f4.cc
index a1e4f47..f80083c 100644
--- a/ucoo/hal/frame_buffer/ltdc.stm32f4.cc
+++ b/ucoo/hal/frame_buffer/ltdc.stm32f4.cc
@@ -83,4 +83,11 @@ Ltdc::layer_setup (int layer, const Surface &surface, int x, int y)
reg::LTDC->SRCR = LTDC_SRCR_VBR;
}
+void
+Ltdc::wait_reload ()
+{
+ while (reg::LTDC->SRCR & LTDC_SRCR_VBR)
+ ;
+}
+
} // namespace ucoo
diff --git a/ucoo/hal/frame_buffer/ltdc.stm32f4.hh b/ucoo/hal/frame_buffer/ltdc.stm32f4.hh
index 72ceda1..9e572c8 100644
--- a/ucoo/hal/frame_buffer/ltdc.stm32f4.hh
+++ b/ucoo/hal/frame_buffer/ltdc.stm32f4.hh
@@ -41,6 +41,8 @@ class Ltdc
void disable ();
/// Setup a layer.
void layer_setup (int layer, const Surface &surface, int x, int y);
+ /// Wait until previous setup is loaded.
+ void wait_reload ();
protected:
int width_, heigth_;
protected: