Description
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.
@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