Command: ninja all
[1/19] Linking C static library esp-idf/main/libmain.a
[2/19] Linking C static library esp-idf/esp_local_ctrl/libesp_local_ctrl.a
[3/19] Linking C static library esp-idf/ieee802154/libieee802154.a
[4/19] Linking C static library esp-idf/espcoredump/libespcoredump.a
[5/19] Linking C static library esp-idf/nvs_sec_provider/libnvs_sec_provider.a
[6/19] Linking C static library esp-idf/mqtt/libmqtt.a
[7/19] Building C object esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_display_ui.c.obj
FAILED: esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_display_ui.c.obj 
/home/claw/.espressif/tools/riscv32-esp-elf/esp-14.2.0_20241119/riscv32-esp-elf/bin/riscv32-esp-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/build/config -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components -I/home/claw/esp/esp-idf/components/newlib/platform_include -I/home/claw/esp/esp-idf/components/freertos/config/include -I/home/claw/esp/esp-idf/components/freertos/config/include/freertos -I/home/claw/esp/esp-idf/components/freertos/config/riscv/include -I/home/claw/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/home/claw/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/home/claw/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include/freertos -I/home/claw/esp/esp-idf/components/freertos/esp_additions/include -I/home/claw/esp/esp-idf/components/esp_hw_support/include -I/home/claw/esp/esp-idf/components/esp_hw_support/include/soc -I/home/claw/esp/esp-idf/components/esp_hw_support/include/soc/esp32c5 -I/home/claw/esp/esp-idf/components/esp_hw_support/dma/include -I/home/claw/esp/esp-idf/components/esp_hw_support/ldo/include -I/home/claw/esp/esp-idf/components/esp_hw_support/debug_probe/include -I/home/claw/esp/esp-idf/components/esp_hw_support/mspi_timing_tuning/include -I/home/claw/esp/esp-idf/components/esp_hw_support/mspi_timing_tuning/tuning_scheme_impl/include -I/home/claw/esp/esp-idf/components/esp_hw_support/power_supply/include -I/home/claw/esp/esp-idf/components/esp_hw_support/port/esp32c5/. -I/home/claw/esp/esp-idf/components/esp_hw_support/port/esp32c5/include -I/home/claw/esp/esp-idf/components/esp_hw_support/port/esp32c5/private_include -I/home/claw/esp/esp-idf/components/esp_hw_support/mspi_timing_tuning/port/esp32c5/. -I/home/claw/esp/esp-idf/components/esp_hw_support/mspi_timing_tuning/port/esp32c5/include -I/home/claw/esp/esp-idf/components/heap/include -I/home/claw/esp/esp-idf/components/heap/tlsf -I/home/claw/esp/esp-idf/components/log/include -I/home/claw/esp/esp-idf/components/soc/include -I/home/claw/esp/esp-idf/components/soc/esp32c5 -I/home/claw/esp/esp-idf/components/soc/esp32c5/include -I/home/claw/esp/esp-idf/components/soc/esp32c5/register -I/home/claw/esp/esp-idf/components/hal/platform_port/include -I/home/claw/esp/esp-idf/components/hal/esp32c5/include -I/home/claw/esp/esp-idf/components/hal/include -I/home/claw/esp/esp-idf/components/esp_rom/include -I/home/claw/esp/esp-idf/components/esp_rom/esp32c5/include -I/home/claw/esp/esp-idf/components/esp_rom/esp32c5/include/esp32c5 -I/home/claw/esp/esp-idf/components/esp_rom/esp32c5 -I/home/claw/esp/esp-idf/components/esp_common/include -I/home/claw/esp/esp-idf/components/esp_system/include -I/home/claw/esp/esp-idf/components/esp_system/port/soc -I/home/claw/esp/esp-idf/components/esp_system/port/include/riscv -I/home/claw/esp/esp-idf/components/esp_system/port/include/private -I/home/claw/esp/esp-idf/components/riscv/include -I/home/claw/esp/esp-idf/components/lwip/include -I/home/claw/esp/esp-idf/components/lwip/include/apps -I/home/claw/esp/esp-idf/components/lwip/include/apps/sntp -I/home/claw/esp/esp-idf/components/lwip/lwip/src/include -I/home/claw/esp/esp-idf/components/lwip/port/include -I/home/claw/esp/esp-idf/components/lwip/port/freertos/include -I/home/claw/esp/esp-idf/components/lwip/port/esp32xx/include -I/home/claw/esp/esp-idf/components/lwip/port/esp32xx/include/arch -I/home/claw/esp/esp-idf/components/lwip/port/esp32xx/include/sys -I/home/claw/esp/esp-idf/components/esp_driver_sdmmc/include -I/home/claw/esp/esp-idf/components/sdmmc/include -I/home/claw/esp/esp-idf/components/esp_driver_gpio/include -I/home/claw/esp/esp-idf/components/esp_driver_spi/include -I/home/claw/esp/esp-idf/components/esp_pm/include -I/home/claw/esp/esp-idf/components/esp_timer/include -I/home/claw/esp/esp-idf/components/esp_lcd/include -I/home/claw/esp/esp-idf/components/esp_lcd/interface -I/home/claw/esp/esp-idf/components/driver/deprecated -I/home/claw/esp/esp-idf/components/driver/i2c/include -I/home/claw/esp/esp-idf/components/driver/touch_sensor/include -I/home/claw/esp/esp-idf/components/driver/twai/include -I/home/claw/esp/esp-idf/components/esp_ringbuf/include -I/home/claw/esp/esp-idf/components/esp_driver_pcnt/include -I/home/claw/esp/esp-idf/components/esp_driver_gptimer/include -I/home/claw/esp/esp-idf/components/esp_driver_mcpwm/include -I/home/claw/esp/esp-idf/components/esp_driver_ana_cmpr/include -I/home/claw/esp/esp-idf/components/esp_driver_i2s/include -I/home/claw/esp/esp-idf/components/esp_driver_sdspi/include -I/home/claw/esp/esp-idf/components/esp_driver_sdio/include -I/home/claw/esp/esp-idf/components/esp_driver_dac/include -I/home/claw/esp/esp-idf/components/esp_driver_rmt/include -I/home/claw/esp/esp-idf/components/esp_driver_tsens/include -I/home/claw/esp/esp-idf/components/esp_driver_sdm/include -I/home/claw/esp/esp-idf/components/esp_driver_i2c/include -I/home/claw/esp/esp-idf/components/esp_driver_uart/include -I/home/claw/esp/esp-idf/components/vfs/include -I/home/claw/esp/esp-idf/components/esp_driver_ledc/include -I/home/claw/esp/esp-idf/components/esp_driver_parlio/include -I/home/claw/esp/esp-idf/components/esp_driver_usb_serial_jtag/include -I/home/claw/esp/esp-idf/components/esp_driver_twai/include -I/home/claw/esp/esp-idf/components/fatfs/diskio -I/home/claw/esp/esp-idf/components/fatfs/src -I/home/claw/esp/esp-idf/components/fatfs/vfs -I/home/claw/esp/esp-idf/components/wear_levelling/include -I/home/claw/esp/esp-idf/components/esp_partition/include -I/home/claw/esp/esp-idf/components/esp_wifi/include -I/home/claw/esp/esp-idf/components/esp_wifi/include/local -I/home/claw/esp/esp-idf/components/esp_wifi/wifi_apps/include -I/home/claw/esp/esp-idf/components/esp_wifi/wifi_apps/nan_app/include -I/home/claw/esp/esp-idf/components/esp_event/include -I/home/claw/esp/esp-idf/components/esp_phy/include -I/home/claw/esp/esp-idf/components/esp_phy/esp32c5/include -I/home/claw/esp/esp-idf/components/esp_netif/include -I/home/claw/esp/esp-idf/components/nvs_flash/include -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/st7735/include -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/include -I/home/claw/esp/esp-idf/components/spiffs/include -march=rv32imac_zicsr_zifencei  -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-error=extra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -nostartfiles -Og -fno-shrink-wrap -fmacro-prefix-map=/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw=. -fmacro-prefix-map=/home/claw/esp/esp-idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_display_ui.c.obj -MF esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_display_ui.c.obj.d -o esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_display_ui.c.obj -c /home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_display_ui.c
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_display_ui.c: In function 'v2x_display_ui_task':
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_display_ui.c:61:13: error: too many arguments to function 'v2x_display_frame_count'
   61 |             v2x_display_frame_count(current_count, 28, DISP_W, 40);
      |             ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_display_ui.c:11:
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_display.h:99:11: note: declared here
   99 | esp_err_t v2x_display_frame_count(uint32_t count);
      |           ^~~~~~~~~~~~~~~~~~~~~~~
