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

SovGVD

не одно, дык другое:

/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 или надо где то искать еще?

Syberian

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

Глеб, что за странный ардуин IDE у тебя? матф не знает, пишет по-русски…
Скачай официальную 0022 версию, что ли… У меня без единого еррора компилится.

SovGVD
Syberian:

Скачай официальную 0022 версию

это и есть официальная версия с сайта arduino, яж не сам её придумывал… есть предположение что компилятор не из неё, а че нить от убунты компилит =)
UPD: в Linux версии arduino IDE нету вообще компилятора походу =) www.arduino.cc/playground/Learning/Linux

SovGVD

в общем такие у меня теперь датчики L3G4200D и BMA020 - самому поковырять код (AP_ADC/AP_ADC_ADS7844.cpp - тут менять или еще где?) или будет патчик? =)

Syberian
SovGVD:

в Linux версии arduino IDE

Тогда попробуй поменять Math.h на math.h
Насколько я знаю, линух не любит разные регистры.

По поводу акселя и гиро, попробуй поковырять AP_ADC_ADS7844.cpp, там все I2C процедуры выдраны из Мультивия. Подставив инициализацию и чтение, все должно заработать.

SovGVD
Syberian:

Тогда попробуй поменять Math.h на math.h

ага, получилось
Binary sketch size: 124428 bytes (of a 126976 byte maximum)
однако тяжеленькая прошивочка получается

кто нибудь уже летал на этой прошивке хоть?

Syberian

Ну, я в руке запускал, тряс по-разному, вроде отлично работает… У Норберта на квадрике чо-то глючит с управлением моторами. Больше впарить потестить некому 😦

SovGVD
Syberian:

я в руке запускал

а почему не полетал? сегодня поковыряю датчики и MultiWii, попробую взлететь… к 9-ому попробую эту прошивку

еще вопрос по дальномеру, в коде 2 пина используется, у меня только 1 (PING))) сенсор) - тупо запаралелить на 2 пина ножку? или код менять придется? или вообще не в курсе? =)

Syberian

Да потому что не умею! 😦 А Morpheusa в гости звать пока рано.
Сонар используется импульсный, т.е. у него 2 ноги, одна - активация импульса, 2 - эхо. Т.е. вход не аналоговый, как у maxsonar, а цифровой.
В каком виде сигнал на пинге?

SovGVD

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);
Syberian:

Да потому что не умею!

да я тоже не умею, но попробовать полетать имхо надо =)

Syberian

ааа, читеры… 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 ноги

Volver

прошивка залилась, но че-то настраивать запарился. Погода, однако, хорошая, пошел опять на Мультивие летать ))))

Также, смотрел “raw sensor data” там только гирики работали, аксели были отключены.

soliada

Очень бы хотелось поддержку гироскопа L3G4200D и акселерометра ADXL345(цифровой),в Мультивии они поддерживаются.
Думаю будет полезно многим,т.к не все такие продвинутые Программеры,особенно я.

Syberian

Вышла официальная бета, которая тут же подверглась портированию.
Теперь уж ничего дополнительно качать и команды вводить не надо. Поставил библиотеки, открыл проект, закомпилил, зашил…
Проект порта поменял название, будет идти в ногу с Ардукоптером.
…googlecode.com/…/PirateCopter2Beta1.zip
По умолчанию настроен на FFIMU.

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

SovGVD

тут пока тоже дофига всего, но не понятно летает кто-то или нет =)
хотел завтра попробовать эту прошивку, а чето моторчик один дребезжит немного, другой скребется… причем ни разу не падал пока эксперементил =(
UPD: собирается, но в Linux снова ругнулось на Math с большой буквы =)

Syberian

опять в БМП085? а у меня с маленькой ругается в винде 😦

Roix

Ахринеть!
Олег, понимаю, что Вы не в курсе, что значит сокращение “svn”, и вообще принцип работы механизма по этому протоколу, поэтому как бы это… Попадаете по распространение “***”, как минимум 😦 Не делайте так больше, пожалуйста.
А все обновления можно выкладывать в другие места, свободные для скачивания без клиентский программ.

mahowik
Roix:

что значит сокращение “svn”

а в чем собсна гря проблемы?! обычный вершн контрол систем… вы о чем вообще тут??? если вы про платные клиенты к нему, то это уж личное дело каждого что юзать, т.к. есть и куча бесплатных в том числе и серваков если не ошибаюсь…

Syberian

http://www.sliksvn.com/en/download собственно совершенно бесплатная субверсия.
Сам проект с открытым кодом, под GPL, free to modify etc. Копилефты в коде имеются.
Чего еще надо-то?

Syberian

Обновлен МегаПират бета2:

  • основной цикл стал 5.4 мс вместо родных 16, для I2C-датчиков это очень критично
  • закончена настройка сонара. Используется DYP-ME007 за $8 вместо Maxsonar за $40. Точность - 1 сантиметр, дальность до 3 метров (стабильно), максимум 5.
    Trig подключить к D47, Echo - к ноге D48.
  • переписана инициализация ITG3200, из-за чего у него в 8 раз упал рейт

Барометр как работал, так и работает.
Для GPS надо носить на улицу, т.к. окна на север, фикса нет, хотя статус показывается нормально.
Магнетометр из Allinone нужно вырезать и вешать отдельно, а еще лучше самого разработчика 😦 , так как вот , а другого у меня нет.

Попробовал пожужжать в комнате, треха висит довольно стабильно, вобла пропала, но подергивается из-за кривого демпфера. Код пока отставляю в сторону, буду лечить свою битую трешку от вибрации.

Ах да, забыл архивчик приложить 😃
ardupirates.googlecode.com/…/MegaPirateB2.zip

Напоминаю, что:
Дабы исключить мороки с разными версиями библиотек у разных пользователей, МегаПират будет обновляться так называемыми бандлами (bundle), т.е. полным архивом, который был лично затестен мной так, как он есть.
Для каждой конкретной версии ArduCopter2 будет существовать свой архив МегаПирата. После выхода очередного обновления ардукоптера и его “пиратизации” работа над предыдущим архивом будет прекращена.

Covax
Syberian:

Магнетометр из Allinone нужно вырезать и вешать отдельно, а еще лучше самого разработчика , так как вот , а другого у меня нет.

Олег, а в чем там проблема?