roboforum.ru

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

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


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


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



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

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

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


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

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

Код:
vovan@vovan-laptop:~/src/pyor$ orintro.py /dev/rfcomm0 
PyOR version: 0.1.3                                     
Serial Gate protocol version: 1.0                                                                                                           
Selected device: 0x10                                                                                                                       
                                                                                                                                             
Drivers:                                                                                                                                     
#1 <pyor.introspection.MotorInfo object at 0x7fb4b47f9dd0>                                                                                   

    RoboMD2 motor driver.
    PWMn — channel n speed register (0x00-0xFF), r/w
    DIRn — channel n direction register (0/1), r/w 
                                                   
    UID: 0x0060                                     
    Version: 1.0                                                                                                                             
    Registers: 0x60, 0x61, 0x62, 0x63                                                                                                       
         DIR1: 0x62                                                                                                                         
         DIR2: 0x63                                                                                                                         
         PWM1: 0x60                                                                                                                         
         PWM2: 0x61                                                                                                                         

#2 <pyor.introspection.SPIInfo object at 0x7fb4b47f9e10>

    RoboBus SPI driver.

    UID: 0x0001
    Version: 1.0
    Registers: 0x51, 0x52

#3 <pyor.introspection.PortInfo object at 0x7fb4b47f9e50>

    RoboGPIO digital driver.
    PORTc — i/o port register, r/w
    DDRc — direction register, wo

    UID: 0x0020
    Version: 1.0
    Registers: 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B
         DDRA: 0x48
         DDRB: 0x49
         DDRC: 0x4A
         DDRD: 0x4B
        PORTA: 0x44
        PORTB: 0x45
        PORTC: 0x46
        PORTD: 0x47

#4 <pyor.introspection.IntrospectionInfo object at 0x7fb4b47f9e90>

    ORFA Introspection driver.

    UID: 0x0000
    Version: 1.0
    Registers: 0x00

vovan@vovan-laptop:~/src/pyor$


Добавлено спустя 16 минут 36 секунд:
По поводу аллокатора: можно переделать,
нужно только, чтобы начальный адрес драйвер знал
(это нужно для внутренних обработок)

Самое удобное конечно выделять адреса во время подписывания драйвера.
Кстати хранить только начальный адрес и количество имхо более удобно,
а за одно уменьшаеются затраты памяти и ускоряется поиск драйвера.

Добавлено спустя 9 минут 6 секунд:
Кстати пришла вот какая идея:

Пусть драйверу все его регистры передаются от 0 до n-1
А реальный адрес при этом может быть любым.

Вычисление простое: (reg - driver.reg_start)
Плюсы этого решения: драйвер может не знать свой стартовый адрес,
можно сделать проверки статическими.
Минусы: реальный адрес неизвестен драйверу.

_________________
Linux user | Firefox user


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

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

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


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

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

А после прошивки адрес будет всегда один, т.к. зависит от порядка подписывания драйвера
и того, сколько регистров запросил.

Добавлено спустя 1 минуту 22 секунды:
Для типовых готовых прошивок предлагаю прилагать листинг результатов интроспектора.

_________________
Linux user | Firefox user


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

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

Пусть драйверу все его регистры передаются от 0 до n-1
А реальный адрес при этом может быть любым.

Я про это и говорю!

Vooon писал(а):
Минусы: реальный адрес неизвестен драйверу.

Драйверу это и не должен знать. Внутри драйвера нумерация с нуля. Реальный адрес во внутренний транслирует ядро

Vooon писал(а):
Для типовых готовых прошивок предлагаю прилагать листинг результатов интроспектора.

+1

_________________
Проект [[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]
СообщениеДобавлено: 22 май 2009, 06:37 
Не в сети
Аватара пользователя

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

Пусть драйверу все его регистры передаются от 0 до n-1
А реальный адрес при этом может быть любым.

Вычисление простое: (reg - driver.reg_start)
Плюсы этого решения: драйвер может не знать свой стартовый адрес,
можно сделать проверки статическими.
Минусы: реальный адрес неизвестен драйверу.

А я что-то даже и не думал по другому сделать :roll:

Добавлено спустя 1 минуту 44 секунды:
blindman писал(а):
Vooon писал(а):
Минусы: реальный адрес неизвестен драйверу.

Драйверу это и не должен знать. Внутри драйвера нумерация с нуля. Реальный адрес во внутренний транслирует ядро

Не то что не должен - ему это вредно.

blindman писал(а):
Vooon писал(а):
Для типовых готовых прошивок предлагаю прилагать листинг результатов интроспектора.

+1

Это обязательно, но хотя-бы давайте сделаем возможность занять адреса в ядре пустышкой - т.е. без драйвера? :) чтобы выкинув драйвер можно было вместо него пустышку вставить того же размера.

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


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

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

