Создание собственной системы стабилизации

Drinker
soliada:

Торт в виде платы с шоколадными дорожками и чипами)))

Точно, только он должен быть портирован ну например с “ленинградского” и обязательно че-то в нем не совсем должно быть как положено. 😃

SergDoc
Drinker:

с “ленинградского”

я в детстве “птичье молоко” любил 😃

Я клонил себе в гит репозитории арду - за пару дней разберусь пропатчу…
только не разобрался - как сделать чтобы ИХ изменения у меня применялись?
и назревает необходимость квадрик собирать 😦 дабы не перекомпиливать несколько раз проект 😦 придётся “дохлого кота” с полки доставать…

Sir_Alex
SergDoc:

только не разобрался - как сделать чтобы ИХ изменения у меня применялись?

Ой, это без 100 грамм не разобраться. Автоматом, их изменения у тебя не будут применятся. Это надо мержить руками, ну в смысле мержить их ветку в твою.

SergDoc:

Для Алексея: Компас показывает верно, но совсем забыл - я когда прошивал и калибровал, то вспомнил что в старом ПО у меня трёха (блин автомикс как никак к стати был бы) и перешил обе платы на квадрик - мог съехать mtd раздел так что его точно надо стереть!!! компас ворочать ненадо!!!

не, ну я проверь, но причем тут треха или квадрик? При изменении рамы, никакие настройки съехать не могли, да и для компаса там нечему съезжать.

SergDoc
Sir_Alex:

Автоматом, их изменения у тебя не будут

там pull кнопочка есть 😃

Sir_Alex:

При изменении рамы, никакие настройки съехать не могли, да и для компаса там нечему съезжать.

а я по чём знаю 😃 я серьёзно - калибровал все, смотрел, а потом вспомнил, что у меня в конфиге трёха и перешил две платы, но после этого не калибровал - прошивка идентичная, датчики из одной коробки…
а вот mtd раздел при перепрошивке не трогается!!! а тип рамы +илиX там! прошивальщик о нём не знает 😦 если с компасом бы было что-то не так (постоянное магнитное поле рядом или оси в раскорячку…) он бы не завёлся писалбы что у компаса жисть плохая - я динамиком проверял 😃
зраблю новую - в гит положу проверим 😃

mtd - это их новое нахуяу ноухау и я не смотрел где он находится - знаю что из двух секторов раньше на sd файл с настройками создавался и eeprom 24-ю что-то писалось сейчас всё во флеши - я в вие сам делал виртуалку, то знал как её кусать (полной перепрошивкой проца), а тут mtd erase из наттикса…

А, в тех платах, что у тебя, магнитное склонение я вроде не писал - оставил в автомате!

Sir_Alex
SergDoc:

А, в тех платах, что у тебя, магнитное склонение я вроде не писал - оставил в автомате!

Ну ясный пень я прописывал склонение и отключал Auto Dec, поди не первый контроллер настраиваю 😃

Кстати, патч что ты выкладывал, не совсем патч. Например по твоим файлам невозможно сказать что именно в них изменено. Надо было именно патч сгенерить или хотя бы оставить оригинальные файлы то же.

SergDoc:

там pull кнопочка есть

Кнопочка то есть, но не все так просто.

SergDoc
Sir_Alex:

Кстати, патч что ты выкладывал, не совсем патч. Например по твоим файлам невозможно сказать что именно в них изменено. Надо было именно патч сгенерить или хотя бы оставить оригинальные файлы то же.

я подписывал где что менял - в гит будет видно изменения 😃
если ничего экстраординарного не случится сегодня сделаю…

Sir_Alex:

но не все так просто.

ну да надо прятать свои патчи git stash, потом обновляться и накатывать свои патчи обратно…

rual
SergDoc:

я подписывал где что менял - в гит будет видно изменения

Можно сделать нормальный патч с разделением платформ, под старую плату я делал. При этом железозависимые части выводятся в отдельную директорию (как сделано для px4-v1 и px4-v2), а в общих файлах выделяются условной компиляцией, при этом сборка будет делаться командой make f4by.

SergDoc
rual:

при этом сборка будет делаться командой make f4by

только на сколько помню надо было делать сначала, make px4, а потом уже make f4by - под виндой это двухчасовой кошмар 😃
и в ардупилоте самом надо делать отдельный HAL ибо там Usart-ы менять надо…
блин это ж потом каждый файл выцепи и подключи к git😵
и надо тогда с лодыря начинать - сменить тип борда и id написать как оно называеццо и потом прошивальщик заставить енто понимать 😃
к Алексею: какие светодиоды и за что отвечают в AIO надо дописывать остальные работают всего два, пока один арм-дизарм второй просто показывает что GPS подключен…

rual
SergDoc:

только на сколько помню надо было делать сначала, make px4, а потом уже make f4by - под виндой это двухчасовой кошмар

Да, надо было, это было надо для формирования архивных сборок, после обычная короткая докомпиляция сколько хош. Можно это всё поправить, но смысла нет, ибо при первой компиляции всё равно идет предварительная сборка под все четыре платформы ( с нашей пять 😃 ).

Да и торопиться не куда, релизы выходят на порядок реже чем возможно перекомпилить на 486м ))))

Sir_Alex
SergDoc:

ну да надо прятать свои патчи git stash, потом обновляться и накатывать свои патчи обратно…

Это первая стадия геморроя, а вторая, когда ты начнешь делать у себя ответвления, например что бы стабилизировать версию прошивки. Например у меня в пирате, делается ветка на основании релизной версии ардукоптера, куда я вношу изменения - у меня может быть несколько ревизий, прежде чем я сам выпущу версию. Потом эти изменения надо обратно залить в master и начинается катавасия.
Я не говорю что это все очень сложно, но повозится приходится.

rual
Sir_Alex:

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

Здесь это не нужно 😎 , по карйней мере, пока нутекс не перепишут!
Достаточно просто заменить папку ArduCopter и перекомпилить. Сергей правда туда тоже какие то изменения вносил, но скорей всего без этого можно обойтись, будет время - проаналитим.

Sir_Alex
rual:

Достаточно просто заменить папку ArduCopter и перекомпилить. Сергей правда туда тоже какие то изменения вносил, но скорей всего без этого можно обойтись, будет время - проаналитим.

Вы походу не понимаете. Смотрите, завтра, например, дидроновцы выпускают APM:Copter 3.2, вы делаете клон этой версии и патчите ее под F4BY, заливаете новые исходники в гитхаб и выпускаете 3.2 RC1. Через день, вы находите ошибку в вашем порте, но дидроновцы то на месте не стоят, они уже новых правок напостили в гитхаб - вам эти правки не нужны для выпуска 3.2 RC2. Вот тут вам, нужна отдельная ветка, где вы будете делать порт именно 3.2, потому что таких итераций может быть несколько, всегда после тестирования вылазит что то новенькое.

SergDoc
Drinker:

Точно, только он должен быть портирован ну например с “ленинградского” и обязательно че-то в нем не совсем должно быть как положено.

применительно к торту - это уже совсем другой торт получится 😃

Одно радует с моего git скорость хорошая 😃

rual
Sir_Alex:

Вы походу не понимаете.

Понимаю.

Sir_Alex:

Через день, вы находите ошибку в вашем порте,

Это вряд ли 😃 Там не так много изменений и надеюсь постоянно их делать не надо будет. Кроме того все косяки можно выловить при тестах не запуская АПМ, прямо из терминала Нутекса. За саму работу АПМ, ессесно, мы отвечать не можем, ибо в нём мы никаких изменений не делаем.
Т.е. если выходит новый релиз АПМ и он безглючно работает (либо иное не замечено) на ПХ4 и Пиксхавке, то он ровно также будет работать и на F4BY.

SergDoc:

надо менять ardupilot / libraries / AP_HAL_PX4 / AnalogIn.cpp
ardupilot / libraries / AP_HAL_PX4 / HAL_PX4_Class.cpp
ardupilot / mk / PX4 / ROMFS / init.d / rc.APM

