ArduCopter Mega: порт на обычную Arduino (тестим)
Извиняюсь за повтор, хочу уточнить: этот приемник поддерживает ppm_sum?
Да, а вот 8 канальный - нет.
А ППМ_СУМ этот код будет видеть? А то я свой коптер перевел. Вместо шести проводов - один. Спасибо Сэру Алексу
Если я правильно понимаю, то Failsafe не будет работать в мегапирате. Т.к. переделанная библиотека APM_RC не говорит основному коду, идет сигнал от приемника или нет. Если допилить код, то будет работать.
этот приемник поддерживает ppm_sum?
Да. Уменя такой работает. На разъеме БАТ сигнал.
то Failsafe не будет работать в мегапирате
Обидно, конечно…
переделанная библиотека APM_RC не говорит основному коду, идет сигнал от приемника или нет
дык вот я и предлагаю это строку добавить… APM_RC вроде почти 1 к 1 передернута с мультивия, хотя могу ошибаться =)
код работы с газом в вие:
if (mask & 1<<0)
if (!(pin & 1<<0)) {
dTime = cTime-edgeTime[0]; if (900<dTime && dTime<2200) rcValue[0] = dTime;
} else edgeTime[0] = cTime;
код работы с газом в пирате:
if (mask & 1<<0)
if (!(pin & 1<<0)) {
dTime = cTime-edgeTime[0]; if (1600<dTime && dTime<4400) rcPinValue[0] = dTime>>1;
} else edgeTime[0] = cTime;
код работы с фейлсейфом в мультивие (THROTTLEPIN=0)
if (mask & 1<<0) { // If pulse present on THROTTLE pin (independent from ardu version), clear FailSafe counter - added by MIS
if(failsafeCnt > 20) failsafeCnt -= 20; else failsafeCnt = 0; }
между основным кодом и библиотекой одно пространство имен? или надо как то хитро задавать?, например в массив значений добавить еще знаечение флаг fail или не fail =)
т.е. имхо что-то вроде
rcPinValue[FAILINDEX]++; // где то постоянно плюсовать
...
// внутри ISR(PCINT2_vect)
if (mask & 1<<0)
if (!(pin & 1<<0)) {
dTime = cTime-edgeTime[0]; if (1600<dTime && dTime<4400) {rcPinValue[0] = dTime>>1;rcPinValue[FAILINDEX] = 0;}
} else edgeTime[0] = cTime;
а уже внтури основного кода смотреть (или чего там вместо readRawRC надо)
if (readRawRC(FAILINDEX)>FAILDELAY) WARNING_ПЫЩ_ПЫЩЬ_АЛЯРМ
У кого нибудь уже есть живой MS5611 баро? Я нашкодил версию с его поддержкой, надо бы потестить.
Кстати, автор FreeIMU, возможно сможет мне выделить один из прототипов новой платки с MS5611 и новым сенсором MPU-6050. Фишка в том, что просчет координат делается прямо в датчике Ж)
уже есть живой MS5611 баро?
Заказал, жду. Надеюсь, в начале декабря подключу.
просчет координат делается прямо в датчике
Ардуинке будет легче дышать.
Я закопался с двуплатным Пиратом, косяк на косяке.
привет пираты! 😃
добавил “симпл” мод к вию rcopen.com/forum/f123/topic221574/3677
Т.к. ардукод не подсматривал 😃, скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?
Если в момент включения двигателей, то можно использовать мод как хэээлп. К примеру, если зарулился… врубил симпл мод и точно зная где нос, можно спастись от крэша…
Плюс второго варианта (текущая имплеметация) в том что, то что можно изменить азимут в полете… Залетел за голову, развернул как надо, перещелкнул тумблер и “псевдо нос” смотрит куда надо…
Полетал сегодня в акро моде. Хапнул адреналинчику. Как в нем летают? Включил на высоте метров 10 и еле поймал в стаб моде в метре от земли. Ощущения, как если бы в руку дали двухметровую палку, а на верхний конец поставили коптер и заставили держать равновесие 😃 . Но за то при включении стаб мода коптер сам железно стал в горизонт. Правда летал в акро с замерзшими руками. Может в тепле и по-проще будет, весной попробую еще раз 😃
Полетал сегодня в акро моде. Хапнул адреналинчику. Как в нем летают?
ПИДы помягче поставь и не так страшно будет 😃
В вие вообще с высоким “Д” (не классик и отвечет за скорость реакции системы) легко летать. Но в пирате это не поможет, там “Д” другой 😃
привет пираты! 😃
скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?
Если не ошибаюсь - в момент первого включения мода.
Т.к. ардукод не подсматривал , скажите в какой момент запоминается азимут в этом моде? В момент включения двигателей или вклучения самого мода?
В момент активации двигателей (Arming)
Ну как это, в момент включения мода должно быть, иначе нафиг такой симпл мод не нужен.
Ну как это, в момент включения мода должно быть, иначе нафиг такой симпл мод не нужен.
Это надо Jason Short’у писать. Я написал как оно сейчас есть, функция init_simple_bearing выполняется при арминге моторов.
Я слышал Алексей Харланов способен любую прошивку сделать так как надо, а не как есть 😃 Есть такое? 😃
От жеж… 😃
У меня пока мало опыта в коптерах, мегапират - это клон Ардукоптера под другое железо, т.е. вся логика остается от AC. Поэтому я старался минимизировать изменения в прошивках. Да и вообще, на данный момент, моя цель вылизать работу датчиков, GPS, и т.д., что бы к ним не было вопросов, а дальше можно будет с режимами поиграться 😃
Ну тут дохрена помошников всегда) Арду написан очень читабельно) Так что кто-то и в режимах сможет покопаться)
Большинство проектов более чем читабельно написаны… фишка в том что мы вроде хотели ардукоптер для наших датчиков, а не свой форк ардукоптера
кстатии что на счет failsafe (псевдо код на прошлой страничке)?
Большинство проектов более чем читабельно написаны… фишка в том что мы вроде хотели ардукоптер для наших датчиков, а не свой форк ардукоптера кстатии что на счет failsafe (псевдо код на прошлой страничке)?
Если не горит, то как дойдут руки я поправлю и проверю.
как дойдут руки я поправлю и проверю.
Было бы очень не плохо. Хотя бы по одному каналу…
Хотя бы по одному каналу…
можно обнуление поставить на все каналы… только зачем? если нет сигнала на газе, то наверянка на других каналах та же фигня
а разве так работает фэилсейв если он не предусмотрен приемником? а не по результату застывания сигнала по всем каналам на одном значении?
я так понимаю что при фейле на приемнике просто перестает менятся значение, т.е. 0 и 1 превращаются или в постоянный 0 или в постоянную 1 и соотвественно нет изменений на пине и предполагает что это epic fail =)
а вот если изменения так и продолжаются (то 0, то 1), то хз как детектить - может я все стики зажал в нужном положении и лечу и не меняются значения (шум не в счет)