Полетные режимы вашего квадрика и направление на экране аппы

Панда_Бутина

Для smart port x8r подвижек все еще не планируется ? На дуидронс есть свой проект, но там используют Teensy3.1 цена на который не гуманна.

PS видимо зря я купил x8r для использования с 9xr…

4refr0nt
Панда_Бутина:

Для smart port x8r подвижек все еще не планируется

Вы же понимаете, что это некоммерческий проект. Изначально, да и сейчас тоже, все это делал “для себя” и er9x была выбрана потому, что сам ей пользуюсь. Просто решил поделиться с сообществом, вдруг это еще для кого-то окажется полезным. В принципе код открыт и портировать на OpenTX не составит особого труда, но, конечно, займет определенное время. Сам я уже давно не программист, поэтому считаю, что эта задача вполне посильна достаточно широкому кругу моделистов, причем не нужно быть супер-специалистом по программированию микроконтроллеров. Хотя было бы желательно 😃 Про smart port могу сказать, что сам я этот протокол пока не изучал ввиду отсутствия у меня планов по приобретению аппы с такой фичей. Если в октябре выпущу окончательный релиз этой прошивки, то, возможно, “долгими зимними вечерами” у меня найдется время портировать прошивку на OpenTX или ARM-версию er9x.

Панда_Бутина

Это не было требование, это был вопрос. Я как и другие благодарны вам за труд.

4refr0nt

Спасибо и вам за интерес к моей работе.
Вот фото последней версии, которую надеюсь завершить в октябре (в сентябре я в отпуске в Крыму)

Sirop84

Привет всем. Спасибо большое автору за проделанную работу. Ардуину прошил, но столкнулся с проблемой. Режимы показывает правильно, но положение Arm/Disarm не меняется, прыгает высота раз в секунду с 1м на -70 и неправильно показывает положение коптера- при повороте коптера на 360 градусов линия поворачивается примерно на 90-100. Может кто сталкивался?

4refr0nt
Sirop84:

Режимы показывает правильно, но положение Arm/Disarm не меняется, прыгает высота раз в секунду с 1м на -70 и неправильно показывает положение коптера- при повороте коптера на 360 градусов линия поворачивается примерно на 90-100. Может кто сталкивался?

Трудно сказать в чем тут причина. Сообщите модель контроллера, версию ардукоптера, какую именно ардуину используете (важна частота и напряжение)

Попробуйте через 2-3 минуты после включения системы перезагрузить ардуину кнопкой. Станет лучше или останется как было - сообщите.

Sirop84

контроллер АРМ 2.5.2. прошивка 3.1.5. использую arduino nano с выпаянным ft232. Напряжение подаю с отдельного bec- под нагрузкой( со всеми потребителями ровно 5в.
Пульт Turnigy 9x, приемник d8r-2 plus.
На проводе RX еще висит модем. на ноутбуке все отображается хорошо. TX к ардуине не подключал

4refr0nt

Проблемы с nano уже обсуждались здесь - почитайте внимательно.

Ардуина при старте (через минуту примерно) шлет ардукоптеру команду о том, какую телеметрию передавать и как часто.
Модему и наземной станции это неважно, потому что линк 57600, а FrSky линк 9600 и часть данных просто теряется, если этой команды нет.
Т.е. TX можно не подключать, только если подключен ардуиноподобный OSD (там тот же принцип, хотя и другие причины)

Sirop84

про проблемы с нано читал, поэтому и выпаял ft232,
а ардуина и модем по линии тх конфликтовать не будут или с таким не сталкивались?

4refr0nt
Sirop84:

про проблемы с нано читал, поэтому и выпаял ft232,
а ардуина и модем по линии тх конфликтовать не будут или с таким не сталкивались?

я сам не пробовал, но тут уже обсуждали это - тогда все прошло вроде гладко, но вроде там еще OSD была, а она шлет такую же команду при старте.
Теоретически конфликтов быть не должно, т.к. ардуина шлет данные в контроллер только один раз, потом только принимает данные.
Важно еще чтобы земля у всех устройств была общая.

Sirop84

Спасибо большое, вечером буду пробовать

4refr0nt
Sirop84:

Спасибо большое, вечером буду пробовать

не за что. только уточните про bec - какие устройства к нему подключены?
Для UART коммуникаций это важно.

Sirop84

Контроллер с gps, arduino и модем. Бек по моему на 5А

4refr0nt
Sirop84:

Контроллер с gps, arduino и модем. Бек по моему на 5А

ну если все UART устройства от одного питания с общей землей, то проблем быть точно не должно.

Sirop84

это хорошо, по результатам отпишусь

Sirop84

в общем припаял tx- ничего к сожалению не изменилось, перепроверил- курс показывает правильно, не показывает в arm, высоту показывает постоянно 10м, но это без 3d fix и не показывает ток от power модуля( наряжение врет на 0,2в)

4refr0nt
Sirop84:

в общем припаял tx- ничего к сожалению не изменилось

жаль. у меня пока нет идей, чтобы вам помочь.

не показывает ток от power модуля( наряжение врет на 0,2в)

ток в этой версии действительно не показывает, в новой все будет ок.
А напряжение мои прошивки не меряют - передают то, что приходит от ардукоптера. Посмотрите в настройках коэффициенты, там где настраивается модуль.
Я, честно признаться, напряжение дотошно не проверял (у меня тестер обычный), но искажаться при передаче вроде негде.

Sirop84

напряжение то ладно- разница не большая, а вот с высотой грустно как-то. сейчас проверил, спутники и координаты показывает правильно. а что означает цифра 32 справа и надпись gps err?

strizhmax

2 4refr0nt.
Виктор, я собираюсь, вернее уже начал, тащить код из APM_Mavlink_to_FrSky.ino прямо в код ArduCopter’a, а точнее в проект F4BY.
Отпадает необходимость в Arduino Pro Mini.
Возражений не будет?

strizhmax

Виктор, внесите пожалуйста, правки. Неправильно работает при кол-ве спутников > 9

$ svn diff source/mavlink-driver/APM_Mavlink_to_FrSky/Mavlink.cpp source/er9x-frsky/menus.cpp
Index: source/mavlink-driver/APM_Mavlink_to_FrSky/Mavlink.cpp
===================================================================
— source/mavlink-driver/APM_Mavlink_to_FrSky/Mavlink.cpp (revision 14)
+++ source/mavlink-driver/APM_Mavlink_to_FrSky/Mavlink.cpp (working copy)
@@ -114,7 +114,7 @@

const int Mavlink::getTemp2()
{

  • return gpsStatus * 10 + numberOfSatelites;
  • return numberOfSatelites * 10+ gpsStatus;
    }

const float Mavlink::getGpsGroundSpeed()
Index: source/er9x-frsky/menus.cpp
===================================================================
— source/er9x-frsky/menus.cpp (revision 14)
+++ source/er9x-frsky/menus.cpp (working copy)
@@ -6745,8 +6745,8 @@
// line 4 - GPS fix converted from TEMP2
uint8_t gps_fix;
uint8_t gps_sat;

  •            gps\_fix = FrskyHubData[FR\_TEMP2] / 10;  
    
  •            gps\_sat = FrskyHubData[FR\_TEMP2] - gps\_fix \* 10;  
    
  •            gps\_fix = FrskyHubData[FR\_TEMP2] % 10;  
    
  •            gps\_sat = FrskyHubData[FR\_TEMP2] / 10;  
    

lcd_puts_P( 1 * FW, 4 * FH, PSTR(STR_MAV_GPS)); // “GPS:”
switch ( gps_fix )
{

froller

Мержить в основную ветку ER9X планируете?