From 9fb21fa854c790d40d8484315e590b07850f7056 Mon Sep 17 00:00:00 2001 From: tzarjakob Date: Fri, 24 Nov 2023 16:28:29 +0100 Subject: [PATCH] fix: can manager sizes --- can-manager/can_manager.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/can-manager/can_manager.c b/can-manager/can_manager.c index 189f0f1..2105f85 100644 --- a/can-manager/can_manager.c +++ b/can-manager/can_manager.c @@ -210,9 +210,9 @@ int can_init( can_rx_msg_handlers[assigned_id] = can_rx_msg_handler; GENQ_init( - &_rx_queues[assigned_id], sizeof(can_manager_message_t), CAN_MGR_MAX_QUEUE_ELEMENTS, &_rx_queues_data[assigned_id]); + &_rx_queues[assigned_id], CAN_MGR_MAX_QUEUE_ELEMENTS * sizeof(can_manager_message_t), sizeof(can_manager_message_t), &_rx_queues_data[assigned_id]); GENQ_init( - &_tx_queues[assigned_id], sizeof(can_manager_message_t), CAN_MGR_MAX_QUEUE_ELEMENTS, &_tx_queues_data[assigned_id]); + &_tx_queues[assigned_id], CAN_MGR_MAX_QUEUE_ELEMENTS * sizeof(can_manager_message_t), sizeof(can_manager_message_t), &_tx_queues_data[assigned_id]); can_buses[assigned_id] = hcan; _n_active_can++; @@ -279,7 +279,7 @@ int consume_rx_queue(int can_id) { int flush_tx_queue(int can_id) { CAN_MGR_ID_CHECK(can_id); can_manager_message_t msg; - if (GENQ_pop(&_tx_queues[can_id], (uint8_t *)&msg)) { + while (GENQ_pop(&_tx_queues[can_id], (uint8_t *)&msg)) { #ifdef FDCAN_MGR return _fdcan_send(can_id, &msg); #else