PicoPiFi
PicoPiFi copied to clipboard
Compiling current head is impossible due to submodule version mismatches
Due to this change in the pico-sdk, the build now fails while compiling the cyw43 driver:
[ 92%] Building C object CMakeFiles/PicoPiFi.dir/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c.o
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c: In function '_cyw43_write_reg':
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c:456:13: error: 'cyw43_int_t' {aka 'struct _cyw43_int_t'} has no member named 'last_size'
456 | self->last_size = 8;
| ^~
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c:457:13: error: 'cyw43_int_t' {aka 'struct _cyw43_int_t'} has no member named 'last_header'
457 | self->last_header[0] = buf[0];
| ^~
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c:458:13: error: 'cyw43_int_t' {aka 'struct _cyw43_int_t'} has no member named 'last_header'
458 | self->last_header[1] = buf[1];
| ^~
/home/mueller/PicoPiFi/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c:459:15: error: 'cyw43_int_t' {aka 'struct _cyw43_int_t'} has no member named 'last_backplane_window'; did you mean 'cur_backplane_window'?
459 | self->last_backplane_window = self->cur_backplane_window;
| ^~~~~~~~~~~~~~~~~~~~~
| cur_backplane_window
make[2]: *** [CMakeFiles/PicoPiFi.dir/build.make:2263: CMakeFiles/PicoPiFi.dir/pico-sdk/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1785: CMakeFiles/PicoPiFi.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
If anyone wants to recreate it, follow the build instructions from the README on the current version of the project
I found a temporary workaround:
in the CMakeLists.txt, add
add_definitions(-DCYW43_INCLUDE_LEGACY_F1_OVERFLOW_WORKAROUND_VARIABLES=1)
before
include(pico-sdk/pico_sdk_init.cmake)
after that, the project compiles without errors.