Notes 10/02/2019
Pavel - PR for UDP transport completed. To demonstrate
Ensure no design decisions which prevent the implementation
Abraham -
Studying ROS - more aware of what UAVCAN framework brings to the table
Seeing the similarities. Big picture is stack over UDB. Robot with Linux
Conceptual similarities between UAVCAN and ROS.
E.g software engineering concepts - publish subscribe in both.
CAN in physical layer - ROS by software services.
Details are in UAVCAN tutorials.
Higher level abstraction by UAVCAN.
Progress/Questions problems with S32K driver?
(Abraham)
Only part left is ‘write’ function Lib UAVCAN -
MIT license (original) - or BSD 3 clause
- These are not compatible at the moment.
- Looks like Licanse text in header sets the standard - NXP seems to be using BSD three clause.
Abraham -
Next validate code in each function.
Make it portable to all S32K family
S32K 146 and 148 chips have two interfaces. Most have one.
Will make driver work on all .
Note issue:
-=-=-=-=-=-
static std::deque<CAN::Frame> frame_ISRbuffer;
Should use memory allocator as provided by the library. Now using shared heap - fragmentation and non-deterministic.
Must provide an allocator for the container. This is presently Incompatible
https://en.cppreference.com/w/cpp/memory/allocator
Scott has a start on the memory allocator:
Pavel - use this allocator please. No examples but look at this.libuavcan/memory.hpp at 1e0d947132b565601612f7cae528ce31f492f9f9 · OpenCyphal/libuavcan · GitHub
Provide this type as a second template to ???
Best to keep discussion public on forum. Talk with Scott on Forum if/when you have problem.
That part of STL usage was not clear to Abraham - thanks
Think this is the only part that is making use of Dynamic allocations.
Pavel