roboforum.ru

Технический форум по робототехнике.
Текущее время: 09 май 2025, 00:00

Часовой пояс: UTC + 4 часа


Правила форума


Правила раздела OpenRobotics



Начать новую тему Ответить на тему  [ Сообщений: 497 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 34  След.
Автор Сообщение
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 19 май 2009, 20:16 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Пример! лениво в ман лезть :)

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 19 май 2009, 20:23 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Примерно так:


Makefile
Код:
ifeq "$(CONFIG_FILE)"  ""
    CONFIG_FILE = config.mak
endif
include $(CONFIG_FILE)
include resolve.mak



config.mak
Код:
VOS_TARGET = AVR128
SRC = test.c
EXE = VelaOS

VOS_F_CPU = 14745600L

VOS_USE_SLEEP = 1
#VOS_USE_SIR = 1
VOS_CFG_SIR_ENTRIES = 10
VOS_CFG_PRIORITIES = 5
VOS_USE_VBUS = 1
VOS_VELABUS_BUFSIZE = 2
VOS_USE_MUTEX = 1
VOS_USE_TIMER = 1
VOS_USE_PREEMPTION = 1
VOS_NUM_TIMERS = 4
VOS_USE_QUEUE = 1
VOS_NUM_QUEUES = 4


resolve.mak
Код:
ifneq "$(VOS_USE_PREEMPTION)" ""
    DEFINES += -DVOS_CFG_PRIORITIES=$(VOS_CFG_PRIORITIES)
    DEFINES += -DVOS_USE_PREEMPTION
   VOS_USE_SIR = 1
else
    DEFINES += -DVOS_CFG_PRIORITIES=0
endif

ifneq "$(VOS_USE_SIR)" ""
    DEFINES += -DVOS_USE_SIR
endif

include vos/target/resolve.mak
include vos/lib/resolve.mak
include vos/kernel/resolve.mak

ifeq "$(strip $(VOS_F_CPU))" ""
    MESSAGES += |F_CPU is 14.7456 MHz by default
    VOS_F_CPU = 14745600L
endif

DEFINES += -DF_CPU=$(VOS_F_CPU)
INCLUDES += -includevos/kernel/scheduler.h
INCLUDES += -includevos/kernel/errors.h

ifneq "$(strip $(VOS_TICK_PERIOD))" ""
    DEFINES += -DVOS_TICK_PERIOD=$(VOS_TICK_PERIOD)
else
    DEFINES += -DVOS_TICK_PERIOD=8000
endif

resolve.mak есть и в подкаталогах

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 19 май 2009, 21:04 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Понятно, сделаю неснолько конфигов...
А вот сами драйверы думаю все же вынести из registers
но без шаманства с симлинками, просто их всех поместить в drivers.

Так получится только один раз собрать библиотеки, а драйвера собирать из главного мейка.

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 16:22 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Вынес драйвера в отдельный каталог,
добавил конфиги,
немного перетряхнул доксиген

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 19:54 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
А вот эта версия - http://hg.vehq.ru/orfa/file/809791b9ae1b/main.c#l1
она откуда берет команды? С уарта или с и2с?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 21:23 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Смотри на мэйн, а там вместо главного цикла serialgate_mainloop();
Из чего можно догадаться, что используется библиотека для уарта.
Для слейва еще нет кода, т.к. у меня нет необходимости...

Добавлено спустя 4 минуты 29 секунд:
Нужно поправить драйвера, чтобы они использовали gate_register_allocate()

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 21:32 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
В описании драйвера не надо хранить все номера регистров - достаточно начального номера и количества регистров

Добавлено спустя 3 минуты 44 секунды:
Соответственно gate_gregister_allocate() надо переписать - чтобы он драйвер запрашивал для себя n регистров, а ядро возвращало начальный номер

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 21:40 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Как-то не ясно как это работает. Я себе представляю так:

Мы в главной процедуре по идее должны зарегистрировать в ядре:
1. Все драйверы - на нужные адреса;
2. Источник команд (i2c-slave-receiver или serial-gate);

После чего надо включить источник команд и драйверы.

Оно примерно так работает или нет?

Добавлено спустя 1 минуту 18 секунд:
blindman писал(а):
чтобы он драйвер запрашивал для себя n регистров, а ядро возвращало начальный номер

Неее, думаю лучше явно их размещать, просто ядро должно проверять, что пересекаются эти интервалы.

Чтобы лишний раз не двигать драйверы, а то не все будут через интроспекцию их адреса получать.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 21:44 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Не лучше.Драйвер будет думать, что его регистры нумеруются с нуля - проще добавить новые регистры не затрагивая прочие драйвера. Ядро через интроспекцию будет выдавать реальные номера. Получать через интроспекцию будут все. В приказном порядке :)

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 21:47 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Не понял - будет возможность убрать 1 старый драйвер и добавить 1 новый с другим кол-вом регистров не тронув старые драйвера кроме одного удалённого?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 21:50 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Убрать, добавить, убрать регистры, добавить регистры - что угодно. Не думая, а не занят ли уже регистр который мы хотим использовать. Меньше возможностей для ошибок, проще сборка.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 21:58 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
При этом адреса старых останутся? Ядро автоматом не сдвинет следующие за удаляемым драйверы?

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 22:01 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Сдвинет. Потому я и говорю - интроспекцию использовать в приказном порядке

Добавлено спустя 2 минуты 21 секунду:
Если делать так, что можно не использовать интроспекцию, а ориентироваться на фиксированные регистры - смысла в такой интроспекции немного

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 22:02 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Не-не-не, нафиг интроспекцию в приказном порядке :) зачем людям жизнь усложнять сразу? А что нам мешает сохранять адреса? Ну сделать так, что можно желаемый адрес при регистрации передать - это то мы можем? :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение реализации шлюз-контроллера [ORFA]
СообщениеДобавлено: 21 май 2009, 22:08 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Если будет 50 драйверов - есть шанс что они займут все доступные номера, да еще и не хватит. А вот шансов, что все эти драйвера будут собраны в 1 девайсе - немного. Лучше сразу сделать так, что бы избежать проблем, чем потом все ломать и в итоге сделать именно так.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 497 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 34  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO