Для работы над своим манипулятором потребовался удобный интерфейс.
То что я находил мне не нравилось, вот и написал свою версию.
Главный класс ведет себя как список или словарь для доступа к конкретной серве.
При таком подходе не нужно каждый раз по индексу вытаскивать серву, достаточно присвоить какой-нибудь переменной.
Например:
>>> import ssc32
>>> ssc = ssc32.SSC32('/dev/ttyUSB0', 115200)
>>> my_servo = ssc[1]
>>> my_servo.position = 1000
>>> ssc.commit(time=1000)
Каждой серве можно установить минимальное и максимальное положение (диапазон по умолчанию 500..2500 мкс), чему эти положения соответствуют в градусах и имя сервы.
После установки соответствия с градусами можно пользоваться свойствами Servo.degrees и Servo.radians вместо Servo.position.
Чтобы каждый раз не забивать параметры серв их можно сохранить в файл и из него же загрузить,
для этого служат методы SSC32.load_config(config_path) и SSC32.save_config(config_path),
а у конструктора есть необязательный аргумент config='config_path' из которого будут загружены параметры.
Важно заметить что сохранены будут только сервы имеющие имя.
Пример:
>>> import ssc32
>>> ssc = ssc32.SSC32('/dev/ttyUSB0', 115200, config='example.cfg')
>>> joint2 = ssc['joint2']
>>> joint2.max, joint2.deg_max = 2200, 45.0
>>> joint2.min, joint2.deg_min = 1270, -45.0
>>> ssc.save_config()
Есть еще простой скриптовый интерфейс использующий YAML для записи.
Примеры http://hg.vehq.ru/pyssc32/file/tip/scripts
0
comments
»
Для работы с шлюз-контроллером TermiTiger’а написал новую прошивку.
Первоначальный синтаксис команд взят из проекта userial, за тем упрощен (отброшены лишние операции).
PyOR
Для работы с ПК написана библиотека для питона и
в качестве теста простой гуй для управления танком
В дистрибутив входит две утилиты:
orintro.py
Это утилита для загрузки информации о доступных драйверах (интроспекции)
orintro.py [-d] [-b 115200] [-a 20] /dev/ttySn
orjoystick.py
Это утилита для управления танковым шасси с помощью 4-х осевого джойстика.
orjoystick.py [-d] [-b 115200] /dev/ttySn
Зависит от pygame.
ORBTbot
Чтобы показать чем использовать bluetooth удобнее чем спец. транссиверы разыскал мидлет для телефона от ToniPizecato и немного модифицировал для управления танком с «ORFA-контроллером»
Внимание: Не использует интроспекцию ORFA!
0
comments
»
По просьбе EdGull’а написал jabber-бота для проброса последовательного порта в джаббер.
Jabber бота писал впервые, так что мог наделать ошибок. За основу взял bot.py из состава xmpppy.
Для работы с последовательным портом — pyserial.
Получить исходники можно так:
$ hg clone http://hg.vehq.ru/xmpp2serial/
Либо скачать архив
Запускать например так:
$ ./xmpp2serial.py -c /dev/rfcomm0 -b 115200 -f roboforum@jabber.ru -p ***** -t vovan341@jabber.ru
0
comments
»
Обновить byteflow хотел давно, еще с включения питона 2.6 в арче, но все руки не доходили…
После редизайна блога piranha’и (тема mirev) желание обновиться стало еще больше.
Убийцей лени стал mysqldump.
Дамп блога оказался размером ни много, не мало 45 МиБ!
Причина была в спаме, защита от которого была выключена.
И хоть на глагне он не прорывался, но оседал в БД.
Пять с лишнем тысяч комментариев.
Пришлось их вычищать несколькими запросами к базе, могли потереться и нормальные комментарии (но таких не замечено :)
Для архива
Так выглядел блог с открытия и до сего дня:

Oбновление highlight.js мода для phpBB3
Под предлогом, что мол вот обновлюсь, а потом и напишу, пропал пост про обновление highlight.js мода для phpBB3 в связи с выходом highlight.js 5.0
Загрузить: highlight.js_1.0.2.zip
Вообще у меня сейчас стоит highlight.js mod 1.0.3b, но пока еще не сформирован патч и ModX.
В нем используется highlight.js из базара, т.к. в релизной версии еще нет avrasm‘а
2
comments
»
Сегодня арч меня порадовал:
root@vovan-pc:~# pacman -Syu
:: Синхронизируется база данных пакетов...
core 31,7K 2,2M/s 00:00:00 [######################################################################################################] 100%
extra 413,5K 1340,4K/s 00:00:00 [######################################################################################################] 100%
community 358,3K 1072,1K/s 00:00:00 [######################################################################################################] 100%
archlinuxfr не устарел
:: Запускается полное обновление системы...
предупреждение: ddrescue: установленная версия (1.8-1) новее, чем в extra (1.7-1)
предупреждение: deluge: установленная версия (1.0.4-1) новее, чем в extra (1.0.3-2)
предупреждение: libssh: установленная версия (0.11-1) новее, чем в archlinuxfr (0.2-1)
разрешение зависимостей...
проверка на взаимную несовместимость...
Цели (42): alsa-lib-1.0.17a-2 apr-1.3.3-1 unixodbc-2.2.12-2 apr-util-1.3.4-1 apache-2.2.10-1 python-2.6-2 dbus-python-0.83.0-2 pycairo-1.6.4-2
pygobject-2.15.4-2 python-numeric-24.2-3 pygtk-2.13.0-2 gedit-2.24.0-2 gnome-applets-2.24.1-2 pyorbit-2.24.0-2 gnome-python-2.22.3-3
gnome-python-desktop-2.24.0-2 gnome-games-2.24.1-1 gnome-menus-2.24.1-3 gnome-python-extras-2.19.1-3 gstreamer0.10-python-0.10.13-2 vi-7.2.25-1
vim-7.2.25-1.1 gvim-7.2.25-1 libzip-0.9-1 kdeutils-4.1.2-2 libpng-1.2.33-1 mercurial-1.0.2-2 mod_python-3.3.1-5 mysql-python-1.2.2-2
namcap-2.1-2 openoffice-base-3.0.0-3 pil-1.1.6-5 pycups-1.9.42-2 sip-4.7.7-3 pyqt-4.4.3-2 python-notify-0.1.1-4 pyxdg-0.15-3 pyxml-0.8.4-5
screenlets-0.1.2-2 system-config-printer-1.0.9-2 totem-2.24.2-2 vte-0.17.4-2
Размер загружаемых файлов: 230,19 МБ
Размер устанавливаемых файлов: 598,79 МБ
Приступить к установке? [Y/n]
Что же, пора проверять все ли у меня работает…
0
comments
»
Постепенно перехожу с Subversion(svn) на Mercurial(hg).
Кратко mercurial это распределенная система контроля версий нового поколения.
Библиотеку для МиниБота я решил изначально держать под контролем меркуриала
и сегодня захостил репозиторий в интернете.
Чтобы получить копию:
hg clone http://hg.vehq.ru/minibot-lib/
0
comments
»
Это первый пост моего блога, в котором буду писать о разных интересующих меня вещах.
Немного об этом блоге:
Движек Byteflow, работает в веб-фреймворке Django,
а написана вся эта прелесть на питоне.
Посты дублируются в ЖЖ.
2
comments
»