[8/19] Linking C static library esp-idf/rt/librt.a
[9/19] Linking C static library esp-idf/wifi_provisioning/libwifi_provisioning.a
[10/19] Building C object esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_driver.c.obj
FAILED: esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_driver.c.obj 
/home/claw/.espressif/tools/riscv32-esp-elf/esp-14.2.0_20241119/riscv32-esp-elf/bin/riscv32-esp-elf-gcc -DESP_PLATFORM -DIDF_VER=\"v5.5.1\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DSOC_XTAL_FREQ_MHZ=CONFIG_XTAL_FREQ -D_GLIBCXX_HAVE_POSIX_SEMAPHORE -D_GLIBCXX_USE_POSIX_SEMAPHORE -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/build/config -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components -I/home/claw/esp/esp-idf/components/newlib/platform_include -I/home/claw/esp/esp-idf/components/freertos/config/include -I/home/claw/esp/esp-idf/components/freertos/config/include/freertos -I/home/claw/esp/esp-idf/components/freertos/config/riscv/include -I/home/claw/esp/esp-idf/components/freertos/FreeRTOS-Kernel/include -I/home/claw/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include -I/home/claw/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/include/freertos -I/home/claw/esp/esp-idf/components/freertos/esp_additions/include -I/home/claw/esp/esp-idf/components/esp_hw_support/include -I/home/claw/esp/esp-idf/components/esp_hw_support/include/soc -I/home/claw/esp/esp-idf/components/esp_hw_support/include/soc/esp32c5 -I/home/claw/esp/esp-idf/components/esp_hw_support/dma/include -I/home/claw/esp/esp-idf/components/esp_hw_support/ldo/include -I/home/claw/esp/esp-idf/components/esp_hw_support/debug_probe/include -I/home/claw/esp/esp-idf/components/esp_hw_support/mspi_timing_tuning/include -I/home/claw/esp/esp-idf/components/esp_hw_support/mspi_timing_tuning/tuning_scheme_impl/include -I/home/claw/esp/esp-idf/components/esp_hw_support/power_supply/include -I/home/claw/esp/esp-idf/components/esp_hw_support/port/esp32c5/. -I/home/claw/esp/esp-idf/components/esp_hw_support/port/esp32c5/include -I/home/claw/esp/esp-idf/components/esp_hw_support/port/esp32c5/private_include -I/home/claw/esp/esp-idf/components/esp_hw_support/mspi_timing_tuning/port/esp32c5/. -I/home/claw/esp/esp-idf/components/esp_hw_support/mspi_timing_tuning/port/esp32c5/include -I/home/claw/esp/esp-idf/components/heap/include -I/home/claw/esp/esp-idf/components/heap/tlsf -I/home/claw/esp/esp-idf/components/log/include -I/home/claw/esp/esp-idf/components/soc/include -I/home/claw/esp/esp-idf/components/soc/esp32c5 -I/home/claw/esp/esp-idf/components/soc/esp32c5/include -I/home/claw/esp/esp-idf/components/soc/esp32c5/register -I/home/claw/esp/esp-idf/components/hal/platform_port/include -I/home/claw/esp/esp-idf/components/hal/esp32c5/include -I/home/claw/esp/esp-idf/components/hal/include -I/home/claw/esp/esp-idf/components/esp_rom/include -I/home/claw/esp/esp-idf/components/esp_rom/esp32c5/include -I/home/claw/esp/esp-idf/components/esp_rom/esp32c5/include/esp32c5 -I/home/claw/esp/esp-idf/components/esp_rom/esp32c5 -I/home/claw/esp/esp-idf/components/esp_common/include -I/home/claw/esp/esp-idf/components/esp_system/include -I/home/claw/esp/esp-idf/components/esp_system/port/soc -I/home/claw/esp/esp-idf/components/esp_system/port/include/riscv -I/home/claw/esp/esp-idf/components/esp_system/port/include/private -I/home/claw/esp/esp-idf/components/riscv/include -I/home/claw/esp/esp-idf/components/lwip/include -I/home/claw/esp/esp-idf/components/lwip/include/apps -I/home/claw/esp/esp-idf/components/lwip/include/apps/sntp -I/home/claw/esp/esp-idf/components/lwip/lwip/src/include -I/home/claw/esp/esp-idf/components/lwip/port/include -I/home/claw/esp/esp-idf/components/lwip/port/freertos/include -I/home/claw/esp/esp-idf/components/lwip/port/esp32xx/include -I/home/claw/esp/esp-idf/components/lwip/port/esp32xx/include/arch -I/home/claw/esp/esp-idf/components/lwip/port/esp32xx/include/sys -I/home/claw/esp/esp-idf/components/esp_driver_sdmmc/include -I/home/claw/esp/esp-idf/components/sdmmc/include -I/home/claw/esp/esp-idf/components/esp_driver_gpio/include -I/home/claw/esp/esp-idf/components/esp_driver_spi/include -I/home/claw/esp/esp-idf/components/esp_pm/include -I/home/claw/esp/esp-idf/components/esp_timer/include -I/home/claw/esp/esp-idf/components/esp_lcd/include -I/home/claw/esp/esp-idf/components/esp_lcd/interface -I/home/claw/esp/esp-idf/components/driver/deprecated -I/home/claw/esp/esp-idf/components/driver/i2c/include -I/home/claw/esp/esp-idf/components/driver/touch_sensor/include -I/home/claw/esp/esp-idf/components/driver/twai/include -I/home/claw/esp/esp-idf/components/esp_ringbuf/include -I/home/claw/esp/esp-idf/components/esp_driver_pcnt/include -I/home/claw/esp/esp-idf/components/esp_driver_gptimer/include -I/home/claw/esp/esp-idf/components/esp_driver_mcpwm/include -I/home/claw/esp/esp-idf/components/esp_driver_ana_cmpr/include -I/home/claw/esp/esp-idf/components/esp_driver_i2s/include -I/home/claw/esp/esp-idf/components/esp_driver_sdspi/include -I/home/claw/esp/esp-idf/components/esp_driver_sdio/include -I/home/claw/esp/esp-idf/components/esp_driver_dac/include -I/home/claw/esp/esp-idf/components/esp_driver_rmt/include -I/home/claw/esp/esp-idf/components/esp_driver_tsens/include -I/home/claw/esp/esp-idf/components/esp_driver_sdm/include -I/home/claw/esp/esp-idf/components/esp_driver_i2c/include -I/home/claw/esp/esp-idf/components/esp_driver_uart/include -I/home/claw/esp/esp-idf/components/vfs/include -I/home/claw/esp/esp-idf/components/esp_driver_ledc/include -I/home/claw/esp/esp-idf/components/esp_driver_parlio/include -I/home/claw/esp/esp-idf/components/esp_driver_usb_serial_jtag/include -I/home/claw/esp/esp-idf/components/esp_driver_twai/include -I/home/claw/esp/esp-idf/components/fatfs/diskio -I/home/claw/esp/esp-idf/components/fatfs/src -I/home/claw/esp/esp-idf/components/fatfs/vfs -I/home/claw/esp/esp-idf/components/wear_levelling/include -I/home/claw/esp/esp-idf/components/esp_partition/include -I/home/claw/esp/esp-idf/components/esp_wifi/include -I/home/claw/esp/esp-idf/components/esp_wifi/include/local -I/home/claw/esp/esp-idf/components/esp_wifi/wifi_apps/include -I/home/claw/esp/esp-idf/components/esp_wifi/wifi_apps/nan_app/include -I/home/claw/esp/esp-idf/components/esp_event/include -I/home/claw/esp/esp-idf/components/esp_phy/include -I/home/claw/esp/esp-idf/components/esp_phy/esp32c5/include -I/home/claw/esp/esp-idf/components/esp_netif/include -I/home/claw/esp/esp-idf/components/nvs_flash/include -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/st7735/include -I/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/include -I/home/claw/esp/esp-idf/components/spiffs/include -march=rv32imac_zicsr_zifencei  -fdiagnostics-color=always -ffunction-sections -fdata-sections -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=unused-but-set-variable -Wno-error=deprecated-declarations -Wextra -Wno-error=extra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -gdwarf-4 -ggdb -nostartfiles -Og -fno-shrink-wrap -fmacro-prefix-map=/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw=. -fmacro-prefix-map=/home/claw/esp/esp-idf=/IDF -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -std=gnu17 -Wno-old-style-declaration -MD -MT esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_driver.c.obj -MF esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_driver.c.obj.d -o esp-idf/v2x_driver/CMakeFiles/__idf_v2x_driver.dir/v2x_driver.c.obj -c /home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:34:8: error: unknown type name 'v2x_stats_t'
   34 | static v2x_stats_t s_stats;
      |        ^~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c: In function 'v2x_sd_init':
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:49:25: error: implicit declaration of function 'SDMMC_HOST_DEFAULT'; did you mean 'SDSPI_HOST_DEFAULT'? [-Wimplicit-function-declaration]
   49 |     sdmmc_host_t host = SDMMC_HOST_DEFAULT();
      |                         ^~~~~~~~~~~~~~~~~~
      |                         SDSPI_HOST_DEFAULT
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:49:25: error: invalid initializer
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:54:5: error: unknown type name 'sdmmc_slot_config_t'; did you mean 'esp_log_config_t'?
   54 |     sdmmc_slot_config_t slot = SDMMC_SLOT_DEFAULT_CONFIG();
      |     ^~~~~~~~~~~~~~~~~~~
      |     esp_log_config_t
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:54:32: error: implicit declaration of function 'SDMMC_SLOT_DEFAULT_CONFIG'; did you mean 'VFS_FAT_MOUNT_DEFAULT_CONFIG'? [-Wimplicit-function-declaration]
   54 |     sdmmc_slot_config_t slot = SDMMC_SLOT_DEFAULT_CONFIG();
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                VFS_FAT_MOUNT_DEFAULT_CONFIG
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:55:9: error: request for member 'width' in something not a structure or union
   55 |     slot.width = 1;
      |         ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:56:9: error: request for member 'clk' in something not a structure or union
   56 |     slot.clk = GPIO_NUM_6;
      |         ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:57:9: error: request for member 'cmd' in something not a structure or union
   57 |     slot.cmd = GPIO_NUM_2;
      |         ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:58:9: error: request for member 'd0' in something not a structure or union
   58 |     slot.d0 = GPIO_NUM_7;
      |         ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:59:9: error: request for member 'cd' in something not a structure or union
   59 |     slot.cd = -1;   /* Card detect nicht verwendet */
      |         ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:60:9: error: request for member 'wr' in something not a structure or union
   60 |     slot.wr = -1;   /* Write protect nicht verwendet */
      |         ^
