variable size data sending, spi mode change fix, wb1mmc write start

This commit is contained in:
ggw
2026-05-08 15:21:26 -05:00
parent 02517fe9ae
commit 41ec35233d
14 changed files with 446 additions and 325 deletions
+11 -6
View File
@@ -77,7 +77,6 @@ void SendNotifyTask(void) {
return;
}
for (int i = 0; i < 8; ++i) {
//memcpy(notify_buffer, uart_rx_data, sizeof(notify_buffer));
Custom_STM_App_Update_Char(
CUSTOM_STM_ARRREAD,
uart_rx_data + i * 128
@@ -85,19 +84,20 @@ void SendNotifyTask(void) {
}
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {
HAL_GPIO_TogglePin(GPIOA, LED4_Pin);
//memcpy(notify_buffer, uart_rx_data, sizeof(notify_buffer));// do second half later
void HAL_UARTEx_RxEventCpltCallback(UART_HandleTypeDef *huart, uint16_t Size) {
//HAL_GPIO_TogglePin(GPIOA, LED4_Pin);
UTIL_SEQ_SetTask(1<<CFG_TASK_SEND_NOTIFY, UTIL_SEQ_RFU);
// Process data here or something
HAL_UART_Receive_DMA(&huart1, uart_rx_data, sizeof(uart_rx_data));
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, uart_rx_data, sizeof(uart_rx_data));
HAL_UART_Transmit_DMA(&huart1, uart_tx_data, sizeof(uart_tx_data));
}
void HAL_UART_TXCpltCallback(UART_HandleTypeDef *huart) {}
// tim2 is 1kHz, callback is 1Hz
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
if (htim->Instance == TIM2) {
HAL_UART_Transmit_DMA(&huart1, uart_tx_data, sizeof(uart_tx_data));
}
}
/* USER CODE END 0 */
@@ -155,8 +155,13 @@ int main(void)
/* USER CODE BEGIN WHILE */
HAL_TIM_Base_Start_IT(&htim2);
UTIL_SEQ_RegTask(1<<CFG_TASK_SEND_NOTIFY, UTIL_SEQ_RFU, SendNotifyTask);
HAL_GPIO_WritePin(GPIOA, LED4_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, LED5_Pin, GPIO_PIN_RESET);
HAL_Delay(1000); // Give the l452 time to start up
HAL_UART_Receive_DMA(&huart1, uart_rx_data, sizeof(uart_rx_data));
HAL_GPIO_WritePin(GPIOA, LED4_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA, LED5_Pin, GPIO_PIN_SET);
HAL_UARTEx_ReceiveToIdle_DMA(&huart1, uart_rx_data, sizeof(uart_rx_data));
__HAL_DMA_DISABLE_IT(huart1.hdmarx, DMA_IT_HT);
HAL_UART_Transmit_DMA(&huart1, uart_tx_data, sizeof(uart_tx_data));
while (1)
{