MiniBot-SerControl — различия между версиями
Vooon (обсуждение | вклад) м (→Возможности) |
Vooon (обсуждение | вклад) (Добавил информацию о лицензии, исправил RESET, утилита QSerControl) |
||
| Строка 15: | Строка 15: | ||
=== Отличия === | === Отличия === | ||
| + | * Лицензия LGPL версии 3 (по договоренности с автором оригинальной версии) | ||
* Отличаются коды/описания ошибок | * Отличаются коды/описания ошибок | ||
* Внешний кварц на 14,7456 МГц (необходимо припаять) | * Внешний кварц на 14,7456 МГц (необходимо припаять) | ||
| Строка 47: | Строка 48: | ||
|- | |- | ||
| RESET | | RESET | ||
| + | |<code>QFF0050A055AA</code> | ||
| + | |<code>R</code> | ||
| | | | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| Отправить по i2c несколько байт и | | Отправить по i2c несколько байт и | ||
| Строка 148: | Строка 141: | ||
|} | |} | ||
| + | == Скачать == | ||
| + | Скачать можно на [https://www.bitbucket.org/vooon/minibot-sercontrol/src/ странице проекта] (Download » тип архива) | ||
| + | |||
| + | Или используя программу [[w:ru:mercurial|mercurial]]: | ||
| + | |||
| + | hg clone https://bitbucket.org/vooon/minibot-sercontrol/ | ||
| + | |||
| + | == QSerControl == | ||
| + | [[Изображение:QSerControl.png|thumb]] | ||
| + | QSerControl — простая gui-утилита для управления роботом. | ||
| + | |||
| + | Зависимости: | ||
| + | * python-pyserial | ||
| + | * python-pyqt4 (python-qt) | ||
| + | |||
| + | Репозиторий: http://hg.vehq.ru/qsercontrol/ (mercurial) | ||
| + | |||
| + | <br clear="both"/> | ||
== См. также == | == См. также == | ||
* [[:Категория:МиниБот|МиниБот]] | * [[:Категория:МиниБот|МиниБот]] | ||
Версия 02:20, 28 ноября 2008
Содержание
MiniBot SerControl
Это порт микропрограммы GATE-A8D8M2 на аппаратную платформу МиниБота. Формат обмена и базовые комманды совпадают.
Возможности
- I2C Шина[1]
- Очередь команд управления моторами с регулированием по встроенным энкодерам.
- Прямое управление моторами[2]
- Опрос датчиков линии
- Опрос бамперов[1]
- Получение RC5 посылок пультов[1]
Отличия
- Лицензия LGPL версии 3 (по договоренности с автором оригинальной версии)
- Отличаются коды/описания ошибок
- Внешний кварц на 14,7456 МГц (необходимо припаять)
- Скорость обмена по USART 115200 бод
- Единица времени не 1/50, а 1/56 секунды
- В одном пакете управления двигателем можно передать 12 комманд (13 если не отправлять
'\n') - Очередь комманд хранит до 20-и комманд (можно расширить изменив MOT_MAX_QSIZE)
- В случае, если пришедшие комманды не влезли в очередь будет сообщено начиная с какой комманды не влезло. (
X10MotQueueOvf %d) - Если номер ошибки больше X09, то вернется два сообщения об ошибке:
X{no}{descr}
X09ReqProc
Комманды
Комманды передаются в текстовом режиме.
Формат посылки: Q{adr}{req}[{by}]*
Каждый байт передаетя в шеснадцатеричной записи.
Если в ответе возвращается параметр больше чем один байт, то сначала идут младшие байты (Little Endian)
Принимаемые и возвращаемые типы:
- uint8 - беззнаковне целое 8 бит
00h..FFh - int8 - знаковое целое 8 бит
-128(80h)..0(0h)..127(7Fh) - uint16 - беззнаковое целое 16 бит
0000h..FFFFh - int32 - знаковое целое 32 бита
80000000h..0h..7FFFFFFFh
| Команда | Запрос | Ответ | Параметры |
|---|---|---|---|
| RESET | QFF0050A055AA
|
R
|
|
| Отправить по i2c несколько байт и
получить несколько байт в ответ |
Q{adr}{req}({bo})+
|
R({bi})*
|
|
| Установить направление
вращения двигателя |
QFF00{mot}{dir}
|
R
|
|
| Установить скорость
вращения двигателя |
QFF00{mot}{pwm}
|
R
|
|
| Управление очередью
команд для шасси |
QFF0014[{tim}{ls}{rs}{lf}{rf}]*
|
R
|
Способ задания скорости с направлением - 0x00 - стоим, 0x01..0x7F - малый..полный вперед, 0xFF..0x80 - малый..полный назад. Максимально можно отправить одновременно 12 команд. Если нужно сбросить очередь команд - отправляем просто |
| Получить состояние
энкодеров |
QFF08F0
|
R{lenc}{renc}
|
|
| Получить состояние
датчиков линии |
QFF01F1
|
R{sflag}
|
|
| Получить состояние
бамперов[1] |
QFF01F2
|
R{sflag}
|
|
| Получить RC5[1] | QFF01F3
|
R{cmd}
|
|
| Получить версию прошивки,
уникальный идентификатор |
QFF06FF
|
R{cn}{mj}{mi}{rv}{dvid}
|
|
Скачать
Скачать можно на странице проекта (Download » тип архива)
Или используя программу mercurial:
hg clone https://bitbucket.org/vooon/minibot-sercontrol/
QSerControl
QSerControl — простая gui-утилита для управления роботом.
Зависимости:
- python-pyserial
- python-pyqt4 (python-qt)
Репозиторий: http://hg.vehq.ru/qsercontrol/ (mercurial)
