roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 май 2025, 21:19

Часовой пояс: UTC + 4 часа


Правила форума


Правила раздела OpenRobotics



Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Новый протокол под ORFA
СообщениеДобавлено: 23 авг 2010, 23:03 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Цели:
1. Получить более человек-читаемый протокол работы с контроллерами OR;
2. Унифицировать прошивки ORFA и ORC-32 (которая совместимая по командам с SSC-32);
3. Позволить в протоколе выполнять не только унифицированные i2c-команды, но и обращаться к конкретным устройствам удобным, а не унифицированным способом. Например выставление сервы 0 в положение 1600 будет "#0 P1600<cr>";
4. Встроить минимальную подсказку прямо в контроллер, чтобы можно было в терминале написать "?" и получить подсказку по синтаксису основных команд;

Начал работу, для начала свел оба парсера в одно место (сейчас парсинг идёт в два захода - сначала парсится команда из уарта - идёт контроль синтаксиса + все числа из текста переводятся в байты, а потом это выполняется).

Так что вместо прежних parser.c + command.c теперь будет чистый parcer.c.

Проверил - всё работает, дальше пропишу процедуру регистрации парсеров по первым буквам и вынесу в отдельные процедуры парсеры под каждую команду. А после сделаем механизм регистрации парсеров такой же, как механизм регистрации драйверов.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 23 авг 2010, 23:54 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10990
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
похоже Вы приблизились к линукс подобному командному интерфейсу
что то типа усеченного функционала применяемого в загрузчиках типа u-boot
возможно есть смысл посмотреть готовый код парсинга параметров командной стороки и выдачи хелпа в коде u-boot

Добавлено спустя 2 минуты 52 секунды:
если длинна строки не очень коротка то возможно есть смысл парсить полные команды с их укороченными алиасами
например чтобы можно было написать
set port 0 direction out
или
s p 0 d o


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 24 авг 2010, 00:05 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Мы с товарищем решили для сделать немного по-другому.
Просто сделали RPC для контроллера и все, на мой взгляд это удобнее.
Скоро выложим версию для Ардуино.

Кратко суть такая...
Пишешь функцию на контроллере, которая реализует какую-то работу с периферией:
Код:
void SetUART1Baud(int baud);

Жмешь в Ардуине спец. кнопку, генерируются привязки, при помощи которых можно вызвать эту функцию с ПК.

Пользоваться надо будет так (для C#):
Код:
var robot = new RemoteObject();
robot.SetUART1Baud(9600);

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 24 авг 2010, 07:52 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Виталий писал(а):
Мы с товарищем решили для сделать немного по-другому.
Просто сделали RPC для контроллера и все, на мой взгляд это удобнее.

Это не то чтобы удобнее, это вообще другая задача :) хотя тоже нужная и полезная.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 24 авг 2010, 08:27 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
=DeaD= писал(а):
1. Получить более человек-читаемый протокол работы с контроллерами OR;
3. Позволить в протоколе выполнять не только унифицированные i2c-команды, но и обращаться к конкретным устройствам удобным, а не унифицированным способом. Например выставление сервы 0 в положение 1600 будет "#0 P1600<cr>";
4. Встроить минимальную подсказку прямо в контроллер, чтобы можно было в терминале написать "?" и получить подсказку по синтаксису основных команд;

а я тебе сколько лет назад говорил об этом? :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 24 авг 2010, 08:38 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Говорил-то говорил, а вот ключевой пункт 2 из-за которого по большому счету всё и затевается ты упустил :)
Очень уж утомительно объяснять людям 2 протокола и поддерживать 2 прошивки :pardon: остальное - приятный бонус :roll:

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 24 авг 2010, 09:41 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
что будет с существующим вариантом ORFA?

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 24 авг 2010, 10:05 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Я думаю он будет интегрирован в новый вариант, т.е. система будет понимать как команды "S40 11 00 05BC P", так и "#0 P1500", первый формат останется по большому счету для работы с подчиненными i2c-девайсами, а совместимость со старым протоколом - приятный бонус.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 24 авг 2010, 10:38 
Не в сети
Аватара пользователя

Зарегистрирован: 16 май 2009, 12:50
Сообщения: 1530
Откуда: Россия
прог. языки: Java, C
да, я совместимость и имел ввиду. хотя мне, как конечному пользователю, существующий. вариант команд более нравится.

_________________
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 24 авг 2010, 11:20 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Существующий вариант команд, или в самом плохом случае - аналогичный, будет сохранён. Я просто убьюсь писать весь софт с нуля под шестиногов и прочую живность, поэтому крайне хочется иметь совместимость по командам с SSC-32.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 26 авг 2010, 11:42 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Текущий вариант файлов (от command.* отказался) для папки serialgate


Вложения:
serialgate.zip [7.16 КиБ]
Скачиваний: 0

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 26 авг 2010, 18:52 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Выкинул serialgate, orc32.
i2c_slave сделал системной библиотекой i2c. ее еще нужно научить перекидывать свои сообщения мастер-внутренний слейв.

Написал eTerm, в нем набор парсеров sg и orc32 (TODO).

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 01 окт 2010, 00:04 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Добавил в orc32 парсер обработку команды управления сервами #+P с модификаторами S и T
Добавил в sg парсер обработку локальных i2c запросов

Уже близко к релизу. Осталось сделать парсеры и простые команды для работы с портами и АЦП.

Текущие результаты в репозитарии, ветка new_parser

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 01 окт 2010, 02:07 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Dead, а можно прояснить вот такой вопрос.
Допустим, я хочу подключить к I2C на OR-контроллере внешние датчики (ну, компас, например и термометр)... Cможет ли штатная ORFA с ними работать, или надо вписывать свои драйверы-адаптеры?
Или тот же вопрос с другой стороны - допустим, я хочу сделать I2C датчик. Что мне нужно знать, чтобы ОРФЕ было хорошо?

Пытался читать доку - не въехал...
(для кого вы ее писали - для себя?)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Новый протокол под ORFA
СообщениеДобавлено: 01 окт 2010, 07:27 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Штатная ORFA должна без вопросов работать с внешними i2c-slave устройствами.

Цитата:
Пытался читать доку - не въехал...
(для кого вы ее писали - для себя?)

Обожаю такие глубокомысленные замечания.
1. Какую конкретно доку пытался читать?
2. М.б. для пущей конструктивности критики стоит указать что конкретно непонятным осталось?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO