OSD на ATmega1281
Физический уровень: RS-232, TTL, 19200,8,1,n
Канальный уровень относительно стандартен:
#define SYN_UART1 0xaf
#define SYN_UART2 0x50
enum { UART_READ_CNF=0x1, UART_WRITE_CNF=0x2, UART_MAIN_DATA=0x3};
//----------------------------------------------------------------------
void send_UART(u_char type, u_char *buff, u_char cnt)
//type - тип данных (для данных=UART_MAIN_DATA)
//buff - буфер с данными
//cnt - количество байт
{
u_char crc, i;
u_char *p;
while(gSendUartCnt!=0) sending_UART();
gSendUartCnt=0;
gSendUartInd=0;
p=gSendUartBuff;
*p++=SYN_UART1; // байт1 поточной синхронизации
*p++=SYN_UART2; // байт2 поточной синхронизации
*p++=cnt; // количество байт с данными
crc=cnt;
*p++=type; // тип пакета
crc^=type;
for(i=0; i<cnt; i++)
{
crc^=buff[i];
*p++=buff[i]; // данные
}
*p=crc; // 1 байт crc
gSendUartCnt=2+1+1+cnt+1;
}
Данные ответствуют структуре
typedef struct
{
u_char ChVal[8]; // значения по каналам
u_char RSSI; // RSSI
u_char DropCnt; // счетчик дропов
u_char Valid; // флаг валидности данных
}MAIN_DATA;
Данные передаются приемником постоянно либо по готовности принятых данных, либо по тайм-ауту с периодом ~20ms.
Я честно в доке предупредил, что контроля за допустимыми значениями пока нет и они не всегда очевидны…
Про это знаю. Но вроде как другие АП без проблем хавают РРМ 10 и более каналов, поэтому даже не задумывался на этот счет. Ну да ладно - все работает.
Уговорил (точнее просто попросил) Дмитрия на 8-ми канальный РРМ на выходе. Залил, в конфигураторе поставил 8 - работает. Заливаю обратно 10-ти канальную, выставляю 10 - не работает. Внешне и тот и другой РРМ идентичны (ну кроме количества каналов). Блин как так то?
А можешь кинуть мне эту прошивку на 8 каналов для Эксперта. А то у меня тут есть человек, который будет использовать Эксперта на нашем АП.
Мыло в личку кинул.
Дмитрий на сайте у себя выложил эту прошивку (в прошивках для Тини)
Что то я его сайт найти не могу. Ткни носом.
Нужно ещё узнать тини у человека или нет.
У него передатчик большой, с усилком 7 ватным. Это какая версия?
Это 2G. Наверняка у него приемник 12-тиканальный. А у этого приемника скорее всего и РРМ на выходе 12 каналов (ну или те же 10-ть). Я приемник от Тини отдельно докупал.
Да простят меня за оффтоп…
Народ, кто нибудь, кроме меня пользует последнюю прошивку? Ту которая с доп. батареей и РССИ.
Там пароль просит.
Кстати, я буду комплект печатных плат заказывать на заводе. Лишние могу подогнать, если кому нужно.
Товарищ пусть туда заходит - ему Дмитрий (Эксперт) пароль при покупке ЛРС должен был дать.
Народ, кто нибудь, кроме меня пользует последнюю прошивку? Ту которая с доп. батареей и РССИ.
Я пользуюсь… 😃 Правда ни доп. батареей, ни РССИ c ADC не пользуюсь.
Меня интригует, почему никто, из вновь собравших поделку, не отчитывается о полетах? Или все так плохо что сразу было выкинуто, или наоборот все полетело и никаких вопросов не возникло (что-то сомневаюсь…)?
Меня интригует, почему никто, из вновь собравших поделку
Продолжаем проходить квест.😉
Там есть среди них Тини?
8-ми канальный вроде похож.
По поводу пароля - зачем то же Дмитрий их своим клиентам дает. Вам правильнее наверное будет самим с ним связаться по Аське, чтобы он выдал пароль.
Меня интригует, почему никто, из вновь собравших поделку, не отчитывается о полетах?
Про себя отвечу- с момента как спаял -еще ни разу не выезжал на полеты.
Я у него ещё раньше спрашивал пароль, он меня так же отпнул к прошлому владельцу, а тот ничего не знает…
Про новую прошивку, на ней летают, и всё ОК.
Меня интригует, почему никто, из вновь собравших поделку, не отчитывается о полетах? Или все так плохо что сразу было выкинуто, или наоборот все полетело и никаких вопросов не возникло (что-то сомневаюсь…)?
Непредставилась возможность между погодой и домашней работой.
Меня интригует, почему никто, из вновь собравших поделку, не отчитывается о полетах? Или все так плохо что сразу было выкинуто, или наоборот все полетело и никаких вопросов не возникло (что-то сомневаюсь…)?
у меня в процессе монтирования на борт:( крайне медленно:( плюс колеблюсь по теме радиоканала - есть опен ЛРС есть АССАН первый сумппм может второй только в теории:)
Сергей, Есть у меня просьба - скомпилируйте, пожалуйста, бутлодыря под мегу 2560:)
второй только в теории
Не только в теории. Вот этот приёмник выдаёт полноценных восемь каналов сумппм. У меня уже три таких летают.
скомпилируйте, пожалуйста, бутлодыря под мегу 2560
Боюсь там не так просто… Почти для каждого типа проца есть небольшие различия. Кстати, у меня зашивается только верхняя страница 64к, но пока до необходимости использовать вторую- далеко…
Вот исходники, думаю разберешься…
Не только в теории. Вот этот приёмник выдаёт полноценных восемь каналов сумппм. У меня уже три таких летают
как с него сумм снять?
Начал с исправления небольшого бага, увлекся… Функциональность практически не изменена, но всяких изменений достаточно на новую версию.
- В режиме взлета при переходе на под-режим удержания курса при определенных условиях был возможен кратковременный рывок по крену. Исправлено.
- Поддержано до 12 каналов sum_ppm. Кое-что подчищено в логике приема ppm. Тестировать нечем (проверил только до 8), а изменений коде пришлось сделать довольно много, в т.ч. в кусках на asm. Жду отзывов о работоспособности.
- Параметры PPM можно задавать в конфигураторе.
- Как показала практика, вывод данных о перегрузке бесполезен, на это место перенесен вывод углов ориентации.
- В конфигураторе добавлена группа параметров “Экран”. Пунктов там пока немного, и вроде бы все очевидны (смотрите пояснения в области комментариев конфигуратора). Надеюсь найдете для себя что-нибудь интересненькое…
Итак: V2.8.0
Спасибы принимаются только после ваших проверок и летных испытаний… 😃