всякие штуки для определения версии вроде не особо нужны. и по мелочам: эта обвёртка вообще нужна или просто хочется? зачем i2c добавлена? почему не с++? для каких контроллеров и компиляторов или без привязки?
Да, версия пока не очень нужна, но в протоколе есть. К тому же я собираюсь выкинуть REGIO (R/W) из протокола версии 1.1. Эта библиотека будет поддерживать протокол 1.1 (это урезанный 1.0, более строгий, но совместимый).
> эта обвёртка вообще нужна или просто хочется? Главная задача — парсинг входного потока, формирование запросов просто бонус.
> зачем i2c добавлена? Это же основа протокола.
> почему не с++? Потому что гладиолус.
> для каких контроллеров и компиляторов или без привязки? Нет привязки к контроллеру, на нем просто должна быть ORFA собранная с libserialgate.a. Это серверная часть, и в первую очередь пишу под линукс, потом портирую.
Я так и не увидел где это библиотека переросла во фреймворк. Вот ORFA да, фреймворк: бери, пиши модули, а каркас уже готовый. А это только библиотека связи, не больше. Хотя в нее и будет входить интроспектор (упрощенный, в питонячей либе я его излишне усложнил), но только потому, что без него обойтись нельзя — это часть ядра. Ты же не назовешь библиотеку сокетов фреймворком?
Добавлено спустя 2 минуты 47 секунд: Ой, опять я невнимательно читаю
Я просто не понимаю зачем передавать указатель на указатель, когда мне нужно освободить память занимаемую ответом. Для этого же достаточно просто указателя.
И сейчас я убрал «магию» с указателем на данные. Т.к. максимальный размер ответа известен заменил *data на data[REPLY_MAX].