Подарок

Получил свой подарок на ДР — цифровой осциллограф ATTEN 1062CML. Приятная штукенция :)

scope

0 comments »

django-extended-attachments

Время от времени я пишу свой велосипедный форум на джанге. Для него и написал это приложение, но вышло имхо довольно неплохо, поэтому решил вынести его отдельным приложением.

Возможности

  • Автоматические создание миниатюр во время запроса (набор бэкендов: PIL, GraphicsMagick);
  • Проверка на вирусы (бэкэнды только для ClamAV (libclam, clamd));
  • Контрольные суммы файлов (SHA1);
  • Пути к файлам как в MediaWiki (трехуровневое дерево из каталогов);
  • Дедупликация (ФС должна поддерживать hard links);
  • Описание файла.

Требования

  • django-extensions
  • django >= 1.2
  • python >= 2.6

Загрузка

0 comments »

PySSC32 — простой интерфейс к SSC-32

Для работы над своим манипулятором потребовался удобный интерфейс. То что я находил мне не нравилось, вот и написал свою версию.

Главный класс ведет себя как список или словарь для доступа к конкретной серве. При таком подходе не нужно каждый раз по индексу вытаскивать серву, достаточно присвоить какой-нибудь переменной.

Например:

>>> 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 »

KS-Line: line follower bot

В прошлую пятницу ко мне наконец-то пришла первая версия контроллера OR-duino. И я собрал своего первого робота для следования по линии.

KS-Line

Состоит из:

  • OR-duino w/ LiPo battery ………………………… ~1200 p.
  • OR-LINESENS-KTIRx10 ………………………… ~360 р.
  • Tamiya twin-motor gearbox (item 70097) ………. ~550 р.
  • Tamiya off-road tires (item 70096) ……………….. ~210 р.
  • Старый железный конструктор ………………… бесценно :)

И того: ~2400 р.

После первых тестов назад добавил противовес.

Для поддержки контроллера написал библиотеки для Arduino IDE. Также собрал свой дистрибутив Adruino IDE for Windows, в котором уже добавлена поддержка OR-duino: or-duino-ide-0018.win.zip (88 MiB, MD5: a4aba75634d858adc4987acf22b2ecc7).

0 comments »

ORFA 0.8.0

Выпустил новый релиз орфы.

Достаточно много изменений, важнейшее из которых — выделение низкоуровневой части в HAL и возможность его использовать отдельно. Пример можно найти в doc/examples/hal-servo/.

Добавлена поддержка OR-AVR-M128-DS.

Правда реализовал далеко не все, что хотел выпустить в этой версии. Например пока так и не сделал мультимастер.

Теперь я также собираю набор бинарников готовых для прошивки в контроллеры. Найти их можно здесь: http://media.vehq.ru/openrobotics/binaries/

0 comments »

Orient HW 508 + linux

Брат купил себе это «чудо» китайской мысли, надеясь что там конексантовские чипы (о чем написано в описании), которые под линуксом работают без проблем. Еще и на коробке Тукс нарисован. Но на самом деле чипы там филипсовские, а плата от Hawell. Китайцы еще и на копеечной эпромке сэкономили и из-за этого использовать автодетект нельзя.

Но хорошо что уже есть руководство как добавить эту плату. Следуя ему, я добавил поддержку в меркуриал версию. Патч: saa7134-hawell-hw-404M7.patch

Upd 15.03.2010: Патч приняли в основную ветку :) card=177

Upd 23.04.2010: Все патчи приняли, должны появиться в linux 2.6.35.

Upd 03.08.2010: Вышло ядро 2.6.35, больше патчить не придется :) card=177

4 comments »

ST-Boot — программатор STM32F10x

Долго пытался заставить работать пример работы с бутом от STMicroelectronics. Идет он в бинарном виде, под вистой я так и не увидел работы, плюнул и написал по спекам свой программатор на питоне.

Спасибо Александру Соловьеву за библиотеку opster, без нее еще бы долго сидел воевал с optparse :)

Установка

Стандартный для питона setup.py. А еще зарегистрировал на PyPi, так что будет достаточно:

easy_install stboot

Использование

Вообще думаю, что достаточно хелпа :) Единственная неприятность — -a не принимает шестнадцатеричную запись, приходится шелл просить (-a $((0x20001000))). И думаю нужно немного пояснить ключ -s. Он сделан специально для отладочной платы SK-MSTM32F107, у нее сигнал RTS управляет состоянием BOOT0, а DTRRESET. Так вот ключ -s заставляет сначала подрыгать этими ногами, чтобы оказаться в загрузчике не переключая ни каких переключателей.

$ st-boot.py 
usage: st-boot.py <command> [options]

commands:

 erase    Flash global erase
 help     Show help for a given help topic or a help overview
 info     Show device information
 program  Program memory
 read     Read memory
 verify   Verify memory
 version  Show st-boot version
1 comment »

Сборка инструментария GCC для Cortex-M3 под Ubuntu

В репозитории убунты к сожалению нет пакетов gcc для кортексов, пришлось собирать самому. В сети нашел хорошее руководство и собрал пакеты для Ubuntu/Debian amd64 (x86_64).

  1. binutils-cortexm3_2.19-1_amd64.deb
  2. gcc-cortexm3_4.3.4-1_amd64.deb
  3. newlib-cortexm3_1.17.0-1_amd64.deb
  4. gdb-cortexm3_7.0-1_amd64.deb
  5. insight-cortexm3_6.8-1_amd64.deb
0 comments »

stm32-devb

Начал изучать МК от ST Microelectronics — STM32. А т.к. дешевых готовых отладочных плат для STM32F107VCT8 нет, то пришлось поработать самому.

На плате:

  • USB OTG 2.0 Full Speed (12 MiB/s)
  • Ethernet 10/100 PHY на микросхеме LAN8700 подключенной по интерфейсу MII
  • JTAG
  • 52 IO на общем разъеме

PCB

Теперь осталось дождаться производства, собрать и тестить.

Скачать проект можно там: http://hg.vehq.ru/stm32-devb/

3 comments »

TermiTiger #5: Платформа готова

Робот готов. Привозил на недавно прошедший Фестиваль Науки в Политехническом музее.

0 comments »