Replies: 7 comments
-
I'm on-board with this, as long as the XPCC protocol behavior is not changed. I think externalizing the buffering for packet-oriented peripherals (ie. UART, ADC, DAC, CAN, Ethernet, etc) would be a great benefit. This would require perhaps a generic interface with RX/TX function hooks executed in an IRQ context instead of the polling based approach that we have now. The Buffer interface could provide a generic IRQ-safe implementation of a polling interface instead. |
Beta Was this translation helpful? Give feedback.
-
And to add further: The CAN peripheral isn't used much inside modm, except for XPCC, yet is implemented as a relatively complicated peripheral, so it's a very good candidate to experiment with new interfaces. |
Beta Was this translation helpful? Give feedback.
-
The new STM32 Can IP supports FD-CAN and long frame mode (LFM) with up to 64 Bytes of payload. Option AContinue to use the current Option BChange the Any opinions? |
Beta Was this translation helpful? Give feedback.
-
Does UAVCAN even make use of LFMs? The overhead of the heap is at least 8B, due to alignment and heap info requirements (newlib might even be 16B) so the overall memory saving isn't going to be so large. I'd choose option A for now, also because the UART buffers also copy the data and that makes it consistent (altough for const data, you could pass a |
Beta Was this translation helpful? Give feedback.
-
As far as I know, UAVCAN doesn't use LFM. |
Beta Was this translation helpful? Give feedback.
-
Maybe having two types like |
Beta Was this translation helpful? Give feedback.
-
Maybe we can use something like a flex array? |
Beta Was this translation helpful? Give feedback.
-
For a project I need a driver for the FDCAN IP present the new STM32H7- and STM32G4-series devices.
To integrate UAVCAN into modm (and for other use cases) prioritized transmit queues are required, see #216 (comment).
Some thoughts:
This will likely introduce some incompatible changes.
Comments? @salkinium @chris-durand @strongly-typed @asmfreak @dergraaf
Beta Was this translation helpful? Give feedback.
All reactions