uart dma stuff

This commit is contained in:
2025-09-23 14:03:53 -07:00
parent b42a02e9cf
commit c97a0956e2
8 changed files with 17063 additions and 16923 deletions

View File

@@ -113,7 +113,7 @@ uint8_t KEYCODES[2][2] = {
uint16_t DEPTH = 0;
extern USBD_HandleTypeDef hUsbDeviceFS;
volatile uint8_t MODE = MODE_INACTIVE;
volatile uint8_t MODE = MODE_MAINBOARD;
/* USER CODE END PV */
@@ -128,6 +128,7 @@ static void MX_UART5_Init(void);
static void MX_USART1_UART_Init(void);
static void MX_USART2_UART_Init(void);
static void MX_I2C1_Init(void);
static void MX_DMA_Init(void);
static void MX_USART3_UART_Init(void);
void handleUARTMessages(uint8_t *data, UART_HandleTypeDef *huart);
@@ -173,6 +174,7 @@ int main(void)
MX_GPIO_Init();
MX_TIM2_Init();
MX_TIM3_Init();
MX_DMA_Init();
MX_UART4_Init();
MX_UART5_Init();
MX_USART1_UART_Init();
@@ -199,18 +201,14 @@ int main(void)
UARTMessage query;
query.depth = DEPTH;
query.msgType = 0x01;
memset(query.keypress, 0,sizeof(query.keypress));
HAL_UART_Transmit_DMA(&huart1, (uint8_t*)&query, sizeof(query));
HAL_UART_Transmit_DMA(&huart2, (uint8_t*)&query, sizeof(query));
HAL_UART_Transmit_DMA(&huart4, (uint8_t*)&query, sizeof(query));
HAL_UART_Transmit_DMA(&huart5, (uint8_t*)&query, sizeof(query));
memset(query.keypress, 1,sizeof(query.keypress));
matrixScan();
switch (MODE){
case MODE_ACTIVE:
//TODO: Detect if a request is recieved
HAL_UART_Transmit_DMA(&huart4, (uint8_t*)&query, sizeof(query));
break;
case MODE_MAINBOARD:
@@ -582,6 +580,40 @@ static void MX_USART3_UART_Init(void)
/* USER CODE END USART3_Init 2 */
}
static void MX_DMA_Init(void)
{
/* DMA controller clock enable */
__HAL_RCC_DMA2_CLK_ENABLE();
__HAL_RCC_DMA1_CLK_ENABLE();
/* DMA interrupt init */
/* DMA1_Stream0_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream0_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream0_IRQn);
/* DMA1_Stream2_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream2_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream2_IRQn);
/* DMA1_Stream4_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream4_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream4_IRQn);
/* DMA1_Stream5_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream5_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream5_IRQn);
/* DMA1_Stream6_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream6_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream6_IRQn);
/* DMA1_Stream7_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA1_Stream7_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA1_Stream7_IRQn);
/* DMA2_Stream2_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Stream2_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream2_IRQn);
/* DMA2_Stream7_IRQn interrupt configuration */
HAL_NVIC_SetPriority(DMA2_Stream7_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(DMA2_Stream7_IRQn);
}
/**
* @brief GPIO Initialization Function

View File

@@ -1,17 +1,18 @@
../Core/Src/main.c:149:5:main 4
../Core/Src/main.c:247:6:SystemClock_Config 3
../Core/Src/main.c:294:13:MX_I2C1_Init 2
../Core/Src/main.c:328:13:MX_TIM2_Init 4
../Core/Src/main.c:377:13:MX_TIM3_Init 3
../Core/Src/main.c:426:13:MX_UART4_Init 2
../Core/Src/main.c:459:13:MX_UART5_Init 2
../Core/Src/main.c:492:13:MX_USART1_UART_Init 2
../Core/Src/main.c:525:13:MX_USART2_UART_Init 2
../Core/Src/main.c:558:13:MX_USART3_UART_Init 2
../Core/Src/main.c:591:13:MX_GPIO_Init 1
../Core/Src/main.c:644:6:HAL_UART_RxCpltCallback 2
../Core/Src/main.c:651:6:handleUARTMessages 5
../Core/Src/main.c:678:6:addUSBReport 3
../Core/Src/main.c:686:6:matrixScan 4
../Core/Src/main.c:699:6:resetReport 1
../Core/Src/main.c:710:6:Error_Handler 1
../Core/Src/main.c:150:5:main 5
../Core/Src/main.c:245:6:SystemClock_Config 3
../Core/Src/main.c:292:13:MX_I2C1_Init 2
../Core/Src/main.c:326:13:MX_TIM2_Init 4
../Core/Src/main.c:375:13:MX_TIM3_Init 3
../Core/Src/main.c:424:13:MX_UART4_Init 2
../Core/Src/main.c:457:13:MX_UART5_Init 2
../Core/Src/main.c:490:13:MX_USART1_UART_Init 2
../Core/Src/main.c:523:13:MX_USART2_UART_Init 2
../Core/Src/main.c:556:13:MX_USART3_UART_Init 2
../Core/Src/main.c:583:13:MX_DMA_Init 1
../Core/Src/main.c:623:13:MX_GPIO_Init 1
../Core/Src/main.c:676:6:HAL_UART_RxCpltCallback 2
../Core/Src/main.c:683:6:handleUARTMessages 5
../Core/Src/main.c:710:6:addUSBReport 3
../Core/Src/main.c:718:6:matrixScan 4
../Core/Src/main.c:731:6:resetReport 1
../Core/Src/main.c:742:6:Error_Handler 1

View File

@@ -1,17 +1,18 @@
../Core/Src/main.c:149:5:main 24 static
../Core/Src/main.c:247:6:SystemClock_Config 88 static
../Core/Src/main.c:294:13:MX_I2C1_Init 8 static
../Core/Src/main.c:328:13:MX_TIM2_Init 48 static
../Core/Src/main.c:377:13:MX_TIM3_Init 56 static
../Core/Src/main.c:426:13:MX_UART4_Init 8 static
../Core/Src/main.c:459:13:MX_UART5_Init 8 static
../Core/Src/main.c:492:13:MX_USART1_UART_Init 8 static
../Core/Src/main.c:525:13:MX_USART2_UART_Init 8 static
../Core/Src/main.c:558:13:MX_USART3_UART_Init 8 static
../Core/Src/main.c:591:13:MX_GPIO_Init 48 static
../Core/Src/main.c:644:6:HAL_UART_RxCpltCallback 16 static
../Core/Src/main.c:651:6:handleUARTMessages 56 static
../Core/Src/main.c:678:6:addUSBReport 24 static
../Core/Src/main.c:686:6:matrixScan 16 static
../Core/Src/main.c:699:6:resetReport 8 static
../Core/Src/main.c:710:6:Error_Handler 4 static,ignoring_inline_asm
../Core/Src/main.c:150:5:main 24 static
../Core/Src/main.c:245:6:SystemClock_Config 88 static
../Core/Src/main.c:292:13:MX_I2C1_Init 8 static
../Core/Src/main.c:326:13:MX_TIM2_Init 48 static
../Core/Src/main.c:375:13:MX_TIM3_Init 56 static
../Core/Src/main.c:424:13:MX_UART4_Init 8 static
../Core/Src/main.c:457:13:MX_UART5_Init 8 static
../Core/Src/main.c:490:13:MX_USART1_UART_Init 8 static
../Core/Src/main.c:523:13:MX_USART2_UART_Init 8 static
../Core/Src/main.c:556:13:MX_USART3_UART_Init 8 static
../Core/Src/main.c:583:13:MX_DMA_Init 16 static
../Core/Src/main.c:623:13:MX_GPIO_Init 48 static
../Core/Src/main.c:676:6:HAL_UART_RxCpltCallback 16 static
../Core/Src/main.c:683:6:handleUARTMessages 56 static
../Core/Src/main.c:710:6:addUSBReport 24 static
../Core/Src/main.c:718:6:matrixScan 16 static
../Core/Src/main.c:731:6:resetReport 8 static
../Core/Src/main.c:742:6:Error_Handler 4 static,ignoring_inline_asm

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -24,7 +24,7 @@
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.haltonexception" value="true"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swd_mode" value="true"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_port" value="61235"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_hclk" value="16000000"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_hclk" value="48000000"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.useRemoteTarget" value="true"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.vector_table" value=""/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.verify_flash_download" value="true"/>
@@ -35,7 +35,7 @@
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_shared_stlink" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.frequency" value="0"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.halt_all_on_reset" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.log_file" value="/home/ukim/Projects/modular-kbd/firmware/stm32cubeide_workspace/modularkbd/Debug/st-link_gdbserver_log.txt"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.log_file" value="/home/ukim/Projects/modular-kbd/firmware/modularkbd/Debug/st-link_gdbserver_log.txt"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.low_power_debug" value="enable"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.max_halt_delay" value="2"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.reset_strategy" value="connect_under_reset"/>
@@ -81,6 +81,5 @@
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;"/>
<stringAttribute key="process_factory_id" value="com.st.stm32cube.ide.mcu.debug.launch.HardwareDebugProcessFactory"/>
</launchConfiguration>