roboforum.ru

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

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


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


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



Начать новую тему Ответить на тему  [ Сообщений: 109 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 8  След.
Автор Сообщение
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 16 фев 2010, 14:54 
Не в сети
Аватара пользователя

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

По поводу расширений - да, именно поэтому мы и говорим, что каждый драйвер сможет регистрировать свою часть парсера для своих команд.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 16 фев 2010, 15:21 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Угу, я так и понял. :good:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 16 фев 2010, 16:57 
Не в сети
Аватара пользователя

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

По предложению Vooon'а устраняем мастер и слейв прошивку, сливаем воедино.
Вводим понятие ORFA-адаптера HAL-драйвера. Делаем специфические парсеры в каждом ORFA-адаптере.


Вложения:
ORFA-struct.pdf [49.77 КиБ]
Скачиваний: 13
ORFA-master-struct.zip [23.25 КиБ]
Скачиваний: 0

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 09 мар 2010, 08:58 
Не в сети
Аватара пользователя

Зарегистрирован: 22 окт 2009, 16:13
Сообщения: 74
Откуда: Дедовск
Где можно побольше узнать об синтаксисе ORFA, какие в ней есть драйвера и как ими пользоваться. Т.е. синтаксис драйверов. Как должны выглядеть команды?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 09 мар 2010, 10:31 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Вот тут Vooon инструкцию к ORFA начинал писать: viewtopic.php?p=151341#p151341

Еще можно глянуть примеры в инструкциях к модулям:
OR-AVR-M32-D - mediawiki/images/d/da/OR-AVR-M32-D-UG.pdf
OR-AVR-M128-S - mediawiki/images/4/45/OR-AVR-M128-S.pdf

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 09 мар 2010, 19:53 
Не в сети
Аватара пользователя

Зарегистрирован: 22 окт 2009, 16:13
Сообщения: 74
Откуда: Дедовск
Объясните пожалуйста:
OR-AVR-M128-S.pdf
страница 16
третья строка таблицы.

Пример* Установить порт A0 контроллера в логический вход и прочитать его значение:
<S40 06 00 S40 02 S41 01 P
>SWAASWASR01P

S40 06 00 - Это понятно но вроде не А0 а весть PORTA установили в "логический вход". правильно?
S41 01 - Не понятно что значит 41, почему 41? И, вот, мы значение прочитали, а куда?

Прошу прощения за ламерство.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 09 мар 2010, 20:11 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
S40 это запросы на запись к устройству 40, S41 - запросы на чтение (особенности адресации запросов протокола I2C).
<S40 06 00 S40 02 S41 01 P
>SWAASWASR01P

Да, тут весь порт ставим на чтение и читаем байт с этого порта.

Прочитанный байт видно в ответе:
>SWAASWASR01P

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 09 мар 2010, 20:21 
Не в сети
Аватара пользователя

Зарегистрирован: 22 окт 2009, 16:13
Сообщения: 74
Откуда: Дедовск
Спасибо.
Следующий вопрос.
Страница 17 (следующая)
1.Настройки АЦП (используются младшие 3 бита):
●биты 0..1:
00 - External reference
01 - AVCC
10,11 - Internal reference
●бит 2 - режим точности АЦП:
0 - 8-битный;
1 - 11-битный; это ошибка?
2.Маска включаемых в АЦП каналов (8 бит - соотв. 8 линиям порта А);
Второй регистр для чтения результатов - из него читаются 8 байт, если режим 8-битный или 16 байт, если режим 16-битный. Можно читать меньше, тогда будем знать состояние первых нескольких линий.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 09 мар 2010, 20:23 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 09 мар 2010, 23:11 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Нет, это все же ошибка! Режим 10 бит, а не 11 (таких просто нет :)).
А вот читать нужно два байта (16 бит) т.к. минимальный размер данных — байт (октет).

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 09 мар 2010, 23:36 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Понял, внёс исправления в инструкции, расположены там же. Исправил блок про драйвер АЦП и про драйвер портов в части примера ввода инфы с порта А (а не А0 как было).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 10 мар 2010, 14:56 
Не в сети
Аватара пользователя

Зарегистрирован: 22 окт 2009, 16:13
Сообщения: 74
Откуда: Дедовск
Спасибо за помощь.
Вот еще вопрос.
страница 17 (Драйвера АЦП)

Пример 2*. Читаем 0-3 каналы АЦП.
<S 40 0D S 41 04 P
>SWASRFFD7D7D6P
S40 0D - отправим в устройство 0x40 номер регистра 0D, после чего S 41 04 – прочитаем теперь из устройства четыре байта значений из АЦП, P - конец запроса. Ответ: SW - начали запись в устройство, A - подтверждения записи 1 байта в устройство, SR<aa><bb><cc><dd> - возвращенные значения на входах АЦП, P - конец ответа.

А откуда видно что мы читаем 0-3 каналы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 10 мар 2010, 15:10 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Потому что читаем всегда первые 0..N-1 каналов при запросе S 40 0D S 41 <N> P, если режим 8-битный, или первые 0..N-1 каналов при запросе S 40 0D S 41 <2*N> P, если режим 10битный

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 10 мар 2010, 17:04 
Не в сети
Аватара пользователя

Зарегистрирован: 22 окт 2009, 16:13
Сообщения: 74
Откуда: Дедовск
Что то не понимаю.
Вот, например, делаем АЦП - анализатор напряжения.
Подаем на PORTA0 напряжение с батареек.
Пишем S40 0C 03 00 P
Это мы включили.
А что бы прочитать нужно написать
S41 0C 09 P
Так? Мы получим в ответ 8 бит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Концепция ORFA и немного шире
СообщениеДобавлено: 10 мар 2010, 17:13 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Неее... надо сделать
S 40 0D S 41 01 P, где
S 40 0D - отправить в устройство 40 номер регистра 0D с которым хотим работать
S 41 01 - запросить (+01) из устройства 40 (итого 40+01=41) нужные нам 01 байт
P - приступить к выполнению.

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


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

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


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

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


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

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