Цитата(SasaVitebsk @ Jan 18 2017, 02:48)

Что предлагаете вы? Вы пытаетесь создать туже универсальную библиотеку, с универсальным подходом. Только 2 отличия. 1 - на С++. 2 - вы не ST.
Вы нифига ничего не поняли ))
Я пытаюсь донести простую мысль, что грамотное построение (своевременное проектирование) проекта значительно упрощает жизнь при дальнейшей работе, в т.ч. и в других проектах.
Искать баги в лаконично и грамотно спроектированном коде значительно проще.
На С++ это сделать проще и нагляднее, чем городить огород из С-костылей (сужу исключительно по своему опыту).
Нету у меня единой обертки под все железные дела, есть лишь заранее скомпилированные либы на базе индусской PeriphLib под разные ST-процы (сижу плотно на них).
Правда, все же есть у меня один класс - Pin, он реализован под каждое семество, т. к. библиотечный код для управления пинами от ST в данном случае слишком тяжелый.
Все остальное - по максимому чужое. Изобретать велосипед - уже не тот возраст ))
Так как поддержка PeriphLib прекращена, похоже, придется переключаться на HAL, но по возможности по максимому буду использовать только объявления регистров и ессно cmsis.
Но вся эта тряхомуть с железов закопана глубоко и при переноски модулей из одного проекта в другой почти ничего переписывать уже не нужно, кроме функционала самого модуля под конкретный проект.
Цитата
Любая универсальная библиотека будет избыточна.
Еще раз - речь не об этом ))
Я ни сколько не призываю использовать мой код (попросите, не дам),
Я лишь продемонстрировал как применяется на примере класс синглтон и самое главное пример модульного построения проекта на основе одного из моих проектов.
Есть у меня также самописный Iterator (изумительная вешь, я в восторге от ее простоты и функциональности!),
Queue для управления списками (самописный простой),
набор разных цифровых фильтров (шаблоны, т.е. не привязаны к типам данных)
есть само собой Singleton, от которого наследуются все синглтоны (модули проекта)....
Все это - шаблоны классов, т.к. просто hpp файлы. Вообще не зависят ни от какого железа.
Готовые чужие реализации мне не понравились - слишком толстые и перегруженные всякой ненужной трухой.
Впрочем, такого добра у каждого программиста полно. У каждого - свой ))