From 305381babe6fd0660bfd001a914d1be457fd7543 Mon Sep 17 00:00:00 2001 From: Henrik Hose Date: Mon, 17 Apr 2023 21:02:12 +0200 Subject: [PATCH] [stm32] f469 disco :b-08 flag to select nt35510 --- src/modm/board/disco_f469ni/board_display.cpp | 6 +++--- src/modm/board/disco_f469ni/board_dsi_nt35510.cpp | 4 ++-- src/modm/board/disco_f469ni/board_dsi_otm8009a.cpp | 12 ++++++------ src/modm/board/disco_f469ni/board_otm8009a.cpp | 2 ++ src/modm/board/disco_f469ni/module.lb | 14 +++++++++----- 5 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/modm/board/disco_f469ni/board_display.cpp b/src/modm/board/disco_f469ni/board_display.cpp index af99b77de1..664a544484 100644 --- a/src/modm/board/disco_f469ni/board_display.cpp +++ b/src/modm/board/disco_f469ni/board_display.cpp @@ -15,7 +15,7 @@ #include extern void -board_initialize_display_nt35510(uint8_t); +board_initialize_display(uint8_t); // Basic implementation of display running on memory mapped buffer class DsiDisplay : public modm::ColorGraphicDisplay @@ -86,14 +86,14 @@ class DsiDisplay : public modm::ColorGraphicDisplay void Board::initializeDisplay() { - board_initialize_display_nt35510(2); + board_initialize_display(2); } void Board::setDisplayBuffer(void * buffer) { // ColorCoding: 0 = ARGB8888, 2 = RGB565 - board_initialize_display_nt35510(2); + board_initialize_display(2); // Configures the color frame buffer start address LTDC_Layer1->CFBAR = uint32_t(buffer); // Enable LTDC_Layer by setting LEN bit diff --git a/src/modm/board/disco_f469ni/board_dsi_nt35510.cpp b/src/modm/board/disco_f469ni/board_dsi_nt35510.cpp index 33400e15b4..f8d6852883 100644 --- a/src/modm/board/disco_f469ni/board_dsi_nt35510.cpp +++ b/src/modm/board/disco_f469ni/board_dsi_nt35510.cpp @@ -17,7 +17,7 @@ nt35510_init(uint8_t); // ---------------------------------- DISPLAY ---------------------------------- void -board_initialize_display_nt35510(uint8_t ColorCoding) +board_initialize_display(uint8_t ColorCoding) { using namespace modm::platform; if (Rcc::isEnabled()) return; @@ -187,4 +187,4 @@ board_initialize_display_nt35510(uint8_t ColorCoding) LTDC->SRCR = LTDC_SRCR_IMR; */ } -} +} \ No newline at end of file diff --git a/src/modm/board/disco_f469ni/board_dsi_otm8009a.cpp b/src/modm/board/disco_f469ni/board_dsi_otm8009a.cpp index 369868187d..6abc715625 100644 --- a/src/modm/board/disco_f469ni/board_dsi_otm8009a.cpp +++ b/src/modm/board/disco_f469ni/board_dsi_otm8009a.cpp @@ -57,12 +57,12 @@ board_initialize_display(uint8_t ColorCoding) DSI->IER[1] = 0; } - constexpr uint32_t VSA = 240; - constexpr uint32_t VBP = 255; + constexpr uint32_t VSA = 12; + constexpr uint32_t VBP = 12; constexpr uint32_t VFP = 12; - constexpr uint32_t HSA = 800; - constexpr uint32_t HBP = 12; - constexpr uint32_t HFP = 12; + constexpr uint32_t HSA = 120; + constexpr uint32_t HBP = 120; + constexpr uint32_t HFP = 120; constexpr uint32_t HACT = 800; constexpr uint32_t VACT = 480; const uint8_t pixel_size = (ColorCoding == 0) ? sizeof(uint32_t) : sizeof(uint16_t); @@ -185,4 +185,4 @@ board_initialize_display(uint8_t ColorCoding) LTDC->SRCR = LTDC_SRCR_IMR; */ } -} +} \ No newline at end of file diff --git a/src/modm/board/disco_f469ni/board_otm8009a.cpp b/src/modm/board/disco_f469ni/board_otm8009a.cpp index dac6343d76..27efeea254 100644 --- a/src/modm/board/disco_f469ni/board_otm8009a.cpp +++ b/src/modm/board/disco_f469ni/board_otm8009a.cpp @@ -453,3 +453,5 @@ void otm8009a_init(uint8_t ColorCoding) /* DSI host from LTDC incoming pixels in video mode */ dsi_write_command(0, ShortRegData45); } + +const auto display_driver_init = otm8009a_init; \ No newline at end of file diff --git a/src/modm/board/disco_f469ni/module.lb b/src/modm/board/disco_f469ni/module.lb index 87feb45a8f..49110d3f50 100644 --- a/src/modm/board/disco_f469ni/module.lb +++ b/src/modm/board/disco_f469ni/module.lb @@ -14,7 +14,7 @@ def init(module): module.name = ":board:disco-f469ni" module.description = FileReader("module.md") - # Revisions = [b-03, b-02, b-01] + # Revisions = [c-01, b-08, b-03, b-02, b-01] def prepare(module, options): if not options[":target"].partname.startswith("stm32f469nih"): @@ -45,11 +45,15 @@ def build(env): } env.template("../board.cpp.in", "board.cpp") env.copy("board_display.cpp") - # env.copy("board_dsi.cpp") - env.copy("board_dsi_nt35510.cpp") + + if env[":disco-f469ni"] in ["b-08", "c-01"]: + env.copy("board_dsi_nt35510.cpp") + env.copy("board_nt35510.cpp") + else: + env.copy("board_dsi_otm8009a.cpp") + env.copy("board_otm8009a.cpp") + env.copy("board_init.cpp") - # env.copy("board_otm8009a.cpp") - env.copy("board_nt35510.cpp") env.copy("board_sdram.cpp") env.template("board.hpp.in") env.collect(":build:openocd.source", "board/stm32f469discovery.cfg")