I can look at the example projects of course, and refer to them for audio pipeline code, but before I get to that stage I'm just trying to make my current 'vanilla' idf project 'aware' of ADF. It's not at all clear to me from the current documentation how I might do this.
Some things I tried:
I added this to my top-level project CMakeLists.txt:
Code: Select all
list(APPEND EXTRA_COMPONENT_DIRS "/path/to/esp-adf/esp-adf-v2.6/components")
include($ENV{ADF_PATH}/CMakeLists.txt)
Code: Select all
/dev/github/esp-adf/esp-adf-v2.6/components/esp_peripherals/include/esp_peripherals.h:78:32: error: unknown type name 'xTimerHandle'; did you mean 'TimerHandle_t'?
78 | typedef void (*timer_callback)(xTimerHandle tmr);
| ^~~~~~~~~~~~
| TimerHandle_t
/dev/github/esp-adf/esp-adf-v2.6/components/esp_peripherals/include/esp_peripherals.h:371:88: error: unknown type name 'timer_callback'
371 | esp_err_t esp_periph_start_timer(esp_periph_handle_t periph, TickType_t interval_tick, timer_callback callback);
| ^~~~~~~~~~~~~~
[956/1165] Building C object esp-idf/esp_dispatcher/CMakeFiles/__idf_esp_dispatcher.dir/periph_service.c.obj
ninja: build stopped: subcommand failed.
Again I'm using IDF 5.1.2, and ADF 2.6. I *think* these two are compatible?
Something that's especially unclear to me is that esp-adf seems to contain a (entire?) copy of esp-idf within it? I would love to understand this better - is esp-adf meant to exist completely apart from an existing esp-idf install? I see a few youtube videos that suggest not setting IDF-path to avoid compiler errors like the above, but this seems less like an official recommendation and more like hackery (which I would like to avoid).