canhack icon indicating copy to clipboard operation
canhack copied to clipboard

compile error

Open isarychkin opened this issue 2 years ago • 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); |

isarychkin avatar Aug 21 '22 16:08 isarychkin

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 avatar Aug 21 '22 17:08 kentindell

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

isarychkin avatar Aug 21 '22 17:08 isarychkin

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.

kentindell avatar Aug 21 '22 17:08 kentindell