Проект Мегапират на самик!

ukkr
Syberian:

только что проверил, 8-й канал работает. Обновись.
и посмотри, в каком режиме такое, на трикоптере точно нету.

Ну, трикоптер–дефолтный режим.
Обновился. Но трабл был у меня. Я по не понятной для меня сегодняшнего причине при обработке RC и Servo инфы от тебя не проставлял себе показания последнего канала. Т.е, вынимать – вынимал, ЦРЦ проверял. А вот в свою кухню уже не отмапливал. Теперь всё норм:

DataPacket{commandId=31, commandAlias=Servo state, params=[1800 1800 1800 1800 1800 1800 1800 3000 ]}
Syberian

Костя, у тебя телеметрия есть? можешь serial3 проверить?

LeonVS
Syberian:

это делитель часиков. В 2 раза уменьшить.

Хм… тобишь просто уменьшая делитель увеличивается скорость порта?
В общем не стал париться с прошивкой, перепрограмил модули, походу косяк такой же как у тебя, горизонт и позицию серв кажет, кнопки записи и чтения не активны…

ukkr
Syberian:

Костя, у тебя телеметрия есть? можешь serial3 проверить?

У меня где-то валяются 3 штуки АРС220е, но я скорее дедушкой стану, чем найду где они. Если найду-- погляжу.
А чё, прицепить к Serial3 переходничёк COM-USB низзя? Надо именно по воздуху поглядеть что за нафиг происходит?

Syberian
ukkr:

прицепить к Serial3 переходничёк COM-USB низзя?

кстати да, можно.
Ладно, Леонид уже проверил…

LeonVS:

косяк такой же как у тебя

Значит, дело - в волшебных пузырьках 😃 буду поршивку ковырять. Хотя, на вид все прилично.

Попробовал джойстик прикрутить. 4-осевой. X Y и газ читает из tjoyinfo, хатку и кнопки тоже, а руддер положили в dwRpos, который находится в tjoyinfoEx, который вообще не работает 😦 мну плякаль…
Джойстик Logitech Freedom 2.4

ukkr

Поздравляю. А в чём засада была?

AlexSneg

Олег, вот я из твоего кода дернул

yaw=-atan2f(2*q1*q2+2*q0*q3,2*q0*q0+2*q1*q1-1);
pitch=asin(2 * q1 * q3 - 2 * q0 * q2); // theta
roll=atan2f(2 * q2 * q3 + 2 * q0 * q1, 2 * q0 * q0 + 2 * q3 * q3 - 1); // phi

roll_sensor = 572.9577951*roll;
pitch_sensor = 572.9577951*pitch;
yaw_sensor = 572.9577951* yaw;

if (yaw_sensor < 0)
yaw_sensor += 3600;

А что, ты вообще никак не учитываешь кульбиты и глючность этих переходов к углам эйлера, когда pitch близко к 90?
Ты вообще пробовал смотреть, что roll и yaw у тебя делают в окрестности pitch=90???

Syberian
AlexSneg:

что roll и yaw у тебя делают в окрестности pitch=90

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

ukkr:

А в чём засада была?

забыл переименовать часть переменных, когда обработчик serial3 копировал 😁

Кстати, авиа-джой заработал.
Если у кого-то есть подключенный, проверьте, GCS показывает руддер со смещением или без?
(архив обновлен)
На аппарат пока не выдаю, надо оверрайды настроить.

ukkr
Syberian:

забыл переименовать часть переменных, когда обработчик serial3 копировал

Копипейст – зло. Ща поужинаю, посмотрю свой Thrustmaster.

Syberian

Джойстик фунциклирует полностью и управляет бортом. Добавил выбор экспоненты.
АРС220 вызывает большие нарекания при работе: если ползут навстречу 2 потока даже в 5 раз меньше ширины радиоканала, половина пакетов теряется к чертовой бабушке из-за конфликтов. Остается играться частотой потоков. Нужен либо дуплекс, либо нормальный полудуплекс с разрешением коллизий для нормального управления с земли.
Либо нормальный, блин, модем типа ХВее

В любом случае, 1.0.83.
Работаем дальше.

LeonVS

Проверю завтра как работает на блютус модулях 😃
К стати взлететь не удалось на квадре… Тащит по крену влево ускоряясь, ставлю галку реверс, тащит направо, времени на осмысление и дальнейшие эксперименты увы не было… Завтра продолжу, отпишусь.

tusik

Подскажите, а как залить в ардуину1280? Чет заливаю через программу Кости и ничего не заливается

ukkr
Syberian:

Джойстик фунциклирует полностью и управляет бортом. Добавил выбор экспоненты.

