<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Старый блог on Владимир Ермаков</title><link>https://vehq.ru/ru/blog/</link><description>Recent content in Старый блог on Владимир Ермаков</description><generator>Hugo</generator><language>ru</language><lastBuildDate>Wed, 04 Aug 2010 00:30:46 +0400</lastBuildDate><atom:link href="https://vehq.ru/ru/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>django-extended-attachments</title><link>https://vehq.ru/ru/blog/2010/django-extended-attachments/</link><pubDate>Tue, 03 Aug 2010 15:03:07 +0400</pubDate><guid>https://vehq.ru/ru/blog/2010/django-extended-attachments/</guid><description>&lt;p&gt;Время от времени я пишу свой велосипедный форум на джанге.
Для него и написал это приложение, но вышло имхо довольно неплохо, поэтому решил вынести его отдельным приложением.&lt;/p&gt;
&lt;h3 id="возможности"&gt;Возможности&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Автоматические создание миниатюр во время запроса (набор бэкендов: PIL, GraphicsMagick);&lt;/li&gt;
&lt;li&gt;Проверка на вирусы (бэкэнды только для ClamAV (libclam, clamd));&lt;/li&gt;
&lt;li&gt;Контрольные суммы файлов (SHA1);&lt;/li&gt;
&lt;li&gt;Пути к файлам как в MediaWiki (трехуровневое дерево из каталогов);&lt;/li&gt;
&lt;li&gt;Дедупликация (ФС должна поддерживать hard links);&lt;/li&gt;
&lt;li&gt;Описание файла.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="требования"&gt;Требования&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;django-extensions&lt;/li&gt;
&lt;li&gt;django &amp;gt;= 1.2&lt;/li&gt;
&lt;li&gt;python &amp;gt;= 2.6&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="загрузка"&gt;Загрузка&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Лицензия: BSD&lt;/li&gt;
&lt;li&gt;PyPi: &lt;a href="http://pypi.python.org/pypi/django-extended-attachments"&gt;http://pypi.python.org/pypi/django-extended-attachments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Project page: &lt;a href="http://vehq.ru/project/django-extended-attachments/"&gt;http://vehq.ru/project/django-extended-attachments/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mercurial: &lt;a href="http://hg.vehq.ru/django-extended-attachments/"&gt;http://hg.vehq.ru/django-extended-attachments/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>PySSC32 — простой интерфейс к SSC-32</title><link>https://vehq.ru/ru/blog/2010/pyssc32--prostoj-interfejs-k-ssc-32/</link><pubDate>Mon, 21 Jun 2010 17:19:52 +0400</pubDate><guid>https://vehq.ru/ru/blog/2010/pyssc32--prostoj-interfejs-k-ssc-32/</guid><description>&lt;p&gt;Для работы над своим манипулятором потребовался удобный интерфейс.
То что я находил мне не нравилось, вот и написал свою версию.&lt;/p&gt;
&lt;p&gt;Главный класс ведет себя как список или словарь для доступа к конкретной серве.
При таком подходе не нужно каждый раз по индексу вытаскивать серву, достаточно присвоить какой-нибудь переменной.&lt;/p&gt;
&lt;p&gt;Например:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt;&amp;gt; import ssc32
&amp;gt;&amp;gt;&amp;gt; ssc = ssc32.SSC32('/dev/ttyUSB0', 115200)
&amp;gt;&amp;gt;&amp;gt; my_servo = ssc[1]
&amp;gt;&amp;gt;&amp;gt; my_servo.position = 1000
&amp;gt;&amp;gt;&amp;gt; ssc.commit(time=1000)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Каждой серве можно установить минимальное и максимальное положение (диапазон по умолчанию 500..2500 мкс), чему эти положения соответствуют в градусах и имя сервы.
После установки соответствия с градусами можно пользоваться свойствами &lt;code&gt;Servo.degrees&lt;/code&gt; и &lt;code&gt;Servo.radians&lt;/code&gt; вместо &lt;code&gt;Servo.position&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>KS-Line: line follower bot</title><link>https://vehq.ru/ru/blog/2010/ks-line-line-follower-bot/</link><pubDate>Fri, 23 Apr 2010 02:28:18 +0400</pubDate><guid>https://vehq.ru/ru/blog/2010/ks-line-line-follower-bot/</guid><description>&lt;p&gt;В прошлую пятницу ко мне наконец-то пришла первая версия контроллера OR-duino.
И я собрал своего первого робота для следования по линии.&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2010/ks-line-line-follower-bot/pict0007.JPG"&gt;&lt;img src="https://vehq.ru/ru/blog/2010/ks-line-line-follower-bot/pict0007_hu_d9aced19cba3f62.JPG" width="900" height="675" alt="KS-Line" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Состоит из:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OR-duino w/ LiPo battery &amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip; ~1200 p.&lt;/li&gt;
&lt;li&gt;OR-LINESENS-KTIRx10 &amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip; ~360 р.&lt;/li&gt;
&lt;li&gt;Tamiya twin-motor gearbox (item 70097) &amp;hellip;&amp;hellip;&amp;hellip;. ~550 р.&lt;/li&gt;
&lt;li&gt;Tamiya off-road tires (item 70096) &amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;.. ~210 р.&lt;/li&gt;
&lt;li&gt;Старый железный конструктор &amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip; бесценно :)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;И того: ~2400 р.&lt;/p&gt;
&lt;p&gt;После первых тестов назад добавил противовес.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/U7lYSJpp7hU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;p&gt;Для поддержки контроллера написал &lt;a href="http://hg.vehq.ru/orduino/"&gt;библиотеки для Arduino IDE&lt;/a&gt;.
Также собрал свой дистрибутив Adruino IDE for Windows, в котором уже добавлена поддержка OR-duino: &lt;a href="http://media.vehq.ru/openrobotics/binaries/or-duino-ide-0018.win.zip"&gt;or-duino-ide-0018.win.zip&lt;/a&gt; (88 MiB, MD5: a4aba75634d858adc4987acf22b2ecc7).&lt;/p&gt;</description></item><item><title>ORFA 0.8.0</title><link>https://vehq.ru/ru/blog/2010/orfa-080/</link><pubDate>Mon, 08 Mar 2010 03:32:30 +0300</pubDate><guid>https://vehq.ru/ru/blog/2010/orfa-080/</guid><description>&lt;p&gt;Выпустил новый релиз орфы.&lt;/p&gt;
&lt;p&gt;Достаточно много изменений, важнейшее из которых — выделение низкоуровневой части в HAL и возможность его использовать отдельно.
Пример можно найти в &lt;a href="http://hg.vehq.ru/orfa/file/0.8.0/doc/examples/hal-servo"&gt;doc/examples/hal-servo/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Добавлена поддержка &lt;em&gt;OR-AVR-M128-DS&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Правда реализовал далеко не все, что хотел выпустить в этой версии. Например пока так и не сделал мультимастер.&lt;/p&gt;
&lt;p&gt;Теперь я также собираю набор бинарников готовых для прошивки в контроллеры.
Найти их можно здесь: &lt;a href="http://media.vehq.ru/openrobotics/binaries/"&gt;http://media.vehq.ru/openrobotics/binaries/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Orient HW 508 + linux</title><link>https://vehq.ru/ru/blog/2010/orient-hw-508-linux/</link><pubDate>Sat, 27 Feb 2010 00:37:51 +0300</pubDate><guid>https://vehq.ru/ru/blog/2010/orient-hw-508-linux/</guid><description>&lt;p&gt;Брат купил себе это «чудо» китайской мысли, надеясь что там конексантовские чипы (о чем написано в описании), которые под линуксом работают без проблем. Еще и на коробке Тукс нарисован.
Но на самом деле чипы там филипсовские, а плата от Hawell. Китайцы еще и на копеечной эпромке сэкономили и из-за этого использовать автодетект нельзя.&lt;/p&gt;
&lt;p&gt;Но хорошо что уже есть &lt;a href="http://www.forumnov.ru/viewtopic.php?f=29&amp;amp;t=74"&gt;руководство как добавить эту плату&lt;/a&gt;.
Следуя ему, я добавил поддержку в меркуриал версию.
Патч: &lt;a href="https://vehq.ru/ru/blog/2010/orient-hw-508-linux/saa7134-hawell-hw-404M7.patch"&gt;saa7134-hawell-hw-404M7.patch&lt;/a&gt;&lt;/p&gt;</description></item><item><title>ST-Boot — программатор STM32F10x</title><link>https://vehq.ru/ru/blog/2010/st-boot-programmator-stm32f10x/</link><pubDate>Sat, 06 Feb 2010 02:40:27 +0300</pubDate><guid>https://vehq.ru/ru/blog/2010/st-boot-programmator-stm32f10x/</guid><description>&lt;p&gt;Долго пытался заставить работать пример работы с бутом от STMicroelectronics.
Идет он в бинарном виде, под вистой я так и не увидел работы, плюнул и написал по спекам свой программатор на питоне.&lt;/p&gt;
&lt;p&gt;Спасибо &lt;a href="http://piranha.org.ua/blog/2009/08/02/finaloption/"&gt;Александру Соловьеву&lt;/a&gt; за библиотеку &lt;em&gt;opster&lt;/em&gt;, без нее еще бы долго сидел воевал с optparse :)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Лицензия: New BSD&lt;/li&gt;
&lt;li&gt;hg clone &lt;a href="http://hg.vehq.ru/st-boot"&gt;http://hg.vehq.ru/st-boot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="установка"&gt;Установка&lt;/h2&gt;
&lt;p&gt;Стандартный для питона setup.py.
А еще зарегистрировал на PyPi, так что будет достаточно:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;easy_install stboot
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="использование"&gt;Использование&lt;/h2&gt;
&lt;p&gt;Вообще думаю, что достаточно хелпа :)
Единственная неприятность — &lt;code&gt;-a&lt;/code&gt; не принимает шестнадцатеричную запись, приходится шелл просить (&lt;code&gt;-a $((0x20001000))&lt;/code&gt;).
И думаю нужно немного пояснить ключ &lt;code&gt;-s&lt;/code&gt;. Он сделан специально для отладочной платы &lt;a href="http://starterkit.ru/html/index.php?name=shop&amp;amp;op=view&amp;amp;id=34"&gt;SK-MSTM32F107&lt;/a&gt;, у нее сигнал &lt;em&gt;RTS&lt;/em&gt; управляет состоянием &lt;em&gt;BOOT0&lt;/em&gt;, а &lt;em&gt;DTR&lt;/em&gt; — &lt;em&gt;RESET&lt;/em&gt;. Так вот ключ &lt;code&gt;-s&lt;/code&gt; заставляет сначала подрыгать этими ногами, чтобы оказаться в загрузчике не переключая ни каких переключателей.&lt;/p&gt;</description></item><item><title>Сборка инструментария GCC для Cortex-M3 под Ubuntu</title><link>https://vehq.ru/ru/blog/2010/sborka-instrumentariya-gcc-dlya-cortex-m3-pod-ubuntu/</link><pubDate>Sun, 31 Jan 2010 14:53:18 +0300</pubDate><guid>https://vehq.ru/ru/blog/2010/sborka-instrumentariya-gcc-dlya-cortex-m3-pod-ubuntu/</guid><description>&lt;p&gt;В репозитории убунты к сожалению нет пакетов gcc для кортексов, пришлось собирать самому.
В сети нашел хорошее &lt;a href="http://fun-tech.se/stm32/"&gt;руководство&lt;/a&gt; и собрал пакеты для Ubuntu/Debian amd64 (x86_64).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://media.vehq.ru/ubuntu/binutils-cortexm3_2.19-1_amd64.deb"&gt;binutils-cortexm3_2.19-1_amd64.deb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://media.vehq.ru/ubuntu/gcc-cortexm3_4.3.4-1_amd64.deb"&gt;gcc-cortexm3_4.3.4-1_amd64.deb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://media.vehq.ru/ubuntu/newlib-cortexm3_1.17.0-1_amd64.deb"&gt;newlib-cortexm3_1.17.0-1_amd64.deb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://media.vehq.ru/ubuntu/gdb-cortexm3_7.0-1_amd64.deb"&gt;gdb-cortexm3_7.0-1_amd64.deb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://media.vehq.ru/ubuntu/insight-cortexm3_6.8-1_amd64.deb"&gt;insight-cortexm3_6.8-1_amd64.deb&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>stm32-devb</title><link>https://vehq.ru/ru/blog/2009/stm32-devb/</link><pubDate>Mon, 23 Nov 2009 19:43:57 +0300</pubDate><guid>https://vehq.ru/ru/blog/2009/stm32-devb/</guid><description>&lt;p&gt;Начал изучать МК от ST Microelectronics — STM32.
А т.к. дешевых готовых отладочных плат для STM32F107VCT8 нет, то пришлось поработать самому.&lt;/p&gt;
&lt;p&gt;На плате:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;USB OTG 2.0 Full Speed (12 MiB/s)&lt;/li&gt;
&lt;li&gt;Ethernet 10/100 PHY на микросхеме LAN8700 подключенной по интерфейсу MII&lt;/li&gt;
&lt;li&gt;JTAG&lt;/li&gt;
&lt;li&gt;52 IO на общем разъеме&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/stm32-devb/stm32-devb.brd.png"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/stm32-devb/stm32-devb.brd.png" width="606" height="475" alt="PCB" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Теперь осталось дождаться производства, собрать и тестить.&lt;/p&gt;
&lt;p&gt;Скачать проект можно там: &lt;a href="http://hg.vehq.ru/stm32-devb/"&gt;http://hg.vehq.ru/stm32-devb/&lt;/a&gt;&lt;/p&gt;</description></item><item><title>TermiTiger #5: Платформа готова</title><link>https://vehq.ru/ru/blog/2009/termitiger-5-platforma-gotova/</link><pubDate>Thu, 22 Oct 2009 23:17:31 +0400</pubDate><guid>https://vehq.ru/ru/blog/2009/termitiger-5-platforma-gotova/</guid><description>&lt;p&gt;Робот готов. Привозил на недавно прошедший Фестиваль Науки в Политехническом музее.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/UmHECAnEVK4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;