In file included from /home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:19:
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:76:34: error: 'sdmmc_card_t' has no member named 'card_size'
   76 |              (unsigned long)(card->card_size / (1024 * 1024)),
      |                                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:220:167: note: in definition of macro 'ESP_LOG_LEVEL'
  220 |         if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_ERROR)        { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_ERROR),   tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:77:18: error: 'sdmmc_card_t' has no member named 'type'
   77 |              card->type == SDMMC_TYPE_SDHC ? "SDHC" : "SD");
      |                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:220:167: note: in definition of macro 'ESP_LOG_LEVEL'
  220 |         if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_ERROR)        { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_ERROR),   tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:77:28: error: 'SDMMC_TYPE_SDHC' undeclared (first use in this function)
   77 |              card->type == SDMMC_TYPE_SDHC ? "SDHC" : "SD");
      |                            ^~~~~~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:220:167: note: in definition of macro 'ESP_LOG_LEVEL'
  220 |         if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_ERROR)        { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_ERROR),   tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:77:28: note: each undeclared identifier is reported only once for each function it appears in
   77 |              card->type == SDMMC_TYPE_SDHC ? "SDHC" : "SD");
      |                            ^~~~~~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:220:167: note: in definition of macro 'ESP_LOG_LEVEL'
  220 |         if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_ERROR)        { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_ERROR),   tag, LOG_FORMAT(E, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:76:34: error: 'sdmmc_card_t' has no member named 'card_size'
   76 |              (unsigned long)(card->card_size / (1024 * 1024)),
      |                                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:221:167: note: in definition of macro 'ESP_LOG_LEVEL'
  221 |         else if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_WARN)    { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_WARN),    tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:77:18: error: 'sdmmc_card_t' has no member named 'type'
   77 |              card->type == SDMMC_TYPE_SDHC ? "SDHC" : "SD");
      |                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:221:167: note: in definition of macro 'ESP_LOG_LEVEL'
  221 |         else if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_WARN)    { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_WARN),    tag, LOG_FORMAT(W, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:76:34: error: 'sdmmc_card_t' has no member named 'card_size'
   76 |              (unsigned long)(card->card_size / (1024 * 1024)),
      |                                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:222:167: note: in definition of macro 'ESP_LOG_LEVEL'
  222 |         else if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_DEBUG)   { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_DEBUG),   tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:77:18: error: 'sdmmc_card_t' has no member named 'type'
   77 |              card->type == SDMMC_TYPE_SDHC ? "SDHC" : "SD");
      |                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:222:167: note: in definition of macro 'ESP_LOG_LEVEL'
  222 |         else if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_DEBUG)   { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_DEBUG),   tag, LOG_FORMAT(D, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:76:34: error: 'sdmmc_card_t' has no member named 'card_size'
   76 |              (unsigned long)(card->card_size / (1024 * 1024)),
      |                                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:223:167: note: in definition of macro 'ESP_LOG_LEVEL'
  223 |         else if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_VERBOSE) { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_VERBOSE), tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:77:18: error: 'sdmmc_card_t' has no member named 'type'
   77 |              card->type == SDMMC_TYPE_SDHC ? "SDHC" : "SD");
      |                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:223:167: note: in definition of macro 'ESP_LOG_LEVEL'
  223 |         else if (ESP_LOG_GET_LEVEL(configs)==ESP_LOG_VERBOSE) { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_VERBOSE), tag, LOG_FORMAT(V, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:76:34: error: 'sdmmc_card_t' has no member named 'card_size'
   76 |              (unsigned long)(card->card_size / (1024 * 1024)),
      |                                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:224:167: note: in definition of macro 'ESP_LOG_LEVEL'
  224 |         else                                                  { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_INFO),    tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:77:18: error: 'sdmmc_card_t' has no member named 'type'
   77 |              card->type == SDMMC_TYPE_SDHC ? "SDHC" : "SD");
      |                  ^~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:224:167: note: in definition of macro 'ESP_LOG_LEVEL'
  224 |         else                                                  { esp_log(ESP_LOG_CONFIG_INIT(ESP_LOG_INFO),    tag, LOG_FORMAT(I, format), esp_log_timestamp(), tag, ##__VA_ARGS__); } \
      |                                                                                                                                                                       ^~~~~~~~~~~
/home/claw/esp/esp-idf/components/log/include/esp_log.h:127:41: note: in expansion of macro 'ESP_LOG_LEVEL_LOCAL'
  127 | #define ESP_LOGI(tag, format, ...) do { ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, tag, format, ##__VA_ARGS__); } while(0)
      |                                         ^~~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:75:5: note: in expansion of macro 'ESP_LOGI'
   75 |     ESP_LOGI(TAG, "SD-Karte erkannt: %lu MB (%s)",
      |     ^~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:100:69: error: 'sdmmc_card_t' has no member named 'card_size'
  100 |         fprintf(s_log_fp, "SD-Karte: %lu MB\n", (unsigned long)(card->card_size / (1024 * 1024)));
      |                                                                     ^~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:107:12: error: request for member 'start_timestamp_us' in something not a structure or union
  107 |     s_stats.start_timestamp_us = esp_timer_get_time();
      |            ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:107:34: error: implicit declaration of function 'esp_timer_get_time'; did you mean 'timer_gettime'? [-Wimplicit-function-declaration]
  107 |     s_stats.start_timestamp_us = esp_timer_get_time();
      |                                  ^~~~~~~~~~~~~~~~~~
      |                                  timer_gettime
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c: In function 'frame_to_csv_line':
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:138:46: error: 'RAW_HEX_BUF' undeclared (first use in this function)
  138 |     char mac_hex[18], bssid_hex[18], raw_hex[RAW_HEX_BUF];
      |                                              ^~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:148:19: error: 'v2x_frame_t' has no member named 'channel'
  148 |              frame->channel,
      |                   ^~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:138:38: warning: unused variable 'raw_hex' [-Wunused-variable]
  138 |     char mac_hex[18], bssid_hex[18], raw_hex[RAW_HEX_BUF];
      |                                      ^~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c: In function 'v2x_sd_write_frame':
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:168:12: error: request for member 'total_frames' in something not a structure or union
  168 |     s_stats.total_frames++;
      |            ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:170:37: error: request for member 'bsm_count' in something not a structure or union
  170 |         case V2X_MSG_BSM:    s_stats.bsm_count++;    break;
      |                                     ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:171:37: error: request for member 'cam_count' in something not a structure or union
  171 |         case V2X_MSG_CAM:    s_stats.cam_count++;    break;
      |                                     ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:172:37: error: request for member 'denm_count' in something not a structure or union
  172 |         case V2X_MSG_DENM:   s_stats.denm_count++;   break;
      |                                     ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:173:37: error: request for member 'unknown_count' in something not a structure or union
  173 |         default:             s_stats.unknown_count++; break;
      |                                     ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:177:15: error: 'RAW_HEX_BUF' undeclared (first use in this function)
  177 |     char line[RAW_HEX_BUF + 128];
      |               ^~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:183:16: error: request for member 'sd_write_errors' in something not a structure or union
  183 |         s_stats.sd_write_errors++;
      |                ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:177:10: warning: unused variable 'line' [-Wunused-variable]
  177 |     char line[RAW_HEX_BUF + 128];
      |          ^~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c: At top level:
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:211:7: error: unknown type name 'v2x_stats_t'
  211 | const v2x_stats_t* v2x_sd_get_stats(void) { return &s_stats; }
      |       ^~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:213:6: error: conflicting types for 'v2x_sd_reset_stats'; have 'void(void)'
  213 | void v2x_sd_reset_stats(void)
      |      ^~~~~~~~~~~~~~~~~~
In file included from /home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:20:
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_display.h:116:11: note: previous declaration of 'v2x_sd_reset_stats' with type 'esp_err_t(void)' {aka 'int(void)'}
  116 | esp_err_t v2x_sd_reset_stats(void);
      |           ^~~~~~~~~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c: In function 'v2x_sd_reset_stats':
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:216:12: error: request for member 'start_timestamp_us' in something not a structure or union
  216 |     s_stats.start_timestamp_us = esp_timer_get_time();
      |            ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c: In function 'v2x_sd_dump_stats':
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:223:11: error: unknown type name 'v2x_stats_t'
  223 |     const v2x_stats_t *stats = v2x_sd_get_stats();
      |           ^~~~~~~~~~~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:229:56: error: request for member 'start_timestamp_us' in something not a structure or union
  229 |     uint64_t uptime_s = (esp_timer_get_time() - s_stats.start_timestamp_us) / 1000000;
      |                                                        ^
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:234:66: error: request for member 'total_frames' in something not a structure or union
  234 |     v2x_sd_log_write("Frames:   %lu Gesamt", (unsigned long)stats->total_frames);
      |                                                                  ^~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:236:42: error: request for member 'bsm_count' in something not a structure or union
  236 |                      (unsigned long)stats->bsm_count,
      |                                          ^~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:237:42: error: request for member 'cam_count' in something not a structure or union
  237 |                      (unsigned long)stats->cam_count,
      |                                          ^~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:238:42: error: request for member 'denm_count' in something not a structure or union
  238 |                      (unsigned long)stats->denm_count,
      |                                          ^~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:239:42: error: request for member 'unknown_count' in something not a structure or union
  239 |                      (unsigned long)stats->unknown_count);
      |                                          ^~
/home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/components/v2x_driver/v2x_driver.c:240:60: error: request for member 'sd_write_errors' in something not a structure or union
  240 |     v2x_sd_log_write("SD-Fehler: %lu", (unsigned long)stats->sd_write_errors);
      |                                                            ^~
[11/19] Performing build step for 'bootloader'
[1/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/noos/util.c.obj
[2/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/noos/log_timestamp.c.obj
[3/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log_timestamp_common.c.obj
[4/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/util.c.obj
[5/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/noos/log_lock.c.obj
[6/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log_print.c.obj
[7/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_crc.c.obj
[8/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log_format_text.c.obj
[9/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/log.c.obj
[10/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_efuse.c.obj
[11/125] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/src/buffer/log_buffers.c.obj
[12/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_uart.c.obj
[13/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_sys.c.obj
[14/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_gpio.c.obj
[15/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_systimer.c.obj
[16/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_spiflash.c.obj
[17/125] Linking C static library esp-idf/log/liblog.a
[18/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_hp_regi2c_esp32c5.c.obj
[19/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_wdt.c.obj
[20/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/esp_cpu_intr.c.obj
[21/125] Building C object esp-idf/esp_common/CMakeFiles/__idf_esp_common.dir/src/esp_err_to_name.c.obj
[22/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/esp_memory_utils.c.obj
[23/125] Building C object esp-idf/esp_rom/CMakeFiles/__idf_esp_rom.dir/patches/esp_rom_print.c.obj
[24/125] Linking C static library esp-idf/esp_rom/libesp_rom.a
[25/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/cpu.c.obj
[26/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/cpu_region_protect.c.obj
[27/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/rtc_clk_init.c.obj
[28/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/chip_info.c.obj
[29/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/pmu_param.c.obj
[30/125] Linking C static library esp-idf/esp_common/libesp_common.a
[31/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/rtc_time.c.obj
[32/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/pmu_init.c.obj
[33/125] Building C object esp-idf/esp_system/CMakeFiles/__idf_esp_system.dir/esp_err.c.obj
[34/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/rtc_clk.c.obj
[35/125] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c5/esp_efuse_table.c.obj
[36/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/ocode_init.c.obj
[37/125] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c5/esp_efuse_rtc_calib.c.obj
[38/125] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c5/esp_efuse_fields.c.obj
[39/125] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[40/125] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[41/125] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32c5/esp_efuse_utility.c.obj
[42/125] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/port/esp32c5/pmu_sleep.c.obj
[43/125] Linking C static library esp-idf/esp_hw_support/libesp_hw_support.a
[44/125] Linking C static library esp-idf/esp_system/libesp_system.a
[45/125] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/efuse_controller/keys/with_key_purposes/esp_efuse_api_key.c.obj
[46/125] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[47/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_init.c.obj
[48/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[49/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_mem.c.obj
[50/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common_loader.c.obj
[51/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_efuse.c.obj
[52/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[53/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[54/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/secure_boot.c.obj
[55/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random_esp32c5.c.obj
[56/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[57/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/flash_qio_mode.c.obj
[58/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_sha.c.obj
[59/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock_loader.c.obj
[60/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash_config_esp32c5.c.obj
[61/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console.c.obj
[62/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_console_loader.c.obj
[63/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c5/bootloader_soc.c.obj
[64/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[65/125] Linking C static library esp-idf/efuse/libefuse.a
[66/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/bootloader_flash/src/bootloader_flash.c.obj
[67/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[68/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_panic.c.obj
[69/125] Building C object esp-idf/esp_bootloader_format/CMakeFiles/__idf_esp_bootloader_format.dir/esp_bootloader_desc.c.obj
[70/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/dport_access_common.c.obj
[71/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32c5/bootloader_esp32c5.c.obj
[72/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/interrupts.c.obj
[73/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/lldesc.c.obj
[74/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/adc_periph.c.obj
[75/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/gpio_periph.c.obj
[76/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/uart_periph.c.obj
[77/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/ana_cmpr_periph.c.obj
[78/125] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[79/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/dedic_gpio_periph.c.obj
[80/125] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_wrap.c.obj
[81/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/gdma_periph.c.obj
[82/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/etm_periph.c.obj
[83/125] Linking C static library esp-idf/bootloader_support/libbootloader_support.a
[84/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/pcnt_periph.c.obj
[85/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/sdm_periph.c.obj
[86/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/rmt_periph.c.obj
[87/125] Linking C static library esp-idf/esp_bootloader_format/libesp_bootloader_format.a
[88/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/ledc_periph.c.obj
[89/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/spi_periph.c.obj
[90/125] Linking C static library esp-idf/spi_flash/libspi_flash.a
[91/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/i2c_periph.c.obj
[92/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/i2s_periph.c.obj
[93/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/temperature_sensor_periph.c.obj
[94/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/timer_periph.c.obj
[95/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/mpi_periph.c.obj
[96/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/mcpwm_periph.c.obj
[97/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/parlio_periph.c.obj
[98/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/twai_periph.c.obj
[99/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/ieee802154_periph.c.obj
[100/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/wdt_periph.c.obj
[101/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/rtc_io_periph.c.obj
[102/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/sdio_slave_periph.c.obj
[103/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/system_retention_periph.c.obj
[104/125] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32c5/power_supply_periph.c.obj
[105/125] Building C object esp-idf/riscv/CMakeFiles/__idf_riscv.dir/rv_utils.c.obj
[106/125] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/lp_timer_hal.c.obj
[107/125] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/hal_utils.c.obj
[108/125] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/esp32c5/efuse_hal.c.obj
[109/125] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/huk_hal.c.obj
[110/125] Generating project_elf_src_esp32c5.c
[111/125] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/efuse_hal.c.obj
[112/125] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src_esp32c5.c.obj
[113/125] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[114/125] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/key_mgr_hal.c.obj
[115/125] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/cache_hal.c.obj
[116/125] Building C object esp-idf/hal/CMakeFiles/__idf_hal.dir/mmu_hal.c.obj
[117/125] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/uECC_verify_antifault.c.obj
[118/125] Linking C static library esp-idf/micro-ecc/libmicro-ecc.a
[119/125] Linking C static library esp-idf/soc/libsoc.a
[120/125] Linking C static library esp-idf/riscv/libriscv.a
[121/125] Linking C static library esp-idf/hal/libhal.a
[122/125] Linking C static library esp-idf/main/libmain.a
[123/125] Linking C executable bootloader.elf
[124/125] Generating binary image from built executable
esptool.py v4.12.dev1
Creating esp32c5 image...
Merged 2 ELF sections
Successfully created esp32c5 image.
Generated /home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/build/bootloader/bootloader.bin
[125/125] cd /home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/build/bootloader/esp-idf/esptool_py && /home/claw/.espressif/python_env/idf5.5_py3.13_env/bin/python /home/claw/esp/esp-idf/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x2000 /home/claw/.openclaw/workspace/v2x-sniffer/v2x_fw/build/bootloader/bootloader.bin
Bootloader binary size 0x56a0 bytes. 0x960 bytes (10%) free.
ninja: build stopped: subcommand failed.
