ArduCopter Mega: порт на обычную Arduino (тестим)

Re-Loader

У меня тоже в терминале на аиоп кракозябры, если контроллер загрузить, подключить сначала МП, а потом отключить его и подключить терминал. Я тоже когда-то вначале пробовал прошить из планера - платка перестала реагировать до прошивки флештулом, после спокойно поднялась и работает - так что загрузчик должен быть жив. Тем более если модем подключился - то явно чтото там живет и функционирует 😉

Сергей_new
Re-Loader:

У меня тоже в терминале на аиоп кракозябры, если контроллер загрузить, подключить сначала МП, а потом отключить его и подключить терминал. Я тоже когда-то вначале пробовал прошить из планера - платка перестала реагировать до прошивки флештулом, после спокойно поднялась и работает - так что загрузчик должен быть жив. Тем более если модем подключился - то явно чтото там живет и функционирует 😉

Да вы правы платка жива. Мне чудесным образом прошил наш однофорумчанин. Почему чудесным? Да потому, потому что я вроде все тоже самое делал. Единственное телеметрию при прошивке не отключал. Вот, что значит рука мастера. Раз и готово. Спасибо ему и всем дает ответы на этом форуме.

RTemka

Телеметрия поди на 0м порту висела 😃

11 days later
vender

Народ, подскажите не могу скомпилить
flip.pde:9:9: error: redefinition of ‘uint8_t flip_timer’
flip.ino:9:9: error: ‘uint8_t flip_timer’ previously declared here
flip.pde:10:9: error: redefinition of ‘uint8_t flip_state’
flip.ino:10:9: error: ‘uint8_t flip_state’ previously declared here
flip.pde:16:15: error: redefinition of ‘int8_t flip_dir’
flip.ino:16:15: error: ‘int8_t flip_dir’ previously declared here
flip.pde: In function ‘void init_flip()’:
flip.pde:18:6: error: redefinition of ‘void init_flip()’
flip.ino:18:6: error: ‘void init_flip()’ previously defined here
flip.pde: In function ‘void roll_flip()’:
flip.pde:28:6: error: redefinition of ‘void roll_flip()’
flip.ino:28:6: error: ‘void roll_flip()’ previously defined here
inertia.pde: In function ‘void read_inertia()’:
inertia.pde:4:13: error: redefinition of ‘void read_inertia()’
inertia.ino:4:13: error: ‘void read_inertia()’ previously defined here
inertia.pde: In function ‘void read_inertial_altitude()’:
inertia.pde:21:13: error: redefinition of ‘void read_inertial_altitude()’
inertia.ino:21:13: error: ‘void read_inertial_altitude()’ previously defined here
leds.pde: In function ‘void update_notify()’:
leds.pde:5:13: error: redefinition of ‘void update_notify()’
leds.ino:5:13: error: ‘void update_notify()’ previously defined here
leds.pde: In function ‘void copter_leds_init()’:
leds.pde:38:13: error: redefinition of ‘void copter_leds_init()’
leds.ino:38:13: error: ‘void copter_leds_init()’ previously defined here
leds.pde: In function ‘void update_copter_leds()’:
leds.pde:54:13: error: redefinition of ‘void update_copter_leds()’
leds.ino:54:13: error: ‘void update_copter_leds()’ previously defined here
leds.pde: In function ‘void copter_leds_reset()’:
leds.pde:129:13: error: redefinition of ‘void copter_leds_reset()’
leds.ino:129:13: error: ‘void copter_leds_reset()’ previously defined here
leds.pde: In function ‘void copter_leds_on()’:
leds.pde:140:13: error: redefinition of ‘void copter_leds_on()’
leds.ino:140:13: error: ‘void copter_leds_on()’ previously defined here
leds.pde: In function ‘void copter_leds_off()’:
leds.pde:161:13: error: redefinition of ‘void copter_leds_off()’
leds.ino:161:13: error: ‘void copter_leds_off()’ previously defined here
leds.pde: In function ‘void copter_leds_slow_blink()’:
leds.pde:182:13: error: redefinition of ‘void copter_leds_slow_blink()’
leds.ino:182:13: error: ‘void copter_leds_slow_blink()’ previously defined here
leds.pde: In function ‘void copter_leds_fast_blink()’:
leds.pde:199:13: error: redefinition of ‘void copter_leds_fast_blink()’
leds.ino:199:13: error: ‘void copter_leds_fast_blink()’ previously defined here
leds.pde: In function ‘void copter_leds_oscillate()’:
leds.pde:210:13: error: redefinition of ‘void copter_leds_oscillate()’
leds.ino:210:13: error: ‘void copter_leds_oscillate()’ previously defined here
leds.pde: In function ‘void copter_leds_GPS_on()’:
leds.pde:255:13: error: redefinition of ‘void copter_leds_GPS_on()’
leds.ino:255:13: error: ‘void copter_leds_GPS_on()’ previously defined here
leds.pde: In function ‘void copter_leds_GPS_off()’:
leds.pde:259:13: error: redefinition of ‘void copter_leds_GPS_off()’
leds.ino:259:13: error: ‘void copter_leds_GPS_off()’ previously defined here
leds.pde: In function ‘void copter_leds_GPS_slow_blink()’:
leds.pde:263:13: error: redefinition of ‘void copter_leds_GPS_slow_blink()’
leds.ino:263:13: error: ‘void copter_leds_GPS_slow_blink()’ previously defined here
leds.pde: In function ‘void copter_leds_GPS_fast_blink()’:
leds.pde:276:13: error: redefinition of ‘void copter_leds_GPS_fast_blink()’
leds.ino:276:13: error: ‘void copter_leds_GPS_fast_blink()’ previously defined here
leds.pde: In function ‘void copter_leds_aux_off()’:
leds.pde:286:13: error: redefinition of ‘void copter_leds_aux_off()’
leds.ino:286:13: error: ‘void copter_leds_aux_off()’ previously defined here
leds.pde: In function ‘void copter_leds_aux_on()’:
leds.pde:290:13: error: redefinition of ‘void copter_leds_aux_on()’
leds.ino:290:13: error: ‘void copter_leds_aux_on()’ previously defined here
leds.pde: In function ‘void piezo_on()’:
leds.pde:294:6: error: redefinition of ‘void piezo_on()’
leds.ino:294:6: error: ‘void piezo_on()’ previously defined here
leds.pde: In function ‘void piezo_off()’:
leds.pde:300:6: error: redefinition of ‘void piezo_off()’
leds.ino:300:6: error: ‘void piezo_off()’ previously defined here
leds.pde: In function ‘void piezo_beep()’:
leds.pde:306:6: error: redefinition of ‘void piezo_beep()’
leds.ino:306:6: error: ‘void piezo_beep()’ previously defined here
leds.pde: In function ‘void piezo_beep_twice()’:
leds.pde:314:6: error: redefinition of ‘void piezo_beep_twice()’
leds.ino:314:6: error: ‘void piezo_beep_twice()’ previously defined here
motors.pde: In function ‘void arm_motors_check()’:
motors.pde:10:13: error: redefinition of ‘void arm_motors_check()’
motors.ino:10:13: error: ‘void arm_motors_check()’ previously defined here
motors.pde: In function ‘void auto_disarm_check()’:
motors.pde:93:13: error: redefinition of ‘void auto_disarm_check()’
motors.ino:93:13: error: ‘void auto_disarm_check()’ previously defined here
motors.pde: In function ‘void init_arm_motors()’:
motors.pde:117:13: error: redefinition of ‘void init_arm_motors()’
motors.ino:117:13: error: ‘void init_arm_motors()’ previously defined here
motors.pde: In function ‘void pre_arm_checks(bool)’:
motors.pde:222:13: error: redefinition of ‘void pre_arm_checks(bool)’
motors.ino:222:13: error: ‘void pre_arm_checks(bool)’ previously defined here
motors.pde: In function ‘void pre_arm_rc_checks()’:
motors.pde:383:13: error: redefinition of ‘void pre_arm_rc_checks()’
motors.ino:383:13: error: ‘void pre_arm_rc_checks()’ previously defined here
motors.pde: In function ‘bool pre_arm_gps_checks(bool)’:
motors.pde:416:13: error: redefinition of ‘bool pre_arm_gps_checks(bool)’
motors.ino:416:13: error: ‘bool pre_arm_gps_checks(bool)’ previously defined here
motors.pde: In function ‘bool arm_checks(bool)’:
motors.pde:434:13: error: redefinition of ‘bool arm_checks(bool)’
motors.ino:434:13: error: ‘bool arm_checks(bool)’ previously defined here
motors.pde: In function ‘void init_disarm_motors()’:
motors.pde:472:13: error: redefinition of ‘void init_disarm_motors()’
motors.ino:472:13: error: ‘void init_disarm_motors()’ previously defined here
motors.pde: In function ‘void set_servos_4()’:
motors.pde:518:1: error: redefinition of ‘void set_servos_4()’
motors.ino:518:1: error: ‘void set_servos_4()’ previously defined here
navigation.pde: In function ‘void run_nav_updates()’:
navigation.pde:6:13: error: redefinition of ‘void run_nav_updates()’
navigation.ino:6:13: error: ‘void run_nav_updates()’ previously defined here
navigation.pde: In function ‘void calc_position()’:
navigation.pde:19:13: error: redefinition of ‘void calc_position()’
navigation.ino:19:13: error: ‘void calc_position()’ previously defined here
navigation.pde: In function ‘void calc_distance_and_bearing()’:
navigation.pde:28:13: error: redefinition of ‘void calc_distance_and_bearing()’
navigation.ino:28:13: error: ‘void calc_distance_and_bearing()’ previously defined here
navigation.pde: In function ‘void run_autopilot()’:
navigation.pde:55:13: error: redefinition of ‘void run_autopilot()’
navigation.ino:55:13: error: ‘void run_autopilot()’ previously defined here
navigation.pde: In function ‘bool set_nav_mode(uint8_t)’:
navigation.pde:75:13: error: redefinition of ‘bool set_nav_mode(uint8_t)’
navigation.ino:75:13: error: ‘bool set_nav_mode(uint8_t)’ previously defined here
navigation.pde: In function ‘void update_nav_mode()’:
navigation.pde:122:13: error: redefinition of ‘void update_nav_mode()’
navigation.ino:122:13: error: ‘void update_nav_mode()’ previously defined here
navigation.pde: In function ‘void reset_nav_params()’:
navigation.pde:167:13: error: redefinition of ‘void reset_nav_params()’
navigation.ino:167:13: error: ‘void reset_nav_params()’ previously defined here
navigation.pde: In function ‘int32_t get_yaw_slew(int32_t, int32_t, int16_t)’:
navigation.pde:184:16: error: redefinition of ‘int32_t get_yaw_slew(int32_t, int32_t, int16_t)’
navigation.ino:184:16: error: ‘int32_t get_yaw_slew(int32_t, int32_t, int16_t)’ previously defined here
navigation.pde: In function ‘void circle_set_center(Vector3f, float)’:
navigation.pde:196:1: error: redefinition of ‘void circle_set_center(Vector3f, float)’
navigation.ino:196:1: error: ‘void circle_set_center(Vector3f, float)’ previously defined here
navigation.pde: In function ‘void update_circle()’:
navigation.pde:238:1: error: redefinition of ‘void update_circle()’
navigation.ino:238:1: error: ‘void update_circle()’ previously defined here
perf_info.pde: At global scope:

zmnz
vender:

Народ, подскажите не могу скомпилить

Удалить все к чертям, потом поставить строго по мануалу.

20 days later
crand

Добрый вечер.
Прошу прощения, если вопросы покажутся нудными.
Вчера (вернее уже позавчера) первый раз увидел, как летает коптер на прошивке MegaPirate на плате AIOP. Мне понравилось. 2 года летал на Маховии, правда до конца так и не донастроил. Вроде летает, но всегда чего-то не хватало. В частности удержание высоты и точки - метров 3-5 в диаметре и до 1 метра по высоте. У Пирата лучше. По крайней мере, то что я увидел. Хочу попробовать. У меня коптер на AIOP с GPS, OSD и модуле блютуз с Rc-Timer с выносным компасом. Ради интереса прошил через FlashTool. Прошился с первого раза, в Mission Planere видится. Откалибровал аксели. Компас выносной на удивление заработал сразу. GPS не проверял - питание не подавал, завтра буду пробовать. Да и EEPROM сперва почистить надо.
Вопросы такие - кроме порядка подключения двигателей, что еще меняется? GPS, блютус, OSD, датчик напряжения, пищалка, подвес? Где можно посмотреть порядок сборки на AIOP? Или все остается на тех-же портах?
Спасибо.

crand

Добрый вечер.
Задал этот вопрос в теме про OSD. Ответа не дождался. Может кто-то здесь поможет.
Спасибо.

