From 085e43f9f15830ec7c17f8fd045ab46f7c498c1f 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.cpp | 47 ------------------- src/modm/board/disco_f469ni/board_display.cpp | 6 +-- .../board/disco_f469ni/board_dsi_nt35510.cpp | 4 +- .../board/disco_f469ni/board_dsi_otm8009a.cpp | 12 ++--- .../board/disco_f469ni/board_otm8009a.cpp | 2 +- src/modm/board/disco_f469ni/module.lb | 14 ++++-- 6 files changed, 21 insertions(+), 64 deletions(-) delete mode 100644 src/modm/board/disco_f469ni/board.cpp diff --git a/src/modm/board/disco_f469ni/board.cpp b/src/modm/board/disco_f469ni/board.cpp deleted file mode 100644 index 2b3ccd67c9..0000000000 --- a/src/modm/board/disco_f469ni/board.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2016-2017, Niklas Hauser - * - * This file is part of the modm project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ -// ---------------------------------------------------------------------------- - -#include "board.hpp" -#include -#include -Board::LoggerDevice loggerDevice; - -// Set all four logger streams to use the UART -modm::log::Logger modm::log::debug(loggerDevice); -modm::log::Logger modm::log::info(loggerDevice); -modm::log::Logger modm::log::warning(loggerDevice); -modm::log::Logger modm::log::error(loggerDevice); -modm_extern_c void -modm_abandon(const modm::AssertionInfo &info) -{ - MODM_LOG_ERROR << "Assertion '" << info.name << "'"; - if (info.context != uintptr_t(-1)) { - MODM_LOG_ERROR << " @ " << (void *) info.context << - " (" << (uint32_t) info.context << ")"; - } - #if MODM_ASSERTION_INFO_HAS_DESCRIPTION - MODM_LOG_ERROR << " failed!\n " << info.description << "\nAbandoning...\n"; - #else - MODM_LOG_ERROR << " failed!\nAbandoning...\n"; - #endif - Board::Leds::setOutput(); - for(int times=10; times>=0; times--) - { - Board::Leds::write(1); - modm::delay_ms(20); - Board::Leds::write(0); - modm::delay_ms(180); - } - // Do not flush here otherwise you may deadlock due to waiting on the UART - // interrupt which may never be executed when abandoning in a higher - // priority Interrupt!!! - // MODM_LOG_ERROR << modm::flush; -} 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..7e978514a2 100644 --- a/src/modm/board/disco_f469ni/board_otm8009a.cpp +++ b/src/modm/board/disco_f469ni/board_otm8009a.cpp @@ -452,4 +452,4 @@ void otm8009a_init(uint8_t ColorCoding) /* Send Command GRAM memory write (no parameters) : this initiates frame write via other DSI commands sent by */ /* DSI host from LTDC incoming pixels in video mode */ dsi_write_command(0, ShortRegData45); -} +} \ 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")