From 348c4e63d989fc035e79bc7da7287630158e6409 Mon Sep 17 00:00:00 2001 From: Priec Date: Sun, 23 Nov 2025 16:01:01 +0100 Subject: [PATCH] library now fully functional and working --- semestralka_1_final_lib/src/bin/main.rs | 22 +++++++++++++++++++--- semestralka_1_final_lib/src/config.rs | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/semestralka_1_final_lib/src/bin/main.rs b/semestralka_1_final_lib/src/bin/main.rs index 948cb78..3ec7c9e 100644 --- a/semestralka_1_final_lib/src/bin/main.rs +++ b/semestralka_1_final_lib/src/bin/main.rs @@ -35,13 +35,14 @@ use dma_gpio::hw_uart_internal::{ driver::uart_task as uart_task_internal, usart2, }; -use dma_gpio::software_uart::{ +use software_uart::{ debug::dump_tim6_regs, decode_uart_samples, dma_timer::{init_tim6_for_uart, init_tim7_for_uart}, gpio_dma_uart_rx::rx_dma_task, gpio_dma_uart_tx::tx_dma_task, }; +use dma_gpio::config::{TX_PIN_BIT, RX_PIN_BIT}; use {defmt_rtt as _, panic_probe as _}; static PD6_BITS: Channel = Channel::new(); @@ -137,13 +138,28 @@ async fn main(spawner: Spawner) { dump_tim6_regs(); let bsrr_ptr = embassy_stm32::pac::GPIOB.bsrr().as_ptr() as *mut u32; // POZOR B REGISTER - spawner.spawn(tx_dma_task(p.GPDMA1_CH0, bsrr_ptr, SW_TX_RING.init([0; TX_RING_BYTES]), &PIPE_SW_TX).unwrap()); + spawner.spawn(tx_dma_task( + p.GPDMA1_CH0, + bsrr_ptr, + SW_TX_RING.init([0; TX_RING_BYTES]), + &PIPE_SW_TX, + TX_PIN_BIT, + &UART_CFG, + ).unwrap()); // EDN OF SOFTWARE UART let rx_ring = SW_RX_RING.init([0u8; RX_RING_BYTES]); let gpio_idr = embassy_stm32::pac::GPIOD.idr().as_ptr() as *mut u8; - spawner.spawn(rx_dma_task(p.GPDMA1_CH1, gpio_idr, rx_ring, &PIPE_SW_RX).unwrap()); + spawner.spawn(rx_dma_task( + p.GPDMA1_CH1, + gpio_idr, + rx_ring, + &PIPE_SW_RX, + RX_PIN_BIT, + RX_OVERSAMPLE, + &UART_CFG, + ).unwrap()); info!("SW UART RX DMA started"); let mut buf = [0u8; 64]; diff --git a/semestralka_1_final_lib/src/config.rs b/semestralka_1_final_lib/src/config.rs index 3b61449..8329f12 100644 --- a/semestralka_1_final_lib/src/config.rs +++ b/semestralka_1_final_lib/src/config.rs @@ -1,5 +1,5 @@ // src/config.rs -use crate::software_uart::uart_emulation::{Parity, StopBits, UartConfig}; +use software_uart::uart_emulation::{Parity, StopBits, UartConfig}; use embassy_sync::blocking_mutex::raw::CriticalSectionRawMutex; use embassy_sync::pipe::Pipe;