"Плата MAVLink-OSD была прошита KV Team OSD. Пробую прошить MinimOSD под Mega Pirate. Все прошивается, запускается, но линия горизонта рисуется значками и при покачивании коптера прорисовывается рисунок от Мультивия. Шрифты обновлял, EEPROM чистил. Что делаю не так? "

PS. Файл шрифтов заливал от разных проектов, положительного результата нет.

RTemka

Ответ на поверхности 😃
Шрифт не залился или не тот заливаете.

crand
RTemka:

Шрифт не залился или не тот заливаете.

Нет, вчера разобрался. Проклятый склероз - знал, да забыл.😁 Питания от программатора недостаточно, для видеопроцессора надо и основное питание подавать.

RTemka

Просто у видео 3 питания.
Одно штатно к цифре, а два со стороны аналога подключены.

crand

Непонятное при первом Armed после подключения аккумулятора. Левый стик вправо на 4 сек., отпускаешь его и через 2 секунды стартуют двигатели. На второй и следующие разы (если не отключать акк) стартует через 4 секунды стика вправо. Ну или долго держать при первом запуске. Но пугает именно эта пауза при первом запуске.

И необходимость реверса Rolla это нормально?

Sir_Alex
crand:

Но пугает именно эта пауза при первом запуске.

При первом запуске, происходит калибровка датчиков. Это видно по моргающим светодиодам.

crand
Sir_Alex:

При первом запуске, происходит калибровка датчиков.

Это именно при запуске? Я на Mahowii привык, что датчики калибруются при подаче напряжения.

crand

Еще вопрос - можно ли откалибровать RSSI? Или только делитель? А то показывает 160%.

crand

Спасибо, но такого параметра в прошивке не нашел.

crand

Подскажите, пожалуйста, настройка PID в полете через 6-й канал работает? А то у меня не запоминается настройка на 6-м канале режимов работы, как здесь описано - ardupilot-mega.ru/wiki/…/ac_rollpitchtuning.html
Спасибо.

RTemka

Что бы не устраивать шоу экстрасенсов, скажите хоть какую прошивку мучаете 😃

crand

Ну вообще-то в данной теме одна прошивка обсуждается. Если версия, то последняя - 3.1.5-R2.