Smalltim OSD and autopilot (часть 1)

smalltim

Следующие данные предполагается отправлять с борта на наземную станцию по видеоканалу или через радиолинк Слона:

U32 second;
U8 gps_numsatellites;
U8 gps_fixmode;
U8 ap_status; // bits: ap_active:assist_active:rcsignal_lost etc
float gps_startlat;
float gps_startlon;
float gps_startalt;
float gps_curlat;
float gps_curlon;
float gps_curalt;
float gps_curspeed;
S16 gps_curheading;
S16 bearing_to_base;
U16 voltage1;
U16 voltage2;
U16 voltage3;
U16 current;
U32 mah;
S16 temperature; //8.8 bit
U16 baro_curspeed;
S16 baro_curalt;
S16 pyro_curroll;
S16 pyro_curpitch;
S8 targetthrottle;

Вместе с идентификатором пачки и контрольной суммой получается ровно 64 байта.
По видеолинку обновление данных ожидается ~20 раз в секунду, по радиолинку Слона минимум ~5 раз в секунду.
В случае работы телеметрии без АП формат пачки другой, данных меньше, но обновление данных в каждом кадре, т.е. 50(PAL)/60(NTSC) раз в секунду.

kulikof

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

//
Тим, если кому уж очень нужно отдай мой комплект АПиТ, мне он все равно раньше сентября не понадобится

smalltim

>лог можно будет на мониторе трекера посмотреть (полистать)?

Нет, лог на ЖК экранчике нельзя будет просмотреть-пролистать.
Это тащит за собой наличие хорошего объема памяти, более мощный проц, больше кнопок, сложнее софт. Зачем, когда можно слить лог с пилота на компук или просто посмотреть всё в реальном времени через GE или Ozi?

>Тим, если кому уж очень нужно отдай мой комплект АПиТ, мне он все равно раньше сентября не понадобится

Не, твой комплект задрючен для минимального веса и объема, пусть лежит ждет тебя.

Коллеги, я тут, наконец, воспроизвел, нашел и уничтожил редкий баг с дергающимся индикатором горизонта.
Баг проявляется только на многоканальных приемниках со скоростным (>50Гц) синхронным выходом PPM, и только при подключении всех 7 каналов, и вызван структурой софта (для максимальной точности захвата PPM прерывания PPM имеют наивысший приоритет, могут перебивать любые другие и даже сами себя).
При приходе 7 прерываний одновременно в момент, когда обрабатывается прерывание АЦП, процессор отвлекается на обработку PPM. А когда выкарабкивается из глубин всех этих вложенных вызовов обратно в АЦП, настает время выполнять уже следующее прерывание АЦП, ибо АЦП молотит во free run режиме, и ему, в общем-то, пофигу, чем занимается проц. В итоге новое прерывание АЦП вызывается в тот момент когда из старого еще не вывалились. При этом процедуре вышибает мозги и она пишет мусор или нули вместо данных с АЦП. Что уж там конкретно ломается, стек или еще чего - подробно разбираться не стал, ибо понятна главная проблема.
Писать прерывание АЦП реентерабельным, как всё остальное - дорого и не нужно. Попытки притормозить АЦП или завести объект синхронизации и сразу вываливаться из нового прерывания АЦП, если не завершено старое, ни к чему не привели, АЦП слишком самостоятельная штука со всеми его дурацкими флагами, триггерами и автозапуском, да и очень хочется сохранить постоянные интервалы на АЦП для правильного интерирования-дифференцирования…
В общем, бронебойное решение было найдено. Скорость АЦП была понижена вдвое, с 250 кГц до 125 кГц, а для сохранения высокой скорости опроса (150 Гц - полный цикл по всем каналам АЦП с учетом суперсэмплинга) ровно вдвое было понижено и число замеров в каждом канале. В таком варианте проблема исключена даже теоретически, у автопилота нет 14 входных каналов, чтоб затормозить АЦП в новом варианте.

Это всё вам, в общем-то, мало интересно, просто хотел поделиться радостью - месяц эта трудновоспроизводимая глюка висела и настроение портила.
За обнаружение глюки спасибо baychi.

smalltim

Если всё ок, то в понедельник-вторник-среду забираю.

NailMan

Тимофей! С Вами связаться все равно что с Путиным - ЛС переполнены, мыло внешнее как будто в спам сразу летит.