изменения там копеешные, да и сами либы меняются редко, стало быть их особо трогать не нужно. Менять только АПМ.
Вот только меня терзают смутные сомнения, как бы дидронсы не начали бороться с чужим железом проверкой настроек периферии прямо из кода АПМ. Хотя такой вариант убьет все прелести ХАЛа для них самих.

Sir_Alex
rual:

Это вряд ли Там не так много изменений и надеюсь постоянно их делать не надо будет. Кроме того все косяки можно выловить при тестах не запуская АПМ, прямо из терминала Нутекса. За саму работу АПМ, ессесно, мы отвечать не можем, ибо в нём мы никаких изменений не делаем.

Это точно не на вряд ли. Я вчера наткнулся на косяк с компасом и на данный момент не понятно откуда он вылез. Компас оказался повернут на 45градусов. Опять таки, код написан так, что ориентацию компаса нельзя сменить в планере (игнорируется) - а это значит, что скорее всего надо будет менять код (возможно конечно поможет очистка mtd как писал Сергей, но что то я не верю) - вот тебе и вторая версия, а я только начал тестировать.

Кроме этого, как то странно работает USB COM порт. Я к сожалению не знаю как работает он у PX4, но тут что то не так. Если подключится терминалом к COM порту, почти сразу после подачи питания на плату, то терминал быстренько отваливается. Я подозреваю, что COM порт отключается после запуска Nuttex и передачи управления в APM. Если дождатся пока светодиод быстро проморгается и потом подключится - все нормально, пока не сделаешь ребут плате - после этого порт опять не коннектится.

rual
Sir_Alex:

Компас оказался повернут на 45градусов. Опять таки, код написан так, что ориентацию компаса нельзя сменить в планере (игнорируется) - а это значит, что скорее всего надо будет менять код (возможно конечно поможет очистка mtd как писал Сергей, но что то я не верю) - вот тебе и вторая версия, а я только начал тестировать.

45 это странно, кратно 90 может быть. Надо бы проверить данные через терминал, в терминале набрать hmc5883 и он выдаст подсказку по командам.

Sir_Alex:

Кроме этого, как то странно работает USB COM порт.

это не косяк 😃 это режим прошивки, сразу после сброса запускается лодырь, который быстро мигает СВД. А после нескольких секунд запускается нутекс и АПМ.

SergDoc
Sir_Alex:

вот тебе и вторая версия, а я только начал тестировать.

это аномалия 😃 - у меня такая же плата и та же прошивка - и север у меня на севере 😃

Sir_Alex:

Если дождатся пока светодиод быстро проморгается и потом подключится - все нормально, пока не сделаешь ребут плате - после этого порт опять не коннектится.

я ж тебе вроде вчера объяснял - да и мы в первой версии с этим напоролись (вместо специфического порта A9 у меня резюк на D+ 1.5К висел для определения платы и наттикс не детектился ибо комп не понимал что лодырь кончился и это уже другое устройство) - оно чё делает - работает лодырь - если подключен по усб (ели усб не подключен он сразу переходит к исполнению программы - моргать не будет) - потом он отсоединяет устройство и вместо этого устройства на тот же порт! цепляет другое 😃 я не знаю почему так сделано, например те же ОР идут как HID совместимые устройства и качелей таких с отключением - подключением нет… тоже самое ты на своих платах (Атмегах) через ftdi цепляешься - и компу пофиг, что ты ресет жал… в терминале например перезагрузка проходит сама без последствий - пишет порт занят - потом ребутит сам плату и опа мы в терминале…

rual
Sir_Alex:

Компас оказался повернут на 45градусов.

Это наш косяк, ибо порт делали новый на новую плату. Исправимся.

SergDoc
rual:

Это наш косяк, ибо порт делали новый на новую плату. Исправимся.

но у меня то его нет?
Ты подключайся быстрее - знаешь как весело 😃
так, приду домой залью прошивку проверю 😃

Sir_Alex

Я тут вычитал (но не проверял), что если достать SD карточку, то APM не загрузится, но: При этом на USB порту будет работать NSH Shell - а значит можно и команды в нем подавать 😃 Например те что Сергей писал про стирание mtd.