_________________
Проект [[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]
СообщениеДобавлено: 22 май 2009, 07:00 
Не в сети
Аватара пользователя

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

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


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

Зарегистрирован: 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]
СообщениеДобавлено: 22 май 2009, 08:11 
Не в сети
Аватара пользователя

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

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


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

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

Добавлено спустя 1 час 20 минут 11 секунд:
Изменил структуру драйверов,
теперь аллокатор регистров вызывается во время регистрации драйвера.
драйверу с uid == 0 присваивается 0 регистр.

Изменения: http://hg.vehq.ru/orfa/rev/85500f70076d

Вывод интроспектора:
Код:
vovan@vovan-laptop:~/src/orfa$ orintro.py /dev/rfcomm0     
PyOR version: 0.1.3                                         
Serial Gate protocol version: 1.0                                                                                                           
Selected device: 0x10                                                                                                                       
                                                                                                                                             
Drivers:                                                                                                                                     
#1 <pyor.introspection.MotorInfo object at 0x7f8dc68dbd90>                                                                                   

    RoboMD2 motor driver.
    PWMn — channel n speed register (0x00-0xFF), r/w
    DIRn — channel n direction register (0/1), r/w 
                                                   
    UID: 0x0060                                     
    Version: 1.0                                                                                                                             
    Registers: 0x0C, 0x0D, 0x0E, 0x0F                                                                                                       
         DIR1: 0x0E                                                                                                                         
         DIR2: 0x0F                                                                                                                         
         PWM1: 0x0C                                                                                                                         
         PWM2: 0x0D                                                                                                                         

#2 <pyor.introspection.SPIInfo object at 0x7f8dc68dbdd0>

    RoboBus SPI driver.

    UID: 0x0001
    Version: 1.0
    Registers: 0x0A, 0x0B

#3 <pyor.introspection.PortInfo object at 0x7f8dc68dbe10>

    RoboGPIO digital driver.
    PORTc — i/o port register, r/w
    DDRc — direction register, wo

    UID: 0x0020
    Version: 1.0
    Registers: 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09
         DDRA: 0x06
         DDRB: 0x07
         DDRC: 0x08
         DDRD: 0x09
        PORTA: 0x02
        PORTB: 0x03
        PORTC: 0x04
        PORTD: 0x05

#4 <pyor.introspection.IntrospectionInfo object at 0x7f8dc68dbe50>

    ORFA Introspection driver.

    UID: 0x0000
    Version: 1.0
    Registers: 0x00

vovan@vovan-laptop:~/src/orfa$


Добавлено спустя 9 минут 6 секунд:
blindman если ты сделал изменения, но тебе нужно будет обьединить ветки.
hg merge
hg diff

_________________
Linux user | Firefox user


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

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

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


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

Зарегистрирован: 27 ноя 2004, 00:42
Сообщения: 3339
Откуда: совсем Москва
ФИО: Григорий
клево! :good: вообще, читаю тему и балдею: классную вещь замутили!
PS только читаю, т.к. не вижу возможности помочь :pardon: но читаю всегда :)

_________________
злой полицейский


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

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

Добавлено спустя 10 минут 3 секунды:
ПС: у меня сели аккумуляторы, на зарядку нужно 24 ч.
(12 ч. на 4 батарейки, а всего их 8 )

Так что пока не смогу проверить на железе дальнейшие изменения
(если только не прикручу внешний БП)

Добавлено спустя 6 минут 8 секунд:
Кстати есть задача:
нужно написать драйвер АЦП.

Думаю прерывания там не нужны:
достаточно схемы запрос->преобразование->ответ
желательно иметь возможность настраивать разрядность.

Также желательно добавить битовый доступ к GPIO.

_________________
Linux user | Firefox user


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

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Vooon писал(а):
ПС: у меня сели аккумуляторы, на зарядку нужно 24 ч.
(12 ч. на 4 батарейки, а всего их 8 )

Купи Fast-charger :)

Vooon писал(а):
Кстати есть задача:
нужно написать драйвер АЦП.

Думаю прерывания там не нужны:
достаточно схемы запрос->преобразование->ответ
желательно иметь возможность настраивать разрядность.

Еще как нужны, 0.2мс это достаточно долго.

А вот разрядность пока можно зафиксировать как 8 бит. Остальное потом.

Vooon писал(а):
Также желательно добавить битовый доступ к GPIO.

Это как?

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


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

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


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

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


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

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