Пару месяцев назад я спрашивал про неверное отображение напряжения на 5S акке в большой(старой) версии телеметрии. Наверно забыли уж. Хотел вот прошивку все таки попросить сделать. Напомню - резики в делители измерителя напряжений впаял на 4.7К и версия прошивки была у меня под 150А датчик тока(тоже осенью специально Вы скомпилили прошивку на базе). Версия прошивки 2.54-150.

Очень жду ответа.

smalltim

Александр, не надо меня с Великим и Ужасным сравнивать, куда уж Ему до дел наших грешных.

4.7К поставили в верхние плечи делителей, а внизу остались 1К? Получается 5.7:1. Ближе к утру сделаю.

NailMan
smalltim:

Александр, не надо меня с Великим и Ужасным сравнивать, куда уж Ему до дел наших грешных.

4.7К поставили в верхние плечи делителей, а внизу остались 1К? Получается 5.7:1. Ближе к утру сделаю.

Да вместо тех что 2K(верхние), нижние остались 1К.

Спасибо!

smalltim

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

Хочу поспрашивать, какие нужны возможности в части работы с PPM.
Насколько я понял, нужно уметь добавлять к существующей пачке PPM на входе еще два импульса PPM от трекера, или заменять любые 2 канала со входа по выбору. Так?

Какие разъемы, форматы, крепление к голове-шапке-бейсболке считается устоявшимся стандартом, чтоб устроило всех? Как бы вам было удобнее его настраивать?
Одна кнопочка - задание нейтрали - пойдет? Надо пищалку нейтрали?
Какие выбрать размеры, корпус-некорпус? Можно и замельчить, сделать 10х20х10 мм, можно и большую коробку, как лучше?

Продублирую в тему о трекерах, там, наверное, более к месту.

Dareck

Тим а трекер чево именно имеется в виду?

И на маил ру загляни

Dareck

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

smalltim

Плыть не будет, гарантия 100%. На север-юг вставать не надо будет, гарантия 100% 😉
Встал как хочется, или сел в кресло как хочется, устремил взгляд прямо, нажал пымпу, и готово, трекер запомнил положение прямо, и поехали.

Dareck

Ну я в этом плане в шарки XGY 1000 встроил там и температура не гуляет и всякая фигня на голове не висит и с пультом через разъём наушников соединил. Вопшем красота получилась. А в чём смысл трекер к пилоту привязывать пилот сам по себе рулит а камера от головы

smalltim

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

Dareck

По разъемам я думаю полюбому с фиксацией надо чтоб не выскочили при чрезмерном болтании головой а датчики какие планируеш использовать

smalltim

Ну, разъемов, будет ровно 1 штука (земля, питание, вход PPM, выход PPM). Датчики - аксель, компас.

kulikof
smalltim:

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

Лучше лучшего не придумать, проще скопировать с R2

smalltim

>Лучше лучшего не придумать, проще скопировать с R2

А мне не приходится что-то специально для трекера придумывать. Просто от большой железки отрезается кусочек железа и софта и оформляется милипусенькой платкой. А что такое R2?

Дми-III-й

Если имелся в виду TrackR2 то ИМХО куда такой здоровенный корпус?
Кстати Тимофей, как вариант крепления трекера к очкам с дужками - 2 обычные пластиковые стяжки через дырочки в плате.

blade
smalltim:

Вот, уже первая идея - крепеж велкро петлей на очки.

Идея первая-неправильная 😃
Велькро- не даст чёткой фиксации, плата будет тюлюпаться а вместе с ней- и камера 😦
Тем более, провод же ещё будет?
А он дополнительное сдвигающее усилие создаст.
Хотя провод надо брать совсем лёгкий и тонкий- например от китайских наушников копеечных-там уже и разъём залит и припаян 3,5 мм.
Правда, придётся использовать 2 комплекта, чтобы жил хватало.
А крепление всей фигни на дужку наушников: вот что спасёт отца русской демократии: www.komus.ru/item.php?itemID=73592&catID=506
(цена-за упаковку из 12 штук, размеры- бывают и больше и меньше )
Штуковина- из стали, поэтому некоторый сдвиг компасу даст…
Но, при наличии обнуляющей пимпочки- роли играть не будет, поскольку важен не азимут, а его изменение 😁 Сталь подкалена, но новым сверлом-сверлится.
Внутри зажима- клеятся две полоски из автомобильного вспененного двустороннего
скотча , что исключает царапанье дужек и подвижки трекера. 😃
Вообще, за ряд моих бессмертных идей- мне рюмку чая хотя бы предложат?