Skip to content

Arudino PortentaH7 with the Longan Labs CAN FD Library Porting issue #998

Open
@hpssjellis

Description

@hpssjellis

Because of my years of work on the maker100 course using the Arduino PortentaH7, I get a lot of online requests for help. Often I can help by showing my library the Portenta Pro Community Solutions which can just be searched from the Arduino library manager. But sometimes, like this one, a request for help is way above my abilities.

@facchinm

@thechordmaster is trying to connect the PortentaH7 to the automotive CAN FD bus. Here is the link to the library Longan_CANFD. I don't have the hardware so can't do my normal brut force methods, trying stuff until something works or breaks. Any suggestions for @thechordmaster about what to try with these examples.

Jeremy Ellis
@hpssjellis

Having a quick look at the errors after installing the Longan_CANFD library link above it looks like it the issue is about the GPIO pin settings, which is a standard porting portenta issue. Can someone from Arduino have a look at this.

C:\Arduino-1.8.19\portable\packages\arduino\hardware\mbed_portenta\4.1.5\cores\arduino/mbed/targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/STM32H7xx_HAL_Driver/stm32h7xx_hal_gpio.h:86:36: error: expected identifier before '(' token
 #define GPIO_PIN_0                 ((uint16_t)0x0001)  /* Pin 0 selected    */
                                    ^
C:\arduino-1.8.19\portable\sketchbook\libraries\Longan_CANFD-master\src/mcp2518fd_can_dfs.h:663:16: note: in expansion of macro 'GPIO_PIN_0'
 typedef enum { GPIO_PIN_0, GPIO_PIN_1 } GPIO_PIN_POS;
                ^
C:\Arduino-1.8.19\portable\packages\arduino\hardware\mbed_portenta\4.1.5\cores\arduino/mbed/targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/STM32H7xx_HAL_Driver/stm32h7xx_hal_gpio.h:86:36: error: expected '}' before '(' token
 #define GPIO_PIN_0                 ((uint16_t)0x0001)  /* Pin 0 selected    */
                                    ^
C:\arduino-1.8.19\portable\sketchbook\libraries\Longan_CANFD-master\src/mcp2518fd_can_dfs.h:663:16: note: in expansion of macro 'GPIO_PIN_0'
 typedef enum { GPIO_PIN_0, GPIO_PIN_1 } GPIO_PIN_POS;
                ^
C:\Arduino-1.8.19\portable\packages\arduino\hardware\mbed_portenta\4.1.5\cores\arduino/mbed/targets/TARGET_STM/TARGET_STM32H7/STM32Cube_FW/STM32H7xx_HAL_Driver/stm32h7xx_hal_gpio.h:86:47: error: expected ')' before numeric constant
 #define GPIO_PIN_0                 ((uint16_t)0x0001)  /* Pin 0 selected    */
                                               ^
C:\arduino-1.8.19\portable\sketchbook\libraries\Longan_CANFD-master\src/mcp2518fd_can_dfs.h:663:16: note: in expansion of macro 'GPIO_PIN_0'
 typedef enum { GPIO_PIN_0, GPIO_PIN_1 } GPIO_PIN_POS;
                ^
In file included from C:\arduino-1.8.19\portable\sketchbook\libraries\Longan_CANFD-master\src/mcp2518fd_can.h:6:0,
                 from C:\arduino-1.8.19\portable\sketchbook\libraries\Longan_CANFD-master\examples\CAN20_RECV_INT\CAN20_RECV_INT.ino:32:
C:\arduino-1.8.19\portable\sketchbook\libraries\Longan_CANFD-master\src/mcp2518fd_can_dfs.h:663:41: error: 'GPIO_PIN_POS' does not name a type; did you mean 'GPIO_PIN_SET'?
 typedef enum { GPIO_PIN_0, GPIO_PIN_1 } GPIO_PIN_POS;
                                         ^~~~~~~~~~~~
                                         GPIO_PIN_SET

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions