A simple CAN application writing a single message on CAN bus on STM32L43x fails. The write fails and the controller apparently keeps retrying the write (the CAN analyser I have on the other end of the bus quickly reports 128 RX errors and goes to Error Passive state).
The same test works fine on Mbed OS 5.13.4 and 5.14.2 at least, but consistently fails on 5.15.0, 5.15.2 and 5.15.3. Tested with STM32L432KC Nucleo and STM32L431KB custom board.
Hi! Thanks! Sorry I didn’t keep the exact code, but can reproduce a failing scenario easily if needed - I tried several variations of basically just initiating a CAN object (PA_11, PA_12, speed) where speed varied from 50000 to 250000, constructing a CANMessage and sending it with the CAN object’s .write(). Various delays etc., never got a single message sent until I tried switching to an older mbed OS version and there everything worked right away.
One detail from the code is that I need to use CANExtended format with long message IDs, all attempts were done using that. The Nucleo board setup uses a TI 65HVD251 transceiver, not sure about what the custom board has, but functioning was identical. Receiving end is a Microchip CAN bus analyzer connected to a PC.
Hi! Thanks for testing, so not about the extended IDs at least. Are both your devices running mbed 5.15? Would it be easy to send from mbed 5.15 device and receive with something else, maybe running an older mbed on the other device (if you don’t happen to have a CAN analyzer or something)?