roboforum.ru

Технический форум по робототехнике.

Обсуждение реализации шлюз-контроллера [ORFA]

Правила форума
Правила раздела OpenRobotics

Re: Обсуждение реализации шлюз-контроллера [ORFA]

blindman » 20 сен 2009, 13:12

Надо бы кодировку в графах поправить, или совсем графы убрать, а то крякозябры на картинках

Re: Обсуждение реализации шлюз-контроллера [ORFA]

Vooon » 20 сен 2009, 17:54

Документация генерится на сервере автоматом.
Думаю сетар просто не поставил русские шрифты.

————
Кому-нибудь может пригодится:
Нужен скрипт http://media.vehq.ru/doxygen/hgupdox.sh

А в .hg/hgrc репа пишем:
Код: Выделить всёРазвернуть
[hooks]
changegroup =
changegroup.hgupdox = /path/to/hgupdox.sh  /path/to/.sources/project /path/to/doxygen/project /path/to/logs/hgupdox.log &


Понадобится еще одно репо (рабочая копия) /path/to/.sources/project
И каталог, куда будет складываться документация /path/to/doxygen/project
Также можно вести лог, но не обязательно.

Добавлено спустя 46 минут 34 секунды:
Подумал и написал псто в блог про это... :)

Re: Обсуждение реализации шлюз-контроллера [ORFA]

blindman » 20 сен 2009, 18:07

Vooon, а какой смысл было делать драйвера для пушки и башни? Да ещё и жёстко к портам привязывать. Это же специализированные устройства, ИМХО не стоило их вносить в общую сборку, даже если они по умолчанию отключены. Этак мы начнём для всего подряд драйвера писать. Возможно, имеет смысл тебе вынести свои специфические драйвера в отдельный проект? А resolv.mk от них если тебе нужно подхватывать в local_config.mk

Re: Обсуждение реализации шлюз-контроллера [ORFA]

=DeaD= » 20 сен 2009, 18:11

+1

Re: Обсуждение реализации шлюз-контроллера [ORFA]

Vooon » 20 сен 2009, 18:16

Да, я хотел их в отдельную ветку, но пока было лениво разбираться как это правильно сделать.
А толку выносить из resolv.mk, если от main.c не уйти?

Re: Обсуждение реализации шлюз-контроллера [ORFA]

blindman » 20 сен 2009, 18:25

Значит надо сделать механизм подключения драйверов без правки main.c ;)

Re: Обсуждение реализации шлюз-контроллера [ORFA]

Vooon » 20 сен 2009, 19:42

Надо, это точно. Сейчас пытаюсь нарыть инфу как лучше делать ветки.

Добавлено спустя 20 минут 29 секунд:
Так, вроде получилось: http://hg.vehq.ru/orfa/graph/tip

Добавлено спустя 48 минут 43 секунды:
Что-то не представляю как это сделать.
Разве что через __attribute__ ((section (".init8"))), но так делать не хочу.
Очень уж черная магия получается...

Re: Обсуждение реализации шлюз-контроллера [ORFA]

blindman » 21 сен 2009, 08:32

А по-моему, вполне нормально. А чёрная ... Ну можно и в белый цвет перекрасить :)

Код: Выделить всёРазвернуть
/* driver.h */

#define DRIVER_INIT_FUNCTION(driver_name) void init_ ## driver_name ## _driver (void) \
        __attribute__ ((naked)) \
    __attribute__ ((section (".init8"))); \
    void init_ ## driver_name ## _driver (void)

#define SYSTEM_INIT_FUNCTION() void init_system(void) \
        __attribute__ ((naked)) \
    __attribute__ ((section (".init7"))); \
    void init_system(void)

Код: Выделить всёРазвернуть
/* main.c */

SYSTEM_INIT_FUNCTION()
{
    // код выполняемый до инициализации пользовательских драйверов
    // например инициализация ядра, стандартных драйверов, и т.п.
}

int main(void)
{
    // здесь только основной цикл
}

Код: Выделить всёРазвернуть
/* my_super_device.c */

DRIVER_INIT_FUNCTION(my_super_device)
{
    // инициализация пользовательского драйвера
}


Re: Обсуждение реализации шлюз-контроллера [ORFA]

Vooon » 21 сен 2009, 10:52

Так и сделал, только чуть имена изменил. На 300 байт пухлей вышло.
Теперь только переделать сборку...
Думаю вместо HAVE_$(driver) сделать массив DRIVERS.
Вопрос только как это сделать? :)

DRIVERS += ports
...
DRIVERS += canon

Re: Обсуждение реализации шлюз-контроллера [ORFA]

blindman » 21 сен 2009, 11:13

А зачем?

Re: Обсуждение реализации шлюз-контроллера [ORFA]

boez » 21 сен 2009, 11:52

Если canon - это то, что я думаю, то оно пишется cannon. А canon это канон (церковный) и марка фотоаппаратов :)

Re: Обсуждение реализации шлюз-контроллера [ORFA]

Vooon » 21 сен 2009, 14:26

Думаю такой способ проще для понимания, чем инклюды в local_config.mk делать.

черт, нужно спеллчекер настроить :)

Re: Обсуждение реализации шлюз-контроллера [ORFA]

blindman » 21 сен 2009, 14:50

Код: Выделить всёРазвернуть
# ...................
DRIVERS += motor
DRIVERS += canon
# ...................
include $(foreach driver,$(DRIVERS), drivers/$(driver)/resolv.mk)

Re: Обсуждение реализации шлюз-контроллера [ORFA]

Vooon » 22 сен 2009, 00:26

Сделал так.
Исправил сборку для OR-AVR-M128-S.
Добавил тэг 0.7.4.
(зря заводил ветку module-autoload, закрыл)

0.7.3 -> 0.7.4
* Изменен механизм загрузки драйверов
* Изменена система сборки
* Исправлена сборка под OR-AVR-M128-S

Re: Обсуждение реализации шлюз-контроллера [ORFA]

=DeaD= » 22 сен 2009, 07:40

Можно если коротко итоги - что поменялось для меня, если я сейчас захочу скомпилировать свежую прошивку?


Rambler\'s Top100 Mail.ru counter