From 3469252a916a913bb6cc2f32fdc0b5589e11266c Mon Sep 17 00:00:00 2001 From: Alexandre Bustico Date: Mon, 3 Nov 2025 14:02:27 +0100 Subject: [PATCH] accept to send anonymous messages with payload length above 7 bytes in canfd mode, this simplify dynamic allocation node id that can be done in one frame --- canard.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/canard.c b/canard.c index 784d2ef..4b2d1a8 100644 --- a/canard.c +++ b/canard.c @@ -195,7 +195,12 @@ int16_t canardBroadcastObj(CanardInstance* ins, CanardTxTransfer* transfer_objec if (canardGetLocalNodeID(ins) == 0) { - if (transfer_object->payload_len > 7) +#if CANARD_ENABLE_CANFD + if ((transfer_object->canfd && (transfer_object->payload_len > CANARD_CANFD_FRAME_MAX_DATA_LEN - 1)) || + (!transfer_object->canfd && (transfer_object->payload_len > CANARD_CAN_FRAME_MAX_DATA_LEN - 1))) +#else + if (transfer_object->payload_len > CANARD_CAN_FRAME_MAX_DATA_LEN - 1) +#endif { return -CANARD_ERROR_NODE_ID_NOT_SET; }