feat(driver_twai): fd hardware support time trigger trans

This commit is contained in:
wanckl
2026-07-15 11:22:45 +08:00
parent a415ba1fcf
commit 5912fe2107
8 changed files with 149 additions and 3 deletions
@@ -101,6 +101,7 @@ typedef struct {
bool enable_self_test;
bool enable_loopback;
bool enable_listen_only;
bool enable_time_trigger_tx;
} twai_hal_config_t;
/**
@@ -122,7 +122,7 @@ typedef struct {
};
union {
uint64_t timestamp; /**< Timestamp for received message */
uint64_t trigger_time; /**< Trigger time for transmitting message*/
uint64_t trigger_time; /**< Trigger time for transmitting message in scheduled TX mode */
};
} twai_frame_header_t;
+1
View File
@@ -27,6 +27,7 @@ bool twai_hal_init(twai_hal_context_t *hal_ctx, const twai_hal_config_t *config)
twaifd_ll_set_mode(hal_ctx->dev, config->enable_listen_only, config->enable_self_test, config->enable_loopback);
twaifd_ll_set_tx_retrans_limit(hal_ctx->dev, config->retry_cnt);
twaifd_ll_filter_drop_rtr(hal_ctx->dev, config->no_receive_rtr);
twaifd_ll_enable_time_trig_trans_mode(hal_ctx->dev, config->enable_time_trigger_tx);
twaifd_ll_enable_filter_mode(hal_ctx->dev, true); // each filter still has independent enable control
twaifd_ll_enable_fd_mode(hal_ctx->dev, true); // fd frame still controlled by `header.fdf`
twaifd_ll_enable_bus_off_tx_fail_mode(hal_ctx->dev, true); // all buffers go to "TX failed" state upon bus-off