&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube-nocookie.com/embed/SywFfl6DIPM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;</description></item><item><title>Автоматизация сборки документации для Mercurial</title><link>https://vehq.ru/ru/blog/2009/avtomatizaciya-sborki-dokumentacii-dlya-mercurial/</link><pubDate>Sun, 20 Sep 2009 17:09:34 +0400</pubDate><guid>https://vehq.ru/ru/blog/2009/avtomatizaciya-sborki-dokumentacii-dlya-mercurial/</guid><description>&lt;p&gt;Поделюсь маленьким скриптом для автоматизации сборки документации doxygen&amp;rsquo;ом.&lt;/p&gt;
&lt;p&gt;Вот он (&lt;a href="https://vehq.ru/ru/blog/2009/avtomatizaciya-sborki-dokumentacii-dlya-mercurial/hgupdox.sh"&gt;скачать&lt;/a&gt;):&lt;/p&gt;
&lt;pre&gt;&lt;code class="bash"&gt;#!/bin/sh 
# $1 - path to working directory 
# $2 - out dir 

WD=$1
OUT=$2
LOG=$3
# check in
[[ -z $WD || -z $OUT ]] &amp;&amp; return 2

# $1 — link addr
# $2 — link name
upln() { 
	[[ -L "$2" ]] &amp;&amp; rm -f "$2"
	ln -s "$1" "$2" 
} 

