roboforum.ru

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

dccharacter - Излить посильно

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

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 09 фев 2013, 00:46

dccharacter писал(а):А флоат в аски?

Вариант раз:
Гуглить "iar floating-point format", а потом преобразовать в текст.
Вариант2 (мой :) ):
Посмотреть в отладчике printf этого флоата и далее...
Вариант 3:
Преобразовать флоат в фикс. точку сишными возможностями и далее...

Добавлено спустя 1 минуту 53 секунды:
Чую, зря я это.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 09 фев 2013, 02:19

Ну я как минимум замерял сколько printf 4-х флоатов длится
150мкс
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 09 фев 2013, 02:42

150мкс, не кисло :D
150 мкс. * 70мгц. арм = 10500 тактов проца, прям как стотышпяцот :)
Кстати, елмот, а почему текстом? Это же инородно процессорам. Вдумайся, чтоб перевести 64 битное двоичное число в текст, надо 64 раза сдвинуть это число влево, на каждом сдвиге сделать двоичнодесятичную коррекцию результата (результат в 1.6 раз длиннее). И это если у проца есть такая команда как "десятичная коррекция" и компилятор умеет ее включать. А в 99 случаях из 99, компилятор просто будет тупо делить число на десять, остаток переводить в текст и повторять деление. А это ПИПЕЦ как долго.
И это надо все для того , чтоб на приемной стороне процессор опять это перевел в двоичное число :shock:
Вот так это примерно делается внутрях компиляторов:
Код: Выделить всёРазвернуть
        // Calculate digits from least to most significant number
        do
        {
            int_to_array_str[digits - 1] = n % 10 + '0';
            n /= 10;
        }
        while (--digits > 0);
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение Angel71 » 09 фев 2013, 03:58

+1 конвертить в текст на f3 это зло.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: dccharacter - Излить посильно

Сообщение dccharacter » 09 фев 2013, 13:54

Angel71 писал(а):+1 конвертить в текст на f3 это зло.

Ой, ну не нудите, правда
Скачать любую софтину с интернета, изменить формат принтф-а и начать ее использовать через 10 секунд - это БЕЗУСЛОВНОЕ добро
Тем более, что у меня ДМА сейчас вышвыривает наружу буфер. Мне абсолютно по барабану, что в этот буфер писать - строки, инты, флоаты, прочее.
(не, за науку как всегда спасибо, я читаю и пытаюсь понять)

Добавлено спустя 46 минут 53 секунды:
я что-то сломал.... гира перестала выдавать датареди сигнал. косяк не находиться :-(

Добавлено спустя 1 час 51 минуту 7 секунд:
Пошел, приклеил отвалившийся откос у окна
Вернулся - гира заработала
Жесть
Пару часов убил
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение dccharacter » 10 фев 2013, 12:20

Ночью опять отвалилось прерывание. Нельзя на этой гире делать обработку данных по прерыванию. В ней чтение регистров инициирует новый семпл. Соответственно, если ты по какой-то причине прерывание пропустил, то все. Гира висит в прерывании и не семплирует.
От того, что плата шлет в компорт НАГЛУХО вешается PUTTY и вешает с собой всю винду. Воспроизвел 4 раза с разными свистками. У меня семерка по-моему ни разу не висла. Она переживает полный вылет даже драйвера видюхи. А тут нате.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Duhas » 10 фев 2013, 12:25

а КАК?! можно проустить прерывание ? О_о
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: dccharacter - Излить посильно

Сообщение dccharacter » 10 фев 2013, 16:27

Duhas писал(а):а КАК?! можно проустить прерывание ? О_о

Не знаю. Факт в том, что день работает, день не работает
При этом если просто читать регистры, то все ОК, а если ждать прерывание, то оно не наступает.

Добавлено спустя 1 час 14 минут 28 секунд:
Не, все не так
Решил почитать, что там в регистрах
Флаг прерывания в регистре CTRL_REG3 не устанавливается. Т.е. в регистр пишем, а он пустой.

Народ, а проверьте кто-нить, пишется ли у вас регистр L3GD20_CTRL_REG3_ADDR (0x22) ???

L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Write(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1); // <- tmreg = 0x08
L3GD20_Read(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1); // <- tmpreg = 0x00
L3GD20_Read(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);
L3GD20_Read(&tmpreg, L3GD20_CTRL_REG3_ADDR, 1);

Добавлено спустя 26 минут 6 секунд:
Похоже скорость SPI была очень высокая
И что-то там тихонечко сбоило. Баз палева так. В одном месте.

Добавлено спустя 16 минут 39 секунд:
Чо-то я сильно этими выкрутасами расстроен. Думал уже непропай на плате, хотел паяльником лезть.
Ну не можешь ты прочитать/записать - ну ты скажи! Нет, схавал распоряжение, в шредер его по-тихому и сидит лыбится.

Добавлено спустя 1 час 36 минут 41 секунду:
Блин, не устанавливается бит включения прерывания и все, хоть убейся. Другие регистры пишутся ОК, а этот - нет.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение dccharacter » 10 фев 2013, 23:15

У меня жестяные выходные. Про зависания винды намертво я уже писал. Теперь, значицца, вот что. Вместо провода я применил XBee, т.е. прозрачный канал на 115200. Так вот он только частично прозрачный. Т.е. я запускаю Putty, и вижу прекрасный аутпут кватернионов. Но я запускаю программу на процессинге, и вывода просто нет. Ну т.е. впечатление, как будто от удаленки не прилетает совсем ничего. То же самое на SerialChart. Типа, нифига не приходит. Запускаем еще раз путти, и вот он - аутпут.
Короче у меня уже ни сил ни желания с этим бороться. На гиру СТМ-овскую я грешу, не в последнюю очередь из-за херовой документации, на канал передачи данных я уж и не знаю как правильно грешить. То ли работает, то ли нет. В любом случае, если работает, то не так, как мне нужно.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Duhas » 11 фев 2013, 02:42

вот и я говорю - АСМ наше все. сам накосячил - сам исправил. никакой неопределенности )))
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: dccharacter - Излить посильно

Сообщение dccharacter » 11 фев 2013, 10:39

Duhas писал(а):вот и я говорю - АСМ наше все. сам накосячил - сам исправил. никакой неопределенности )))

Ну эт ты брат хватил
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 11 фев 2013, 18:14

dccharacter писал(а):Короче у меня уже ни сил ни желания с этим бороться. На гиру СТМ-овскую я грешу, не в последнюю очередь из-за херовой документации,

А работу с гирой из родных стм примеров нельзя допилить? Вроде INT1 и DRDY заведены в проц. (сам не изучал этот вопрос)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 11 фев 2013, 20:16

Все допилено 4 страницы назад. Просто периодический третий контрол-регистр перестает писаться. Мистически. А потом снова начинает. Мистически. Матрица, чо.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: dccharacter - Излить посильно

Сообщение Dmitry__ » 11 фев 2013, 20:28

NineDoFDemo.zip на 41-й стр. актуален?
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: dccharacter - Излить посильно

Сообщение dccharacter » 11 фев 2013, 21:20

Нет, вот этот актуален.
Конфигурацией выбирается, куда он будет данные сливать - в ЮСБ или УАРТ на PA2
Уарт работает на ДМА, а ЮСБ-хз, так что не знаю, не забивает ли вывод чтение данных с гиры. Но вроде норм работает.
Вложения
Demo9dof.zip
(67.33 КиБ) Скачиваний: 0
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Пред.След.

Вернуться в Блоги

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

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