ArduCopter Mega: порт на обычную Arduino (тестим)
- открыть в Ардуине любой pde из каталога, скомпилить и загрузить в плату
Выходит вот такая ошибка при компиляции в ардуино-иде, че делать?
ArduCopterMega.cpp: In function ‘void init_rc_in()’:
radio:52: error: ‘RC_CHANNEL_ANGLE_RAW’ was not declared in this scope
у меня вот так ругается:
ArduCopterMega.cpp: In function ‘void init_rc_in()’:
ArduCopterMega.cpp:6589: ошибка: нет декларации ‘RC_CHANNEL_ANGLE_RAW’ в этой области видимости
ошибка убрана, перезагрузите патч. Это джейсон опять все переколбасил в оригинале.
Еще… у кого ffimu и allinone, имейте в виду, расположение датчиков разное! Еще и адреса акселя разные.
В файле AP_ADC_ADS7844.cpp
раскомментируйте соотв. строку:
//*****************************
// Select your IMU board:
//#define FFIMU
#define ALLINONE
//*******************************
Активация моторов у “них” отличается, после отклонения ручки нужно еще и газу поддать. Глупо, надо переделать.
не одно, дык другое:
/home/sovgvd/build/arduino-0022/libraries/APM_BMP085/APM_BMP085.cpp:38:18: error: Math.h: Нет такого файла или каталога
/home/sovgvd/build/arduino-0022/libraries/APM_BMP085/APM_BMP085.cpp: In member function ‘long int APM_BMP085_Class::GetASL()’:
/home/sovgvd/build/arduino-0022/libraries/APM_BMP085/APM_BMP085.cpp:259: ошибка: нет декларации ‘pow’ в этой области видимости
Math.h должно быть в Arduino IDE или надо где то искать еще?
Переместил индикацию режима на единственный в ардуино светодиод. патч обновлен
Постоянно горит: готов к запуску
Мигает редко: моторы активированы, стабильный режим
Мигает часто: моторы активированы, пилотажный режим (на гирах)
Глеб, что за странный ардуин IDE у тебя? матф не знает, пишет по-русски…
Скачай официальную 0022 версию, что ли… У меня без единого еррора компилится.
Скачай официальную 0022 версию
это и есть официальная версия с сайта arduino, яж не сам её придумывал… есть предположение что компилятор не из неё, а че нить от убунты компилит =)
UPD: в Linux версии arduino IDE нету вообще компилятора походу =) www.arduino.cc/playground/Learning/Linux
в общем такие у меня теперь датчики L3G4200D и BMA020 - самому поковырять код (AP_ADC/AP_ADC_ADS7844.cpp - тут менять или еще где?) или будет патчик? =)
в Linux версии arduino IDE
Тогда попробуй поменять Math.h на math.h
Насколько я знаю, линух не любит разные регистры.
По поводу акселя и гиро, попробуй поковырять AP_ADC_ADS7844.cpp, там все I2C процедуры выдраны из Мультивия. Подставив инициализацию и чтение, все должно заработать.
Тогда попробуй поменять Math.h на math.h
ага, получилось
Binary sketch size: 124428 bytes (of a 126976 byte maximum)
однако тяжеленькая прошивочка получается
кто нибудь уже летал на этой прошивке хоть?
Ну, я в руке запускал, тряс по-разному, вроде отлично работает… У Норберта на квадрике чо-то глючит с управлением моторами. Больше впарить потестить некому 😦
я в руке запускал
а почему не полетал? сегодня поковыряю датчики и MultiWii, попробую взлететь… к 9-ому попробую эту прошивку
еще вопрос по дальномеру, в коде 2 пина используется, у меня только 1 (PING))) сенсор) - тупо запаралелить на 2 пина ножку? или код менять придется? или вообще не в курсе? =)
Да потому что не умею! 😦 А Morpheusa в гости звать пока рано.
Сонар используется импульсный, т.е. у него 2 ноги, одна - активация импульса, 2 - эхо. Т.е. вход не аналоговый, как у maxsonar, а цифровой.
В каком виде сигнал на пинге?
arduino.cc/en/Tutorial/Ping?from=Tutorial.Ultrasou…
// The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
// The same pin is used to read the signal from the PING))): a HIGH
// pulse whose duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object.
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
// convert the time into a distance
inches = microsecondsToInches(duration);
cm = microsecondsToCentimeters(duration);
Да потому что не умею!
ааа, читеры… pinmode занимает 80 мкс
Чтобы можно было замкнуть 2 пина, добавь это:
ISR(TIMER5_COMPA_vect) // measurement is over, no edge detected, Set up Tx pin, offset 12 us
{if (sonar_meas==0) sonar_data=-1;DDRL|=B00000100; PORTL|=B00000100;TCNT5=65533;}
ISR(TIMER5_OVF_vect) // next measurement, clear the Tx pin,
{PORTL&=B11111011;DDRL&=B11111001; sonar_meas=0;}
ISR(TIMER5_CAPT_vect) // measurement successful, wait 40ms, next measurement
{sonar_data=ICR5;TCNT5=29990;sonar_meas=1;}
Замыкать надо 47 и 48 ноги
прошивка залилась, но че-то настраивать запарился. Погода, однако, хорошая, пошел опять на Мультивие летать ))))
Также, смотрел “raw sensor data” там только гирики работали, аксели были отключены.
Очень бы хотелось поддержку гироскопа L3G4200D и акселерометра ADXL345(цифровой),в Мультивии они поддерживаются.
Думаю будет полезно многим,т.к не все такие продвинутые Программеры,особенно я.
Вышла официальная бета, которая тут же подверглась портированию.
Теперь уж ничего дополнительно качать и команды вводить не надо. Поставил библиотеки, открыл проект, закомпилил, зашил…
Проект порта поменял название, будет идти в ногу с Ардукоптером.
…googlecode.com/…/PirateCopter2Beta1.zip
По умолчанию настроен на FFIMU.
По новым железкам, пусть сначала его в воздух люди поднимут на том, что есть, а то будет как в мультивие, дофига всего, и толком не работает.
тут пока тоже дофига всего, но не понятно летает кто-то или нет =)
хотел завтра попробовать эту прошивку, а чето моторчик один дребезжит немного, другой скребется… причем ни разу не падал пока эксперементил =(
UPD: собирается, но в Linux снова ругнулось на Math с большой буквы =)
опять в БМП085? а у меня с маленькой ругается в винде 😦
Ахринеть!
Олег, понимаю, что Вы не в курсе, что значит сокращение “svn”, и вообще принцип работы механизма по этому протоколу, поэтому как бы это… Попадаете по распространение “***”, как минимум 😦 Не делайте так больше, пожалуйста.
А все обновления можно выкладывать в другие места, свободные для скачивания без клиентский программ.
что значит сокращение “svn”
а в чем собсна гря проблемы?! обычный вершн контрол систем… вы о чем вообще тут??? если вы про платные клиенты к нему, то это уж личное дело каждого что юзать, т.к. есть и куча бесплатных в том числе и серваков если не ошибаюсь…