roboforum.ru

Технический форум по робототехнике.

Новый протокол под ORFA

Правила форума
Правила раздела OpenRobotics

Re: Новый протокол под ORFA

pashteet » 06 окт 2010, 10:46

я за как у ардуино :)

Re: Новый протокол под ORFA

=DeaD= » 06 окт 2010, 10:59

pashteet писал(а):я за как у

Я извинясь, это за какую именно "как у"? :crazy:
Вы что имеете в виду, у ардуино как?

Re: Новый протокол под ORFA

pashteet » 06 окт 2010, 11:17

:D былобы хорошо порты как у ардуино обозвать порты: цифровые D1 D2 D3 D4 и т.д., аналоговые А1 А2 А3 и т.д., сервы S1 S2 S3 и т.д.
в этом случае запрос имел бы вид S1 <положение> <скорость> D1 <вход/выход> <1/0> A1 <Напряжение> <Битность>

Re: Новый протокол под ORFA

=DeaD= » 06 окт 2010, 11:24

1. Это не стыкуется с тем, как сейчас подписаны порты на 100 уже произведенных контроллерах.
2. Это не очень удобно потом для портирования на другие контроллеры.

И для серво уже будут команды совместимые с SSC-32

Добавлено спустя 2 минуты 36 секунд:
В целом можно указать более точно чего хочется или что не устраивает в предложенных выше командах? Битность нельзя менять на каждом порту отдельно, она на весь АЦП.

Re: Новый протокол под ORFA

Grem » 06 окт 2010, 11:44

Лучше убрать нафиг шестнадцатеричный формат чисел из команд.
S40 02 05DC P
на
S40 02 1500 P

Re: Новый протокол под ORFA

pashteet » 06 окт 2010, 11:50

Меня все устраивает :D Я и со старыми командами несильно обламываюсь :D Но чем проще будет тем лучше

Добавлено спустя 2 минуты 19 секунд:
Про шеснадцатиричные числа очень хорошее замечание, я не могу без калькулятора в уме быстро переводить нужные числа, это сильно затрудняет формирование команд

Re: Новый протокол под ORFA

=DeaD= » 06 окт 2010, 12:02

Grem писал(а):Лучше убрать нафиг шестнадцатеричный формат чисел из команд.
S40 02 05DC P
на
S40 02 1500 P

Принципиально нельзя, т.к. это сильно отклонит протокол от i2c, потому что тут каждые 2 байта отправляются как 1 байт в 16-чном виде в шину i2c, а если как вы написали - надо будет сначала всё дочитать до конца, потом понять что это и зачем, и только потом высылать.

Добавлено спустя 46 секунд:
pashteet писал(а):Про шеснадцатиричные числа очень хорошее замечание, я не могу без калькулятора в уме быстро переводить нужные числа, это сильно затрудняет формирование команд

Скоро забудете их как страшный сон если не надо будет юзать i2c-девайсы :)
Я уже почти дописал новые парсеры. Серво уже работает, цифровой ввод-вывод тоже, АЦП добиваю и еще моторы сделаю.

Re: Новый протокол под ORFA

pashteet » 06 окт 2010, 12:19

дык я итак особо не заморачиваюсь, пока работа не дает "играться в роботов", а так я ORFA-терминал юзаю, там нет шестнадцатиричных чисел

Re: Новый протокол под ORFA

=DeaD= » 06 окт 2010, 23:18

Ну всё, первая версия более-менее рабочая и протестированная под OR-AVR-M128-S готова, выложена в репо, в ветке new_parser, правда АЦП малость фигню выдаёт при работе в 8-битном режиме, но по дефолту включены 10 бит и вроде всё работает. Реализована команда управления сервами + побитовая работа с портами + АЦП. Дальше делаем команды для движком + добиваем АЦП на 8 битах и можно будет первый этап считать завершенным, дальше отладка.

Re: Новый протокол под ORFA

Vooon » 07 окт 2010, 10:14

На -DS тоже работает.

Re: Новый протокол под ORFA

=DeaD= » 07 окт 2010, 11:16

Для -DS пока команд управления движком нету :pardon: а так - да, должно работать.

Re: Новый протокол под ORFA

=DeaD= » 08 окт 2010, 22:20

Собрал и протестировал прошивки под M128-S и M128-DS, скомплировал, вот архив сразу с AVRDUDE и BAT-файлами обновления прошивок, надо только COM-порт поменять внутри и в названии BAT-файла желательно. Исходники как обычно в репо, в ветке new_parser.
Вложения
ORFA-firmware.zip
(159.75 КиБ) Скачиваний: 0

Re: Новый протокол под ORFA

=DeaD= » 11 окт 2010, 19:10

1) Команды для работы с сервами вида #0 P1600 #1 P1300 T4000<cr> - установить серву 0 в 1600, серву 1 в 1300, сделать это за 4000мс.
2) Команда для выбора режима работы порта PinModeF0=(In|Out|ADC) (тут пример для порта F линии 0)
3) Команда вывода в порт (не работает если он АЦП, работает как включение подтяжки если In) PinSetF0=1
4) Команда чтения значения из порта PinGetF0
5) Команда выбора разрешения в битах для АЦП AdcBits=(8|10)
6) Команда выбора источника опорного напряжения для АЦП AdcRef=(Int|Ext|AVCC)
7) Команда управления дифференциальным шасси DrvLR=-50,50 (тут -50 - левый движок на 50% назад, 50 - правый движок на 50% вперед)

Re: Новый протокол под ORFA

Grem » 11 окт 2010, 19:51

:) теперь Вам писать ман по новому парсеру с блекджеком примерами.

Re: Новый протокол под ORFA

=DeaD= » 11 окт 2010, 22:53

Вот новый мануал: post180263.html#p180263


cron
Rambler\'s Top100 Mail.ru counter