Технический форум по робототехнике.
=DeaD= » 16 дек 2009, 15:40
2blindman: Нееее.. может лучше не заставлять всех еще интроспектора писать? Может лучше в вике как-то обновлять примеры? По-моему пользователи передохнут сами интроспектора делать.
blindman » 16 дек 2009, 15:42
В вике как раз надо написать с учетом использования интроспектора примеры написать.
А вообще на чем модно под ПК писать? Может надо пример работы с интроспектором написать?
=DeaD= » 16 дек 2009, 15:43
Так там тогда не пример надо, а целую библиотеку. Может проще что-то сделать, чтобы часто не менялись номера регистров?
blindman » 16 дек 2009, 15:46
Да можно конечно. Тогда интроспектор выкинуть. А нафиг он нужен, если ничего не меняется?
Если серьезно, нельзя так просто выдавать новый релиз прошивки. Вносим изменения, перед релизом обновляем все доки, примеры.
=DeaD= » 16 дек 2009, 15:47
С последним согласен. И проводим пачку тестов еще.
Виктор Казаринов » 16 дек 2009, 16:19
blindman:"В текущей версии, если все драйверы используются (по умолчанию), сервы управляются через регистра 0x12, 0x13, а не 10, 11. "
Это непонятно. Значит драйвер интроспекции мне выдал неверные базовые адреса регистров других драйверов? Я ведь сначала у интроспектора спросил какие драйвера есть а потом - подробности о драйвере серв.
А еще - если в каждом драйвере занимается некот. диапазон адресов из 256, то если позже нужно что-то добавить, а рядом уже все занято, то не удастся что ли это сделать?
blindman » 16 дек 2009, 16:34
Эначит драйвер интроспекции мне выдал неверные базовые адреса регистров других драйверов?
С какой стати?
Добавлено спустя 12 минут 14 секунд:Виктор Казаринов писал(а):А еще - если в каждом драйвере занимается некот. диапазон адресов из 256, то если позже нужно что-то добавить, а рядом уже все занято, то не удастся что ли это сделать?
Драйвер занимает столько регистров, сколько ему надо. Сам драйвер свои собственные регистры считает с нуля, а интроспектор заботится о назначении базовых регистров и трансляции номеров перед передачей драйверу. В результате всегда образуется непрерывная послед-ть регистров. Это сделано как раз для того, чтобы можно было добавлять по необходимости регистры, не думая заранее сколько их может в будущем понадобиться. И именно поэтому нужно запрашивать номера регистров у интроспектора, а не пологаться на фиксированные регистры.
=DeaD= » 16 дек 2009, 17:40
Виктор Казаринов писал(а):А еще - если в каждом драйвере занимается некот. диапазон адресов из 256, то если позже нужно что-то добавить, а рядом уже все занято, то не удастся что ли это сделать?
Удастся, просто адреса следующих драйверов сместятся.
Vooon » 17 дек 2009, 01:29
В вике примеры для драйвера серв устарели, устанавливать маску больше не нужно.
Нужно просто установить длительность импульса отличную от 0-я.
blindman » 17 дек 2009, 02:51
Смысл вообще тогда занимать лишний регистр?
Michael_K » 17 дек 2009, 03:07
Повторюсь:
Ну, ребята, вы и намутили...

Duhas » 17 дек 2009, 07:30
2Michael_K с одной стороны - да, они намутили ) с другой - а как иначе, когда нужна довольно сложная многопрофильная конфигурируемая структура ? )
Виктор Казаринов » 17 дек 2009, 08:56
Люди, так что мне делать? Если есть исправленная и проверенная прошивка ORFA, дайте ссылку на нее. И желательно проверенную последовательность команд для изменения положения сервы, подкл. на GPIO N2 как в примере Wiki. Нужно или нет включать порты посылкой маски?
=DeaD= » 17 дек 2009, 09:33
Что-то я вчера подумал что тут в результате обсуждений родится истина

сегодня тогда вечером залью последнюю прошивку, проверю работу сервы, выложу ссылку на прошивку и примеры команд.
Виктор Казаринов » 17 дек 2009, 09:48
Пока нет ответа, прошил тест обратно. И что я увидел? Куда интересно диоды зеленые прицеплены?. По плате полазил - установил, что на порты C5 и B3. А на схеме? Там так же, но нельзя ли было контактные группы перенести в левом нижнем углу так, чтобы все три ряда соответствовали картинке в инструкции и находились рядом, а не с вертикальным смещением? Ведь они не подписаны. Теперь лезем в тестовую программу. А там оказывется, что:
PORTD &= ~0x30; //Сбросим 5-6-й пин порта D в 0
Странно это, однако. Хотя и порты B,C меняем.