В scmrtos используются преимущества С++ в часнтости шаблоны.
например так объявляется шаблон класса кольцевого буфера
Код
template<typename T, uint16_t Size, typename S = uint8_t>
class ring_buffer
аналогично объявляется шаблон класса channel
С одной стороны вроде гибко но с другой...
если у меня есть несколько каналов или кольцевых буферов хранящих тип int но разной длины, то эти каналы уже совершенно разные типы данных, которые нельзя никак объединить, сделать, например, массив указателей на каналы разной длины или нельзя сделать класс включающий указатель на кольцевой буфер заранее не указав длины этого буфера. В итоге вместо гибкости получаем противоположный эффект.
Может есть какое-о просто решение о котором я не знаю, подскажите товарищи!
Уж очень не хочется менять код ОС или дублировать то что там уже написано...