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

tusik
SovGVD:

только svn пока

А как этой свн пользоваться? Объясните ламеру

SovGVD
tusik:

А как этой свн пользоваться?

хз как винде =) но имхо надо скачать какой нибудь SVN клиент под винду и забить туда сливание кода по ссылке megapirateng.googlecode.com/svn/branches
вообще надо бы потестить, вот файлики на обновление (чтобы всё не тянуть)
конфиги: dl.dropbox.com/u/…/mpng_2.0.40_test3_magfix.zip
библиотека: dl.dropbox.com/…/mpng_2.0.40_test3_magfix_AP_Compa…
но лучше SVN юзать - не очень удобно под каждое тестируемое изменение делать новый архив
там кстаии еще обновление с программным триммированием аппы, по идее можно больше не гемороится с тримирование на самой аппе
как будет хотябы еще 2 подтверждения что компас показывает как надо - можно будет тестить =)
еще есть нехорошее предчувствие что может сломаться удержание курса, но опять НАДО ТЕСТИТЬ

Sir_Alex
tusik:

А как этой свн пользоваться? Объясните ламеру

  1. Устанавливаем TortoiseSVN
  2. Создаем какую нить папку
  3. вызываем контекстное меню на папке, и там выбираем “SVN Checkout”, в окне, указываем URL Repository:
    Для версии 2.0.40 - http://megapirateng.googlecode.com/svn/branches/2.0.40
    Для версии 2.0.39 - http://megapirateng.googlecode.com/svn/trunk/
  4. Жмем OK
    В дальнейшем, что бы получить последнюю версию исходников, выбираем SVN Update
SovGVD

2.0.39 лучше не использовать - там тот же косяк с компасом должен быть, да и вообще заброшено в виду пиления 2.0.40 =)
кстаи Норберт (kinderkram) положительно отзывается о 2.0.42
так что если щас проблема с компасом решится, надо портировать

tusik
SovGVD:

щас проблема с компасом решится

Щас затещу…

SovGVD

тут у народа красивые графики работы барометра с сонаром (кликабельно):


тоже такие хочу

tusik:

Щас затещу…

setup-offsets попробуй не делать и посмотреть как себя компас ведет… если ЯВНО лагает (пропускает вращение, а не отклонаяется на несколько градусов от реального положения), то попробуй cli-setup-offsets (чтобы сбросить cli-setup-offsets c)

tusik

Три картинки: 1 поворот на 90 градусов в терминале (повернул и оставил), на двух остальных поворот на 180 градусов (повернул и оставил)

SovGVD

хз по картинкам =) я GPS подлкючал и сравнивал положение самолетика (у меня в виртуалке новая версия повисает, там походу с directx теперь), показывал адекватно, но со смещением (ощущение что неверно было как раза на выставленный declination)
еще рекомендую сначало почистить все значения: cli-setup-erase, потом пару раз перезгрузить платку и потом посмотреть чего и как

Sir_Alex
SovGVD:

тут у народа красивые графики работы барометра с сонаром (кликабельно):

а в чем они их получили? В Планере? У меня в планере все графики с какими то жирными линиями… совсем некрасивые 😃

SovGVD

это логи с оригинального ардукоптера… можно попробовать у нас в CLI добавить показание баро и сонара сразу и потом в офис/опенофис/гуглодокс забить и посмотреть

tusik
SovGVD:

хз по картинкам

На двух последних картинках поволот на 180 градусов, а если посмотреть на верхний ряд циферок (градусы?) то врятли наберется 40

SovGVD

опа… а чето в SVN не залились файлы то новые от компаса? 0_0
как обновить список файлов для закачки?

Sir_Alex
SovGVD:

как обновить список файлов для закачки?

В смысле? Удаляешь файл и заливаешь по новой 😃

Кстати, а для чего вообще нужно делать setup->compass offsets? Я так понимаю, что компас калибруется автоматом, во время запуска коптера (или полета)

SovGVD

не, там новые файлы добавились, он их не обновил… но щас нашел куда тыркнуть =) чуть позже залью

а еще меня вот этот код смущает:

if(baro_alt < 1000){

			#if SONAR_TILT_CORRECTION == 1
				// correct alt for angle of the sonar
				float temp = cos_pitch_x * cos_roll_x;
				temp = max(temp, 0.707);
				sonar_alt = (float)sonar_alt * temp;
			#endif

			scale = (sonar_alt - 400) / 200;
			scale = constrain(scale, 0, 1);
			current_loc.alt = ((float)sonar_alt * (1.0 - scale)) + ((float)baro_alt * scale) + home.alt;
		}else{
			current_loc.alt = baro_alt + home.alt;
		}

высота барометра отдается в сантиметрах, т.е. к барометру, поключится сонар на высотее менее 1000 см (10 метров!) дальше какое то математическое кунгфу
у оригинального ардукоптера сонар до 10 метров прошибает?

в оригинальном ардукоптере (в сантиметрах же)

// convert analog value to distance in cm (using child implementation most likely)
	raw_value = convert_raw_to_distance(raw_value);

и при этом границы от 20 см до 7 метров (наш дальномер в лучшем случае 5 метров, а в реальности метра 2 только стабильно)

#define AP_RANGEFINDER_MAXSONARXL_MIN_DISTANCE 20
#define AP_RANGEFINDER_MAXSONARXL_MAX_DISTANCE 700

и где задается SONAR_TILT_CORRECTION=1? вроде не видел такого раньше тут

Sir_Alex:

Я так понимаю, что компас калибруется автоматом, во время запуска коптера (или полета)

хз… у меня нормально показывает только если не калибровать вообще =) но вернул на всякий случай

tusik

Заработал компас. Показывает, вроде, правильно. Глеб, у тебя в последней прошивке нет #define MAG_ORIENTATION ROTATION_YAW_270

SovGVD
tusik:

в последней прошивке нет #define MAG_ORIENTATION ROTATION_YAW_270

он вроде одинаковый для всех - вынес его в config.h, чтобы глаза не мозолил =)

tusik:

Заработал компас.

а сделал то что? или само собой?

tusik
SovGVD:

а сделал то что? или само собой?

Сделал еразе, и поставил #define MAG_ORIENTATION ROTATION_YAW_270

SovGVD

имхо еразе должен был помочь… всеравно где задается конфиг компаса (потестируб вечером, если влияет, то верну на место)
проверь в config.h есть строки

#define HIL_MODE	HIL_MODE_DISABLED
#define GCS_PROTOCOL  GCS_PROTOCOL_MAVLINK
#define MAG_ORIENTATION		ROTATION_YAW_270
#define MAG_PROTOCOL MAG_PROTOCOL_5883L
tusik
SovGVD:

в config.h есть строки

Строки есть, но пока не вернул #define MAG_ORIENTATION ROTATION_YAW_270 на место, правильно не показывал

iBat
SovGVD:

опа… а чето в SVN не залились файлы то новые от компаса? 0_0
как обновить список файлов для закачки?

  1. В какую ветку коммит был?
  2. Не залиться они ну просто не могут 😃 Если только какой-то глюк при коммите произошел. Тогда можно попробовать make clean и коммит заново.

Если по SVN еще вопросы будут - обращайтесь 😃

SovGVD
  1. в бранч 2.0.40
  2. могут, если не поставить им статус на добавление (файлов до этого не было в списке и commit игнорил их… через какой то аддон к файловому манагеру поставил статуст на добавление и всё отлично залилось)
tusik:

пока не вернул #define MAG_ORIENTATION ROTATION_YAW_270 на место, правильно не показывал

ну фиг с ним, верну туда =)