diff --git a/components/driver/twai/include/driver/twai.h b/components/driver/twai/include/driver/twai.h index 6cde097f0c..84a5ecfa5d 100644 --- a/components/driver/twai/include/driver/twai.h +++ b/components/driver/twai/include/driver/twai.h @@ -33,7 +33,7 @@ extern "C" { .clkout_io = TWAI_IO_UNUSED, .bus_off_io = TWAI_IO_UNUSED, \ .tx_queue_len = 5, .rx_queue_len = 5, \ .alerts_enabled = TWAI_ALERT_NONE, .clkout_divider = 0, \ - .intr_flags = ESP_INTR_FLAG_LEVEL1} + .intr_flags = ESP_INTR_FLAG_LEVEL1, .general_flags = {0}} /** * @brief Initializer macro for general configuration structure. @@ -119,6 +119,7 @@ typedef struct { By this approach, the system can power off TWAI's power domain. This can save power, but at the expense of more RAM being consumed. */ } general_flags; /**< General flags */ + // Ensure TWAI_GENERAL_CONFIG_DEFAULT_V2 is updated and in order if new fields are added } twai_general_config_t; /** diff --git a/tools/test_apps/system/cxx_build_test/main/CMakeLists.txt b/tools/test_apps/system/cxx_build_test/main/CMakeLists.txt index 072dc35668..be4e711a2b 100644 --- a/tools/test_apps/system/cxx_build_test/main/CMakeLists.txt +++ b/tools/test_apps/system/cxx_build_test/main/CMakeLists.txt @@ -7,6 +7,10 @@ if(CONFIG_SOC_I2C_SUPPORTED) list(APPEND srcs test_i2c_lcd.cpp) endif() +if(CONFIG_SOC_TWAI_SUPPORTED) + list(APPEND srcs test_twai.cpp) +endif() + idf_component_register(SRCS "${srcs}" INCLUDE_DIRS "." PRIV_REQUIRES driver esp_lcd diff --git a/tools/test_apps/system/cxx_build_test/main/test_twai.cpp b/tools/test_apps/system/cxx_build_test/main/test_twai.cpp new file mode 100644 index 0000000000..c337bf289b --- /dev/null +++ b/tools/test_apps/system/cxx_build_test/main/test_twai.cpp @@ -0,0 +1,15 @@ +/* + * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Unlicense OR CC0-1.0 + */ +#include "driver/twai.h" + +void test_twai_apis(void) +{ + twai_filter_config_t f_config = TWAI_FILTER_CONFIG_ACCEPT_ALL(); + twai_general_config_t g_config = TWAI_GENERAL_CONFIG_DEFAULT(GPIO_NUM_0, GPIO_NUM_1, TWAI_MODE_NO_ACK); + twai_timing_config_t t_config = TWAI_TIMING_CONFIG_100KBITS(); + twai_driver_install(&g_config, &t_config, &f_config); + twai_driver_uninstall(); +}