PIXHAWK PX4 Autopilot еще одна летающая железка
логично =( тогда совершенно не понятно как например в миссии задать каманду именно гимбалу и почему команда не шлется гимбалу при шутере от пульта (когда servo или relay), хотя там как раз продкастная рассылка по идее идет на все устройва из массива routed.
У меня предположение что строка routes[i].sysid == mavlink_system.sysid как раз и не пропускает команду дальше коптера, похоже надо искать как это всё дебажить… или ftdi в разрыв провода на гимбал ставить и слушать какие команды лезут.
А вообще в AP_Mount… идет рассылка конкретно подвесу, вот как бы это всё сделать внутри кода шутера или рассылки, чтобы определенная команда улетала любой ценой в гимбал.
Попробую завтра дописать что-то вроде:
if ((routes[i].sysid == mavlink_system.sysid || (routes[i].mavtype ==MAV_TYPE_GIMBAL && msg->command==MAV_CMD_DO_DIGICAM_CONTROL)) && !sent_to_chan[routes[i].channel]) {
чтобы игорировалось условие, если гимбал и шутер
я не особо подскажу по скриптам мавлинка, но логически если вы хотите сделать управление подвесом не командой телеметрии передаваемой через модем
а функционалом полетника который в определенный момент должен послать команды подвесу - то надо забыть про скрипты мишен планера
тут в целом косяк в том бродкастная рассылка (похоже), в которой команда на шутер, не доходит до гимбала… и я чето не могу осознать код:
// create command long mavlink message
mavlink_command_long_t cmd_msg;
memset(&cmd_msg, 0, sizeof(cmd_msg));
cmd_msg.command = MAV_CMD_DO_DIGICAM_CONTROL;
cmd_msg.param5 = 1;
// create message
mavlink_message_t msg;
mavlink_msg_command_long_encode(0, 0, &msg, &cmd_msg);
// forward to all components
GCS_MAVLINK::send_to_components(&msg);
вся суть в cmd_msg, но не пойму как оно переходить в msg и переходит ли вообще? mavlink_msg_command_long_encode в переменную по ссылке (в сях & по ссылке? или что-то другое?) ничего не пихает, только делает return, т.е. вроде как вывод mavlink_msg_command_long_encode надо чему то присваивать?
UPD: там какая то магиня с копированием памяти, команды cmd_msg перетекают в msg… похоже на какогое наследие старого кода, чтобы не ломать совместимость
Ладно, всё фигня, одни неведомые и неработающие догадки…
Костыль за который должно быть стыдно, но работает:
AP_Camera.h в private секцию:
bool _gimbalcam_search; // try to search gimbal
bool _gimbalcam_initialised; // true once the driver has been initialised
uint8_t _gimbalcam_sysid; // sysid of gimbal
uint8_t _gimbalcam_compid; // component id of gimbal
mavlink_channel_t _gimbalcam_chan; // mavlink channel used to communicate with gimbal.
AP_Camera.cpp в trigger_pic после GCS_MAVLINK::send_to_components(&msg);:
if (!_gimbalcam_search) {
_gimbalcam_search=true;
if (GCS_MAVLINK::find_by_mavtype(MAV_TYPE_GIMBAL, _gimbalcam_sysid, _gimbalcam_compid, _gimbalcam_chan)) {
_gimbalcam_initialised=true;
}
}
if (_gimbalcam_initialised) {
mavlink_msg_command_long_send(_gimbalcam_chan,
_gimbalcam_sysid,
_gimbalcam_compid,
MAV_CMD_DO_DIGICAM_CONTROL,
0,
0,
0,
0,
0, 1, 0,
0);
}
На rcgroups мужик на свой квадрик поставил PX4LITE. Пишет, что доволен. Вот ссылка www.rcgroups.com/forums/showthread.php?t=2557082.
Не знаю, я попробую из герметика силиконового в формочке залить под те изначальные отверстия виброразвязку.
Спрашивал же перед этим у другого продавца, мол сфоткай, чё там внутри - ой, на завод я писать, они ничего не ответить, я сам сложно сломать и тд
Я его когда подключил первый раз без зуммера и провода led - он не хотел подключаться. Потом всё это подсоединил и он издавал 3 длинных 3 коротких не прекращая - всё равно не хотел подключаться, потом прошил и нормально стало. Вроде откалибровал всё, но всё равно пишет про: bad mag position что то
Вроде откалибровал всё, но всё равно пишет про
На rcgroups пишет, что нужно проверять распиновку разъемов, не соответствует как у пикса. Там-же дает пояснения на картинке. Он плату поставил на квадрик без внешней виброразвязки и утверждает, что полет отличный.
Он плату поставил на квадрик без внешней виброразвязки и утверждает, что полет отличный.
Полеуретан мягкий, все-таки виброразвязка. На вид, даже лучше чем у Pixhack (ИМХО). Потому как у того пластиковый короб виброразвязки (я очень надеялся что делают силиконовый), в котором датчики между 2 кусков ППУ.
Пробовать летать, должно все получится!
Если кому надо - выложу сборку под вашу раму, собирать всё (tri,quad,hexa,y6 и прочее) и под все контроллеры (pix* и px4*) пока лениво (хотя надо бы скрипт написать на досуге, чую это на долго).
Мне под квадрокоптер, PIxhawk контроллер обычный (не лайт и тд). Спасибо.
Мне под квадрокоптер, PIxhawk контроллер обычный (не лайт и тд). Спасибо.
“пиксы” различаются на PX4 и Pixhawk, остальное не важно
Вот nekaka.com/d/Z2CSNLW0yO
ArduCopter 3.3.2 для квадрокоптера с исправлениями NMEA протокола для работы с GPS+ГЛОНАСС
как обычно на свой страх и риск (и во вкладке Messages, последняя в MissionPlanner, лучше проверить что именно 3.3.2 и QUAD)
Есть еще вариант с фиксом спуска через ИК через storm32 подвес.
Вылез наконец то полетать с pixlite (goodluckbuy) на y6 раме, которая раньше была с naza.
Как обычно хорошо что отрубил проверку компаса при арминге. Дома всё идельно, пошел на улицу и ошибка компаса на аппе мигает, а в логах неведомая ошибка COMPASS-4 - что это за ошибка не смог найти, в доках только 0,1 или 2.
Полет был сугубо тестовый (летает ли вообще), компас откалибровал абы как - немного туалетил, сторон света по карте врал градусов на 5…10.
Офсеты основного компаса: -89 -20 -14. Офсеты встронного… кхм… 163 -241 -157.
Кто расскажет что за COMPASS-4 ошибка и что с ней делать?
4 код это похоже unhealthy =( И что это вдруг с ним случилось что он не здоров?
Судя по логам отключился основной компас (нули по всем осям), который на палке в ГПС модуле. Странно что дома работает. Буду проверять провод.
Дома всё идельно, пошел на улицу…
Со мной такое почти постоянно )))). Дома гоняешь пока не надоесть-все идеально,но стоит выйти на улицу-начинается невероятное )).
может кто знает почему от пиксхака, ппм энкодер при подключении мигает красный светодиод и не питает приемник от аппаратуры?
Там же запаивать надо перемычку
Какую там перемычку?
правая картинка нижний левый угол sj1
замкнул и сгорел с искарми и дымом 😁😃
замкнул и сгорел с искарми и дымом 😁😃
странно , у меня все питало , разводка похожа на эту только цвет платы синий был , но перемычка там одна
Очень прикольно
diydrones.com/forum/…/pixhawk-1mb-flash-limit
если вкратце как понял. Ранние ревизии пиксов шли с процом с 1Мб памяти. Если ардукоптеровцы не смогут уложится в мегабайт то получается эти ревизии пиксов придется так же выкинуть как и АПМ. Хотя конечно есть вариант собрать прошивку самому и выкинуть ненужные свистелки-перделки.
Ребята похоже очень стараются ̶р̶а̶з̶д̶у̶т̶ь̶ разрабатывать код.