Технический форум по робототехнике.
blindman » 22 сен 2009, 07:50
Ничего не поменялось, компилируй как и раньше
Vooon » 22 сен 2009, 08:00
Удали старый local_config.mk.
После чего будет собрана дефолтная прошивка под OR-AVR-M32-D.
Посмотри новый local_config.mk
Vooon » 10 окт 2009, 19:58
Обнаружил проблему: если одновременно включены драйвера 0x31 (серво) и 0x40 (ацп)
то сервы начинают дрожать.
blindman » 21 окт 2009, 10:20
2Vooon: а какое практическое назначение кода в файле i2c.c? Что-то я не вижу там реализации слэйва.
Добавлено спустя 2 часа 53 минуты 21 секунду:Vooon писал(а):если одновременно включены драйвера 0x31 (серво) и 0x40 (ацп) то сервы начинают дрожать.
Предлагаю АЦП опрашивать не по прерываниям, а в основном цикле - добавить задание планировщику. Для OR-AVR-M128-S, впрочем, можно оставить и на прерываниях.
Добавлено спустя 34 минуты 29 секунд:А это ещё чего?
- Код: Выделить всё • Развернуть
andrey@debian:~/Projects/OpenRobotics/Firmware/orfa$ hg push
pushing to http://hg.vehq.ru/orfa/
searching for changes
abort: push creates new remote heads!
(did you forget to merge? use push -f to force)
andrey@debian:~/Projects/OpenRobotics/Firmware/orfa$
Vooon » 21 окт 2009, 12:50
В
serialgate/i2c.{c,h} только мастер.
Эта библиотека(libserialgate.a) только для организации
UART -> I2C MasterДля слейва потребуется отдельная библиотека.
Да, я так и думал сделать, благо шедулер теперь работает.
Это из-за создания новых бранчей.
hg branch (должен быть default)
hg pull -uf (получить обновления, вместе с бранчами)
Если ты еще не делал комитов, то можно просто начать редактировать.
Иначе потребуется hg merge. Во всяком случае смотри hg heads
hg push (-f потребуется, если ты создал новый бранч)
Добавлено спустя 1 минуту 5 секунд:- Код: Выделить всё • Развернуть
vovan@dezinto:~/src/orfa$ hg heads
changeset: 184:88e5081a2749
tag: tip
parent: 182:01e97b549b5c
user: Vladimir Ermakov <vooon341@gmail.com>
date: Thu Oct 08 23:09:48 2009 +0400
summary: ports: Masked wtire, driver version 1.1
changeset: 183:726bb5666112
branch: termitiger
parent: 179:6559dbb4a367
parent: 182:01e97b549b5c
user: Vladimir Ermakov <vooon341@gmail.com>
date: Tue Sep 22 08:27:14 2009 +0400
summary: merge
changeset: 181:71161a38d0f2
branch: module-autoload
parent: 175:7de633030719
user: Vladimir Ermakov <vooon341@gmail.com>
date: Tue Sep 22 00:16:42 2009 +0400
summary: close module-autoload branch
blindman » 21 окт 2009, 13:10
Ничего не понял. Вот я сделаю сейчас clone. Поменяю пару файлов. Потом что делать?
Vooon » 21 окт 2009, 18:27
hg ci
hg push
blindman » 21 окт 2009, 18:28
Так и делаю. В результате получаю то что показывал выше
Vooon » 22 окт 2009, 09:09
- Код: Выделить всё • Развернуть
vovan@dezinto:~$ cd /tmp
vovan@dezinto:/tmp$ hg clone http://hg.vehq.ru/orfa
destination directory: orfa
requesting all changes
adding changesets
adding manifests
adding file changes
added 186 changesets with 543 changes to 135 files (+1 heads)
updating working directory
70 files updated, 0 files merged, 0 files removed, 0 files unresolved
vovan@dezinto:/tmp$ cd orfa
vovan@dezinto:/tmp/orfa$ vim main.c
vovan@dezinto:/tmp/orfa$ hg st
M main.c
vovan@dezinto:/tmp/orfa$ hg branch
default
vovan@dezinto:/tmp/orfa$ hg ci -m "Add comments"
created new head
vovan@dezinto:/tmp/orfa$ hg heads
changeset: 186:c50d66149939
tag: tip
parent: 184:88e5081a2749
user: Vladimir Ermakov <vooon341@gmail.com>
date: Thu Oct 22 08:47:42 2009 +0400
summary: Add comments
changeset: 185:cb1c43cca231
branch: termitiger
parent: 183:726bb5666112
parent: 184:88e5081a2749
user: Vladimir Ermakov <vooon341@gmail.com>
date: Thu Oct 08 23:13:10 2009 +0400
summary: merge
changeset: 181:71161a38d0f2
branch: module-autoload
parent: 175:7de633030719
user: Vladimir Ermakov <vooon341@gmail.com>
date: Tue Sep 22 00:16:42 2009 +0400
summary: close module-autoload branch
vovan@dezinto:/tmp/orfa$ hg st
vovan@dezinto:/tmp/orfa$ hg push
pushing to http://hg.vehq.ru/orfa
searching for changes
http authorization required
realm: Vooon's repository
user: vooon
password:
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
vovan@dezinto:/tmp/orfa$ hg version
Mercurial Distributed SCM (version 1.3.1)
Copyright (C) 2005-2009 Matt Mackall <mpm@selenic.com> and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
vovan@dezinto:/tmp/orfa$
Добавлено спустя 20 минут 35 секунд:Похоже, что в более старых версиях если добавляется новая голова, нужно добавлять -f
blindman » 22 окт 2009, 09:32
Начал заниматься реализацией I2C slave
blindman » 03 ноя 2009, 17:10
2Vooon: подзапутался я что-то. Можешь обрисовать связь между main, serialgate и i2c в текущей прошивке?
Vooon » 03 ноя 2009, 21:40
В serialgate (sg) находится разбор команд из USART, их выполнение (вызов ф-ций из i2c) и библиотека I2C-мастера с перехватом функций start/write/read/stop на определенном адресе.
В main находятся перехватчики i2c, инициализация (устанавливает перехватчики, инит. sg, устанавливает главную задачу sg).
blindman » 17 ноя 2009, 19:03
Добавил I2C slave. На железе ещё не тестировал. Дальнейшие планы - тестирование и перенос всех функций I2C в один модуль. Сейчас для мастера (serialgate) и слэйва (i2cslave) используются 2 разных файла.
Добавлено спустя 2 часа 7 секунд:
Думаю, надо отделить код, непосредственно взаимодействующий с устройствами, от ORFA-интерфейсов. Получим библиотеку, которую можно применять в автономных системах не использующих ORFA, и которая будет развиваться вместе с ORFA. Так я уже сделал с драйвером серв для OR-AVR-M128-S.
Vooon » 17 ноя 2009, 19:46
Да, это хорошая идея, сделать hal.
blindman » 21 ноя 2009, 13:46
Добавил автоопределение скорости последовательного порта.
В local_config.mk пишем:
- Код: Выделить всё • Развернуть
BAUD = B_AUTO
Компилируем.
Для автоопределения скорости необходимо сразу после старта контроллера 8 раз без перерывов передать 0x0D, после чего сделать паузу минимум 10 мс.
Определяются скорости 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76800, 115200 бит/с