kentindell/canhack

compile error

Opened this issue · 3 comments

unable to compile:
[ 66%] Building C object CMakeFiles/firmware.dir/main.c.obj
In file included from /pico/micropython/ports/rp2/canis/candrivers/mcp2517fd/mcp2517fd-types.h:23,
from /pico/micropython/ports/rp2/canis/candrivers/canapi.h:27,
from /pico/micropython/ports/rp2/canis/rp2_can.h:22,
from /pico/micropython/ports/rp2/main.c:52:

/pico/micropython/ports/rp2/canis/candrivers/mcp2517fd/rp2/mcp2517fd-rp2.h: In function 'mcp2517fd_spi_pins_init':
/pico/micropython/ports/rp2/canis/candrivers/mcp2517fd/rp2/mcp2517fd-rp2.h:131:5: error: implicit declaration of function 'irq_set_enabled' [-Werror=implicit-function-declaration]
131 | irq_set_enabled(IO_IRQ_BANK0, true);
| ^~~~~~~~~~~~~~~
/home/ivs/pico/micropython/ports/rp2/canis/candrivers/mcp2517fd/rp2/mcp2517fd-rp2.h:131:21: error: 'IO_IRQ_BANK0' undeclared (first use in this function)
131 | irq_set_enabled(IO_IRQ_BANK0, true);
|

That looks like the Pico SDK function isn't declared. Did it get installed in the lib directory? The cmake build process produces a maze of twisty passages all alike.

@kentindell
I added #include "hardware/irq.h" in mcp2517fd-rp2.h and all went fine. Cheers.

I'll keep this open. There's an update to the CAN SDK for C coming, and a new MicroPython release against it, so I'll check this doesn't happen again.