variable size ble transmissions
This commit is contained in:
@@ -65,18 +65,18 @@ void PeriphCommonClock_Config(void);
|
||||
/* Private user code ---------------------------------------------------------*/
|
||||
/* USER CODE BEGIN 0 */
|
||||
|
||||
uint8_t uart_rx_data[1024];
|
||||
uint8_t uart_rx_data[1028];
|
||||
uint8_t uart_tx_data[1] = {'R'};
|
||||
bool ready_for_data = false;
|
||||
|
||||
uint8_t notify_buffer[128];
|
||||
volatile uint32_t xfer_len;
|
||||
|
||||
volatile bool do_notify = false;
|
||||
void SendNotifyTask(void) {
|
||||
if (!do_notify) {
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
for (int i = 0; 128 * i < xfer_len; ++i) {
|
||||
Custom_STM_App_Update_Char(
|
||||
CUSTOM_STM_ARRREAD,
|
||||
uart_rx_data + i * 128
|
||||
@@ -84,12 +84,15 @@ void SendNotifyTask(void) {
|
||||
}
|
||||
}
|
||||
|
||||
void HAL_UARTEx_RxEventCpltCallback(UART_HandleTypeDef *huart, uint16_t Size) {
|
||||
//HAL_GPIO_TogglePin(GPIOA, LED4_Pin);
|
||||
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) {
|
||||
HAL_GPIO_TogglePin(GPIOA, LED5_Pin);
|
||||
UTIL_SEQ_SetTask(1<<CFG_TASK_SEND_NOTIFY, UTIL_SEQ_RFU);
|
||||
// Process data here or something
|
||||
if (huart->gState == HAL_UART_STATE_READY) {
|
||||
HAL_UART_Transmit_DMA(&huart1, uart_tx_data, sizeof(uart_tx_data));
|
||||
}
|
||||
xfer_len = Size;
|
||||
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) {}
|
||||
@@ -160,8 +163,8 @@ int main(void)
|
||||
HAL_Delay(1000); // Give the l452 time to start up
|
||||
HAL_GPIO_WritePin(GPIOA, LED4_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(GPIOA, LED5_Pin, GPIO_PIN_SET);
|
||||
__HAL_DMA_DISABLE_IT(huart1.hdmarx, DMA_IT_HT);
|
||||
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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user