Может быть это покажется излишне резким, но не надо здесь разводить то, что устроили в куче тем про ИИ и иже с ним. Есть конкретные задачи - решаем. Нет - не болтаем просто так.
Задачи есть, но они вас не интересуют или вам так кажется. Я умолкаю и ухожу их этой темы по просьбам трудящихся, чтобы не создавать свалку. Буду спрашивать только в случае крайней необходимости.
Короткое резюме от меня - я пока не вижу в каких ситуациях это может быть реально нужно, чтобы ради этого усложнять систему в разы. И вот почему.
Мне кажется, что достаточно сложные алгоритмы первичной интеллектуальной обработки сенсоров всё равно не впихнуть в МК, поэтому в любом случае будет момент, когда надо постоянно весь поток информации с сенсоров будет передавать на ПК. А в этом случае очевидно, пропускной способности УАРТа должно хватить на весь этот поток, но тогда и в остальное время пропускной способности хватит. А уж на ПК обработать всё что поступает с УАРТа и выбрать нужное - "как два пальца об асфальт"
В каком смысле? Доступ на запись в главное репо? Пока нет. Но завел отдельное репо, для получения доступа к нему тебе нужно зарегистрироваться у меня в блоге и написать в личку ник. Регистрация совмещена с комментом или логином по OpenID.
Начал вытаскивать код низкоуровневых драйверов из самих orfa-драйверов в hal.
В частности вынес драйвера servo_gpio, servo4017 в hal/servo/{gpio,4017}. А драйвер орфы теперь один, он пользуется единым интерфейсом hal/servo.h.
Еще хочу сделать библиотеку i2c_slave общесистемной, а не как сейчас — у serialgate отдельная либа. И она вроде поддерживает мультимастер режим, так что можно сделать универсальную прошивку, принимающую команды как с UART'а, так и с I2C.
Дальнейший переход на HAL. Вынес библиотеки из serialgate в lib. Портировал наработки из ORC-32 в HAL и забрал парсер. Теперь парсер ORC-32 работает на HAL и LIB от ORFA.
Описал в local_config.mk параметры программатора (чтобы можно было делать make program)
Этот релиз только исправление ошибок. Исправил ошибки порта ORC-32. Сейчас у меня в манипуляторе стоит эта прошивка. Сменил программатор по умолчанию на бутлоадер который теперь прошивают в платы. Немного поправил систему сборки.
ORFA 0.8.1 и 0.8.2 не отличаются. ORC-32 0.8.1 не правильно работает, 0.8.2 работает верно. Поэтому я удаляю сборку orc32-v0.8.1.zip.
Я думаю надо протокол для драйвера серв тогда доопределить, например, так:
1. <NN> <PPPP> при NN из интервала 0..126 это выставить серву NN в позицию PPPP; 2. <MM> <PPPP> при MM из интервала 128..254 это ограничить скорость изменения позиции сервы (MM-128) в секунду значением PPPP - из этих скоростей будет рассчитано общее время выполнения команды, при этом все сервы в любом случае придут в конечное значение одновременно; 3. FF <TTTT> обеспечить общее время выполнения команды TTTT;
а почему нельзя просто добавить скорость? Сейчас выглядит так S40 <регистр> <№сервы> <положение> P А будет выглядеть S40 <регистр> <№сервы> <положение> <скорость> P