From 7f5ef3de8a0d32e6c0b6e0e04f0d7192d4d6e789 Mon Sep 17 00:00:00 2001 From: Attila Body Date: Thu, 12 Jun 2025 00:21:47 +0200 Subject: [PATCH] Squash me --- components/app/inc/app.h | 24 +++++++++++++++++++++--- components/app/src/app.cpp | 18 +++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/components/app/inc/app.h b/components/app/inc/app.h index f74c98b..c5a3298 100644 --- a/components/app/inc/app.h +++ b/components/app/inc/app.h @@ -5,12 +5,31 @@ * Author: abody */ -#ifndef APP_H_ -#define APP_H_ +#pragma once #include #ifdef __cplusplus +#include + +class app : public f4ll::initialized_singleton +{ + friend class f4ll::initialized_singleton; + +private: + app(); + +public: + __attribute__((noreturn)) void main(); + +private: + f4ll::console_handler &m_con; + static constexpr size_t const TXBUF_LEN = 128; + static constexpr size_t const RXBUF_LEN = 32; + uint8_t m_tx_buf_mem[TXBUF_LEN]; + uint8_t m_rx_buf_mem[RXBUF_LEN]; +}; + extern "C" { #endif @@ -19,4 +38,3 @@ void app_main(void const *param) __attribute__((noreturn)); #ifdef __cplusplus } // extern "C" { #endif // __cplusplus -#endif /* APP_H_ */ diff --git a/components/app/src/app.cpp b/components/app/src/app.cpp index f4f1d99..d30dab8 100644 --- a/components/app/src/app.cpp +++ b/components/app/src/app.cpp @@ -19,11 +19,23 @@ void app_main(void const *param) { (void)param; + app::init().main(); +} - f4ll::console_handler &con = f4ll::console_handler::init(USART2, DMA1, LL_DMA_STREAM_5, LL_DMA_STREAM_6); +app::app() + : m_con( + f4ll::console_handler::init( + USART2, DMA1, LL_DMA_STREAM_5, LL_DMA_STREAM_6, m_rx_buf_mem, sizeof(m_rx_buf_mem), m_tx_buf_mem, sizeof(m_tx_buf_mem), + nullptr)) +{ +} + +void app::main() +{ + m_con.print("-------------------------------------------\n"); while (true) { - con.print("Hello woooooooooooooooooooooooooooooooorld!\n"); + m_con.print("Hello woooooooooooooooooooooooooooooooorld!\n"); vTaskDelay(pdMS_TO_TICKS(500)); LL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); } -} +} \ No newline at end of file