# == Main ==
cd $WD || exit 1

# pulling up
hg pull -u || exit 1
# get revision &amp; tag
Rev="$(hg identify -n):$(hg identify -i)"
Tag="$(hg identify -t)" 

# There is no doxygen config
[[ -f $PWD/Doxyfile ]] || ( 
	echo "No Doxyfile"; 
	exit 0 
) 

# prepare Doxyfile
Doxyfile=`mktemp ./Doxyfile-tmp.XXXX`
DoxOut=$PWD/doc/doxygen 
sed "s/^\(PROJECT_NUMBER.*=.*\)/\1 rev. $Rev/" $PWD/Doxyfile &gt; $Doxyfile

# Clean prevoius build
[[ -d $DoxOut ]] &amp;&amp; ( 
	rm -rf $DoxOut
)

# build
doxygen $Doxyfile || (
	rm -f $Doxyfile;
	exit 3
)

# rm temp Doxyfile
rm -f $Doxyfile

# try to compile pdf doc
[[ -d $DoxOut/latex ]] &amp;&amp; (
# make -C $DoxOut/latex
# mv $DoxOut/latex/refman.pdf $DoxOut
# # LaTeX sources not needed
	rm -rf $DoxOut/latex
)

[[ -f $LOG ]] &amp;&amp; (
	local rt="$Rev"
	[[ -n $Tag ]] &amp;&amp; rt="$rt ($Tag)"
	echo "`date`: Create documentation" \
			" for $WD rev. $rt" &gt;&gt; $LOG
)