Олег, проверил с Трустмастером своим-- по всем каналам нормально, только на одном в нейтрали оно выходит за нейтраль на шкале. Джой откалиброван, специально калибровал перед тестированием. Да и вообще калибрую каждую неделю, бо зело летаю в Ил-2 Штурмовик. Вот картинка:

В принципе, ничего страшного. Олег, а вот что это за число на картинке, я там пометил?

Да, ещё. Я чуть ахтунг не споймал после перепрошивки. Ты отрубил включённую по умолчанию отсылку состояния imu. А я ж ещё не привинтил на свою гуйню отсылку команд на Вортекс. Думал – писец. Потом на твоей гуйне нашёл emergency trigger – оно всё врубило, слава Б-гу.

Слушай, ещё такой вопрос. Я привинтил уже у себя отображения на приборы данных от Вортекса. Вопрос у меня, по 32й команде, т.е., состояние IMU первые два 16ти битных инта – roll и pitch.
Вот, я скопировал типовую инфу, что ты присылаешь:

-86 220

Собственно вопрос, в каких пределах могут менятся эти числа. Мне просто надо отмапить для отображения в 0…360 диапазон.
Да, на сколько я понял, эти данные надо на 10 делить, чтоб в градусах получить значения?

tusik:

Подскажите, а как залить в ардуину1280? Чет заливаю через программу Кости и ничего не заливается

Андрей, программа Кости о железе ничего не знает и делегирует обновление прошивки avrdude, дудке в простонародье.
Так вот, если посмотреть, что запускается из моей программы avrdude.bat, то можно увидеть, что в батнике указано такое: avrdude -Cavrdude.conf -p atmega2560 -cstk500v1 -P\\.\%1 -b57600 -D -Uflash:w:%2:i

Вот это жирное --указывает, какой чип шить. Для ардуину1280 надо бы указать соответствующий контролер. Если не ошибаюсь, на ней стоит ATmega1280. Вот тебе и надо поправить батник, прописать туда свой чип вместо 2560.
Ну, я б ещё и фюзы посмотрел, Олег что-то говорил, что 1280 с 2560 похожи как однояйцовые братья, но я б перепроверил.

П.С. Скоро залью новую версию гуйни.
Из новых функций:

  1. Auto detect, если возможно на каком порту подключён Вортекс.
  2. Возможность добавлять новые приборы. Маппинг приборов на соответствующие команды\данные пакета
  3. Возможность включения\отключения вывода в терминал команд.
  4. Логирование по нажатию на Disconnect в файл списка принятых команд от Вортекса.
  5. Увеличена общая производительность( для Лёни 😃 ), исправлены баги.
  6. Я уже сам забыл.
    Как гриться,-- ждите 😃
tusik
ukkr:

надо бы указать соответствующий контролер.

Это я подправил. Но результат тот же 😦

А шить надо программатором или можно через ЮСБ?

ukkr

О, так тут всё веселее. Просто твоя ардуина не видится компом. Дудка к ней подконнектиться не может. Может быть по трём причинам:
1)Реально голимый коннект между ардуиной и компом.
2) Хреновое питание Ардуины, может даже и рвётся.
3) Либо же на такой скорости Ардуина не ответчает. Попробуйте снизить ещё в батнике скорость вместо 57600 до на меньшее – 9600,14400,19200.

Да, и проверьте, тот ли COM порт указали в батке дудке( я б ещё и номер порта бы понизил, чтоб от 1-4х был, а то не факт, что дудка спокойно видит такие номера)

Syberian
ukkr:

до на меньшее

нельзя, ардуинский бутлодырь только на эту скорость.

AlexSneg
Syberian:

На здоровье кватерниона это не влияет

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

alex-ber

Олег.
Залил прошивку 83…
При включении самика РН ставится в крайнее левое положение до момента пока стик не тронешь… Светик в этот момент моргает, если стик РН при газе в минус повернуть до упора ВПРАВО светик горит постоянно все стики отрабатывают нормально. Так и должно быть?
Ах - да:
Настройка - самик класика, все цифиры по умолчанию, проверяю твоей наземкой, соединение через АРС220…
Еще один глюк - при положении самика в покое через 5 минут 20 сек тангаж уплыл до -25 гр! (перед этим кнопку Левел жмякал - не помогло…), при этом выход (на шкале OUT) поднялся примерно на такой же угол, естественно РВ то же… В чем проблема ? В моих косяках (чего-то еще настраивать нужно) или в чем…
Попробовал 3 раза - картина одинаковая - крен в норме а РВ дрейфует…
Проверь у себя - в настройке самика классики…😵