CANopenNode / CanOpenSTM32

CANopenNode on STM32 microcontrollers.
Other
267 stars 106 forks source link

CUBEMX for STM32H7 initialise issue #38

Open nickirani opened 12 months ago

nickirani commented 12 months ago

When setting up the FDCAN peripheral for STM32H7 through CUBE MX, the user must add a value to Tx Fifo Queue Elmts Nbr to allow transmission of data packets. Otherwise the check for free fifo level will fail constantly .

CO_driver_STM32.c .Line 259, if (HAL_FDCAN_GetTxFifoFreeLevel(((CANopenNodeSTM32*)CANmodule->CANptr)->CANHandle) > 0) will always evaluate to false otherwise

HamedJafarzadeh commented 12 months ago

@nickirani Thanks for reporting out. I can confirm this issue. It needs to be addressed either in the CANOpenNode config code or Readme doc.

One solution could be checking for FiFo level in Init phase and return relevant error if it wasn't right.