# copy work
mkdir "$OUT/$Rev" || exit 4
cp -R $PWD/doc/doxygen/* "$OUT/$Rev" || exit 4

# create tag symlink
[[ -n $Tag ]] &amp;&amp; (
	upln "$OUT/$Rev" "$OUT/$Tag"
)

# TODO: Clean old

exit 0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;</description></item><item><title>ORFA</title><link>https://vehq.ru/ru/blog/2009/orfa/</link><pubDate>Thu, 14 May 2009 04:45:08 +0400</pubDate><guid>https://vehq.ru/ru/blog/2009/orfa/</guid><description>&lt;p&gt;Для работы с шлюз-контроллером TermiTiger&amp;rsquo;а написал новую прошивку.
Первоначальный синтаксис команд взят из проекта &lt;a href="http://www.tty1.net/userial/"&gt;userial&lt;/a&gt;, за тем упрощен (отброшены лишние операции).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Документация: &lt;a href="http://roboforum.ru/wiki/ORFA"&gt;http://roboforum.ru/wiki/ORFA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Исходный код: hg clone &lt;a href="http://hg.vehq.ru/orfa/"&gt;http://hg.vehq.ru/orfa/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Лицензия: MIT, некоторые файлы взяты из userial&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="pyor"&gt;PyOR&lt;/h2&gt;
&lt;p&gt;Для работы с ПК написана библиотека для питона и
в качестве теста &lt;a href="http://roboforum.ru/viewtopic.php?f=69&amp;amp;t=5890&amp;amp;p=96734&amp;amp;hilit=qtiger#p96734"&gt;простой гуй для управления танком&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Документация: &lt;a href="http://roboforum.ru/wiki/PyOR"&gt;http://roboforum.ru/wiki/PyOR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Исходный код: hg clone &lt;a href="http://hg.vehq.ru/pyor/"&gt;http://hg.vehq.ru/pyor/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Лицензия: MIT&lt;/li&gt;
&lt;li&gt;Зависит от &lt;a href="http://pyserial.wiki.sourceforge.net/pySerial"&gt;pySerial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Опциональная зависимость: &lt;a href="http://www.pygame.org/news.html"&gt;pygame&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;В дистрибутив входит две утилиты:&lt;/p&gt;
&lt;h3 id="orintropy"&gt;orintro.py&lt;/h3&gt;
&lt;p&gt;Это утилита для загрузки информации о доступных драйверах (интроспекции)&lt;br/&gt;
orintro.py [-d] [-b 115200] [-a 20] /dev/ttySn&lt;/p&gt;</description></item><item><title>TermiTiger #4: сборка платформы</title><link>https://vehq.ru/ru/blog/2009/termitiger-4-sborka-platformi/</link><pubDate>Thu, 23 Apr 2009 20:37:59 +0400</pubDate><guid>https://vehq.ru/ru/blog/2009/termitiger-4-sborka-platformi/</guid><description>&lt;p&gt;Довольно долго искал способ компоновки модулей, чтоб и они влезли и башня осталась.
В итоге башня осталась, но не вся: пушка слишком сильно выдается вниз, поэтому башня будет не родная, от родной останется только поворотый механизм.&lt;/p&gt;
&lt;p&gt;Обжал разъём для RoboMD2, пришлось поработать дремелем, чтоб село.
Приклеил плату ДД термоклеем, винты крутить просто некуда.&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-4-sborka-platformi/pict3115.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-4-sborka-platformi/pict3115_hu_da88e6b62f492ced.jpg" width="900" height="675" alt="pict3115" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;У модуля ДД пришлось выпаять конденсатор и повесить его на проводах:&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-4-sborka-platformi/pict3116.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-4-sborka-platformi/pict3116_hu_81e8aaafc0f06c2a.jpg" width="900" height="675" alt="pict3116" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Укоротил провода от моторов:&lt;/p&gt;</description></item><item><title>TermiTiger #3: разбираем танк</title><link>https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/</link><pubDate>Thu, 23 Apr 2009 15:03:48 +0400</pubDate><guid>https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/</guid><description>&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3108.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3108_hu_523ba4b11d89ead0.jpg" width="900" height="675" alt="pict3108" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Аккуратно расцепляем гусеницы и снимаем с катков:&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3109.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3109_hu_ff26526b0d9c47c1.jpg" width="900" height="675" alt="pict3109" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Откручиваем шурупы над катками:&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3110.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3110_hu_503e6bc4214b306c.jpg" width="900" height="675" alt="pict3110" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Раскручиваем блок приёмника, отцепляем все провода.
Блок больше не потребуется.&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3111.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3111_hu_79269faba5efe4b8.jpg" width="900" height="675" alt="pict3111" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Блок приёмника крупным планом:
H-мосты сделаны на биполярных транзисторах B772.&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3112.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3112_hu_f6bf07b65e275e90.jpg" width="900" height="675" alt="pict3112" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Провода питания и моторов вытаскиваем из разьемов, и зажимаем в разъёмах OR.
Верхнюю часть убираем, она еще потребуется.
На фото тест драйвера двигателей:&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3113.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3113_hu_d6333ef579de16f1.jpg" width="900" height="675" alt="pict3113" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Сообщения терминала:&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3114.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-3-razbiraem-tank/pict3114_hu_f56a4c70c481afe0.jpg" width="900" height="675" alt="pict3114" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>TermiTiger #2</title><link>https://vehq.ru/ru/blog/2009/termitiger-2/</link><pubDate>Mon, 20 Apr 2009 21:54:09 +0400</pubDate><guid>https://vehq.ru/ru/blog/2009/termitiger-2/</guid><description>&lt;p&gt;Продолжаю собирать бота.
Сегодня съездил в &lt;a href="http://www.brownbear.ru/"&gt;Бурый Медведь&lt;/a&gt; за разъемами и шлейфом, у них значительно дешевле чем в чип-дипе.&lt;/p&gt;
&lt;p&gt;Решил не искать IDC-12 для RoboMD2, а поработать дремелем.
С помощью алмазной цилиндрической насадки я аккуратно сточил боковую стенку, чтобы туда вошел IDC-14 шлейф.&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-2/pict3105.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-2/pict3105_hu_a70494c3152ede49.jpg" width="900" height="675" alt="pict3105" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-2/pict3106.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-2/pict3106_hu_f8e2f8812e551dde.jpg" width="900" height="675" alt="pict3106" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger-2/pict3107.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger-2/pict3107_hu_2bb7fa2edbabcb90.jpg" width="900" height="675" alt="pict3107" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>TermiTiger</title><link>https://vehq.ru/ru/blog/2009/termitiger/</link><pubDate>Sun, 19 Apr 2009 14:04:38 +0400</pubDate><guid>https://vehq.ru/ru/blog/2009/termitiger/</guid><description>&lt;p&gt;Ко мне наконец пришли модули &lt;a href="http://roboforum.ru/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Open_Robotics"&gt;Open Robotics&lt;/a&gt;.
Начал собирать материалы для постройки бота на гусенечной платформе.&lt;/p&gt;
&lt;p&gt;Саму платформу — модель &lt;a href="http://www.pilotage-rc.ru/catalogue/10_/10_30/RC9387/"&gt;танка Тигр 1:24&lt;/a&gt; купил на новый год в пилотаже, обошлась примерно в $100 (с учетом скидки).&lt;/p&gt;
&lt;p&gt;Неожиданностью оказалось отсутствие в магазинах разьемов IDC-12 на шлейф,
которые необходимы для связи &lt;a href="http://roboforum.ru/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8_Open_Robotics_%D0%B8_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA_%D0%BD%D0%B8%D0%BC"&gt;OR-AVR-M32-D&lt;/a&gt; с &lt;a href="http://roboforum.ru/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D0%B8_Open_Robotics_%D0%B8_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F_%D0%BA_%D0%BD%D0%B8%D0%BC"&gt;OR-MD2-2A-12V-CP&lt;/a&gt;, пока немного застопорился на их покупке.&lt;/p&gt;
&lt;p&gt;Модули и платформа:&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger/pict3102.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger/pict3102_hu_568611041d4b3e66.jpg" width="900" height="675" alt="pict3102" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger/pict3103.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger/pict3103_hu_8cd812389b42fe4b.jpg" width="900" height="675" alt="pict3103" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="figure" href="https://vehq.ru/ru/blog/2009/termitiger/pict3104.jpg"&gt;&lt;img src="https://vehq.ru/ru/blog/2009/termitiger/pict3104_hu_9dfc41999dd41b9f.jpg" width="900" height="675" alt="pict3104" loading="lazy" decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>HgAdmin — админка для хранилищ Mercurial</title><link>https://vehq.ru/ru/blog/2009/hgadmin-admin-tools-for-mercurial-repos/</link><pubDate>Thu, 12 Mar 2009 08:25:52 +0300</pubDate><guid>https://vehq.ru/ru/blog/2009/hgadmin-admin-tools-for-mercurial-repos/</guid><description>&lt;p&gt;Собственно начал писать это приложение по сходу кучки случайностей.
После какого-то обновления world&amp;rsquo;а мое репо стало глючить на push&amp;rsquo;е.
Долго руки не доходили, пару дней назад наконец дошли.&lt;/p&gt;
&lt;p&gt;А за одно решил перевести с cgi на wsgi.
И, конечно же, сразу работать оно не захотело&amp;hellip;
Это сподвигло меня перечитать документацию к mod_wsgi.&lt;/p&gt;
&lt;p&gt;А там я заметил http-аутентификацию через wsgi скрипт, а за одно &lt;a href="http://code.google.com/p/modwsgi/wiki/AccessControlMechanisms"&gt;рыбу для работы с джангой&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Это мня заинтересовало.
Поигрался с правами на запись в репы из пользователей джанги и уже захотелось большего:
например менять allow_push в hgrc из той же админки. Так и появилось это маленькое приложение :)&lt;/p&gt;</description></item><item><title>Toshiba Satellite A300 + Linux + Bluetooth</title><link>https://vehq.ru/ru/blog/2009/toshiba-satellite-a300-linux-bluetooth/</link><pubDate>Sun, 08 Mar 2009 16:31:24 +0300</pubDate><guid>https://vehq.ru/ru/blog/2009/toshiba-satellite-a300-linux-bluetooth/</guid><description>&lt;p&gt;Этот пост скорее заметка для себя.
Посвящен проблеме включения bluetooth-модуля ноутбука Toshiba Satellite A300 в линуксе.
Аналогичное решение для U300 было найдено в гугле и изменено под себя, а ссылку куда-то потерял.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Нужно установить модуль &lt;a href="http://sourceforge.net/projects/omnibook"&gt;omnibook&lt;/a&gt;.
Для суси: &lt;code&gt;sudo zypper si omnibook&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Потом наложить патч: &lt;a href="https://vehq.ru/ru/blog/2009/toshiba-satellite-a300-linux-bluetooth/omnibook-add-toshiba-satellite-a300.diff"&gt;omnibook-add-toshiba-satellite-a300.diff&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; --- omnibook-2.20080627/laptop.h.orig 2009-02-08 19:13:11.000000000 +0300 
 +++ omnibook-2.20080627/laptop.h 2009-02-08 19:18:55.000000000 +0300 
 @@ -637,6 +637,15 @@ 
 }, 
 { 
 .callback = dmi_matched, 
 + .ident = &amp;quot;Toshiba Satellite A300&amp;quot;, 
 + .matches = {
 + DMI_MATCH(DMI_SYS_VENDOR, &amp;quot;TOSHIBA&amp;quot;),
 + DMI_MATCH(DMI_PRODUCT_NAME, &amp;quot;Satellite A300&amp;quot;),
 + },
 + .driver_data = (void*) TSM70
 + },
 + {
 + .callback = dmi_matched,
 .ident = &amp;quot;Toshiba Satellite P100&amp;quot;,
 .matches = {
 DMI_MATCH(DMI_SYS_VENDOR, &amp;quot;TOSHIBA&amp;quot;),
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Собрать и установить.&lt;/p&gt;</description></item><item><title>Соединяем последовательный порт и Jabber — xmpp2serial</title><link>https://vehq.ru/ru/blog/2009/soedinyaem-posledovatelnyj-port-i-jabber-xmpp2serial/</link><pubDate>Sat, 21 Feb 2009 22:40:16 +0300</pubDate><guid>https://vehq.ru/ru/blog/2009/soedinyaem-posledovatelnyj-port-i-jabber-xmpp2serial/</guid><description>&lt;p&gt;По просьбе &lt;a href="http://roboforum.ru/memberlist.php?mode=viewprofile&amp;amp;u=32"&gt;EdGull&amp;rsquo;а&lt;/a&gt; написал jabber-бота для проброса последовательного порта в джаббер.&lt;/p&gt;
&lt;p&gt;Jabber бота писал впервые, так что мог наделать ошибок. За основу взял &lt;a href="http://xmpppy.sourceforge.net/examples/bot.py"&gt;bot.py&lt;/a&gt; из состава &lt;a href="http://xmpppy.sourceforge.net/"&gt;&lt;code&gt;xmpppy&lt;/code&gt;&lt;/a&gt;.
Для работы с последовательным портом — &lt;a href="http://pyserial.wiki.sourceforge.net/pySerial"&gt;&lt;code&gt;pyserial&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Получить исходники можно так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ hg clone http://hg.vehq.ru/xmpp2serial/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Либо скачать &lt;a href="http://hg.vehq.ru/xmpp2serial/archive/tip.zip"&gt;архив&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Запускать например так:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$ ./xmpp2serial.py -c /dev/rfcomm0 -b 115200 -f roboforum@jabber.ru -p ***** -t vovan341@jabber.ru
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Обновление блога</title><link>https://vehq.ru/ru/blog/2009/blog-update/</link><pubDate>Sat, 24 Jan 2009 08:55:31 +0300</pubDate><guid>https://vehq.ru/ru/blog/2009/blog-update/</guid><description>&lt;p&gt;Обновить byteflow хотел давно, еще с включения питона 2.6 в арче, но все руки не доходили&amp;hellip;
После &lt;a href="http://piranha.org.ua/blog/2008/11/28/blog-redesign/"&gt;редизайна блога piranha&amp;rsquo;и&lt;/a&gt; &lt;em&gt;(тема &lt;code&gt;mirev&lt;/code&gt;)&lt;/em&gt; желание обновиться стало еще больше.
Убийцей лени стал &lt;code&gt;mysqldump&lt;/code&gt;.
Дамп блога оказался размером ни много, не мало 45 &lt;a href="http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B1%D0%B8%D0%B1%D0%B0%D0%B9%D1%82"&gt;МиБ&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Причина была в спаме, защита от которого была выключена.
И хоть на глагне он не прорывался, но оседал в БД.
Пять с лишнем тысяч комментариев.
Пришлось их вычищать несколькими запросами к базе, могли потереться и нормальные комментарии &lt;em&gt;(но таких не замечено :)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Python 2.6 в арче!</title><link>https://vehq.ru/ru/blog/2008/python-26-v-arche/</link><pubDate>Sun, 02 Nov 2008 10:14:45 +0300</pubDate><guid>https://vehq.ru/ru/blog/2008/python-26-v-arche/</guid><description>&lt;p&gt;Сегодня арч меня порадовал:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;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]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Что же, пора проверять все ли у меня работает&amp;hellip;&lt;/p&gt;</description></item><item><title>Сборка linuxdcpp для работы с корбиной</title><link>https://vehq.ru/ru/blog/2008/sborka-linuxdcpp-dlya-raboty-s-korbinoj/</link><pubDate>Sun, 26 Oct 2008 12:09:28 +0300</pubDate><guid>https://vehq.ru/ru/blog/2008/sborka-linuxdcpp-dlya-raboty-s-korbinoj/</guid><description>&lt;p&gt;Я давненько не заходил на локальные хабы.
Вообще не пользовался DC.&lt;/p&gt;
&lt;p&gt;В районный хаб вошёл без проблем, а вот централный выкидывал без видимых причин.
На форуме нашёл &lt;a href="http://kagdila.blogspot.com/2008/10/corbina-dc-dc-2.html"&gt;патч&lt;/a&gt; для &lt;code&gt;linuxdcpp&lt;/code&gt; версии 1.0.2. В арче сейчас версия 1.0.1.
Написал &lt;code&gt;PKGBUILD&lt;/code&gt; на основе оригинального. Решил не выкладывать в AUR.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://media.vehq.ru/uploads/linuxdcpp/linuxdcpp-sharp.tar.bz2"&gt;PKGBUILD+corbina.patch+linuxdcpp.desktop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://media.vehq.ru/uploads/linuxdcpp/linuxdcpp-sharp-1.0.2-1-i686.pkg.tar.gz"&gt;linuxdcpp-sharp-1.0.2-1-i686.pkg.tar.gz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>phpBB3 highlight.js mod 1.0.0</title><link>https://vehq.ru/ru/blog/2008/phpbb3-highlightjs-mod-100/</link><pubDate>Tue, 14 Oct 2008 01:38:55 +0400</pubDate><guid>https://vehq.ru/ru/blog/2008/phpbb3-highlightjs-mod-100/</guid><description>&lt;p&gt;&lt;a href="http://softwaremaniacs.org/blog/2008/03/21/highlightjs-40-beta/#comment-28927"&gt;Ближайшее время&lt;/a&gt; тихо и незаметно настало спустя 7 месяцев.&lt;/p&gt;
&lt;p&gt;Версия hljs 4.5, phpBB 3.0.2.&lt;/p&gt;
&lt;p&gt;Изменения в основном коснулись файлов стилей.&lt;/p&gt;
&lt;p&gt;Патч к оригинальному hljs:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;--- highlight.js	2008-10-07 12:49:45.000000000 +0400
+++ highlight-4.5.js	2008-10-13 21:43:12.000000000 +0400
@@ -466,6 +466,7 @@
 this.ALL_LANGUAGES = ALL_LANGUAGES;
 this.initHighlightingOnLoad = initHighlightingOnLoad;
 this.highlightBlock = highlightBlock;
+ this.initHighlighting = initHighlighting;
 
 // Common regexps
 this.IDENT_RE = '[a-zA-Z][a-zA-Z0-9_]*';
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="http://media.vehq.ru/uploads/highlight.js_1.0.0.zip"&gt;Скачать&lt;/a&gt;&lt;/p&gt;</description></item><item><title>MiniBot serial controlled</title><link>https://vehq.ru/ru/blog/2008/minibot-serial-conntrolled/</link><pubDate>Thu, 21 Aug 2008 17:40:47 +0400</pubDate><guid>https://vehq.ru/ru/blog/2008/minibot-serial-conntrolled/</guid><description>&lt;p&gt;Делаю порт прошивки &lt;a href="http://roboforum.ru/wiki/%D0%A8%D0%BB%D1%8E%D0%B7-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80_GATE-A8D8M2"&gt;шлюз-контроллера&lt;/a&gt; от &lt;a href="http://roboforum.ru/memberlist.php?mode=viewprofile&amp;amp;u=5"&gt;Деада&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Для разработки использую &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt; с &lt;a href="http://avr-eclipse.sourceforge.net/"&gt;плагином для AVR&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Пока не починил свое репо, размещаюсь на &lt;a href="https://bitbucket.org/vooon/minibot-sercontrol/"&gt;bitbucket.org&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hg clone https://bitbucket.org/vooon/minibot-sercontrol/
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Bootloader для MiniBot'а</title><link>https://vehq.ru/ru/blog/2008/bootloader-dlya-minibot/</link><pubDate>Sun, 20 Apr 2008 22:27:39 +0400</pubDate><guid>https://vehq.ru/ru/blog/2008/bootloader-dlya-minibot/</guid><description>&lt;p&gt;Сделал бутлоадер для &lt;a href="http://minibot.ru/"&gt;минибота&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;За основу взял &lt;a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/#avrprog_boot"&gt;AVRPROG compatible bootloader for ATMEL ATmega Controllers&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.siwawi.arubi.uni-kl.de/avr_projects/avrprog_boot_v0_83_20080412.zip"&gt;версию 0.83 от 2008-04-12&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Исходные коды и прошивка настроенного загрузчика находится в в &lt;a href="http://hg.vehq.ru/minibot-bootloader/"&gt;моем меркуриал-репозитории&lt;/a&gt;&lt;br&gt;
Ссылка на скачивание прошивки: &lt;a href="http://hg.vehq.ru/minibot-bootloader/raw-file/6780924e1d63/main.hex"&gt;ревизия 1:6780924e1d63&lt;/a&gt; &lt;em&gt;(лучше зайдите в репозиторий и скачайте main.hex)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Чтобы получить последнюю версию исходников:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hg clone http://hg.vehq.ru/minibot-bootloader/
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id="параметры-загрузчика"&gt;Параметры загрузчика:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Микроконтроллер: ATMega32&lt;/li&gt;
&lt;li&gt;Тактовая частота: 8 МГц от внутреннего RC&lt;/li&gt;
&lt;li&gt;Размер загрузочной области: 1024 Б (512 слов)&lt;/li&gt;
&lt;li&gt;Программатор: &lt;a href="http://www.atmel.com/dyn/resources/prod_documents/doc1644.pdf" title="Документация на AVR109"&gt;AVR109&lt;/a&gt;, &lt;a href="http://www.atmel.com/dyn/resources/prod_documents/doc2568.pdf" title="Документация на AVR911"&gt;AVR911&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Параметры для подключения: 9600 8N1&lt;/li&gt;
&lt;li&gt;Загрузчик в течение 1-ой секунды ждет символ &lt;code&gt;'S'&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="как-работает-загрузчик"&gt;Как работает загрузчик?&lt;/h2&gt;
&lt;p&gt;После запуска МК ждет в течении одной секунды символ &lt;code&gt;'S'&lt;/code&gt;&lt;br&gt;
Если дожидается, то переходит в режим программирования, протокол совместим с протоколом AVR109/AVR911&lt;br&gt;
Если не дожидается, то переходит по адресу &lt;code&gt;0000h&lt;/code&gt; т.е. на адрес по которому в режиме без загрузчика находится вектор &lt;strong&gt;RESET&lt;/strong&gt;, т.е. ваша программа и не заметит наличие бутлоадера,
разве что вы потеряете 1 КБ флеша.&lt;/p&gt;</description></item><item><title>Mercurial и MiniBot-Lib</title><link>https://vehq.ru/ru/blog/2008/mercurial-i-minibot-lib/</link><pubDate>Fri, 18 Apr 2008 23:49:00 +0400</pubDate><guid>https://vehq.ru/ru/blog/2008/mercurial-i-minibot-lib/</guid><description>&lt;p&gt;Постепенно перехожу с &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt;(svn) на &lt;a href="http://www.selenic.com/mercurial/wiki/"&gt;Mercurial&lt;/a&gt;(hg).
Кратко mercurial это распределенная система контроля версий нового поколения.&lt;/p&gt;
&lt;p&gt;Библиотеку для МиниБота я решил изначально держать под контролем меркуриала
и сегодня захостил &lt;a href="http://hg.vehq.ru/minibot-lib/"&gt;репозиторий&lt;/a&gt; в интернете.&lt;/p&gt;
&lt;p&gt;Чтобы получить копию:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;hg clone http://hg.vehq.ru/minibot-lib/
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Первый пост</title><link>https://vehq.ru/ru/blog/2008/pervyj-post/</link><pubDate>Mon, 07 Apr 2008 16:09:33 +0400</pubDate><guid>https://vehq.ru/ru/blog/2008/pervyj-post/</guid><description>&lt;p&gt;Это первый пост моего блога, в котором буду писать о разных интересующих меня вещах.&lt;/p&gt;
&lt;h3 id="немного-об-этом-блоге"&gt;Немного об этом блоге:&lt;/h3&gt;
&lt;p&gt;Движек &lt;a href="http://byteflow.su/"&gt;Byteflow&lt;/a&gt;, работает в веб-фреймворке &lt;a href="http://djangoproject.com/"&gt;Django&lt;/a&gt;,
а написана вся эта прелесть на &lt;a href="http://python.org/"&gt;питоне&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Посты дублируются в &lt;a href="http://vooon.livejournal.com/"&gt;ЖЖ&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>