Альтернативная прошивка к FlySky/Turnigy/I-Max/Eurle (Кодер Fokus-a - MSV)

ВитГо

Вопрос наверное больше Алексею Гореликову… а может и Сергей (MSV) сможет ответить:

А когда правили оригинальную прошивку MSV - вы временные настройки таймера отвечающего за генерацию PPM не трогали ?

или при расчете ввели поправку на длительность в calc()? (я особо дальше не полез, а решил просто спросить…)

Вячеслав_Михеев

ну вот сегодня мне отдали мою аппаратуру:P
паяльник в руки и поехали
меняем верхнюю крутилку на 3 позиционный тумблер

резисторы по 2,4 кОм
заодно припаял разъем для прошивки.

Вот новый вид передней панели

у меня остался один вопрос теперь, что делать с тумблером который без фиксации😵

Catsw
Вячеслав_Михеев:

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

Ну его можно в триггерном режиме использовать - одно нажатие - вкл, следующее - выкл. Пример сходу - запуск/стоп таймера - а долгим нажатием можно обнуление таймера сделать.

Кстати, обратил внимание- платы внутри ФлайСкай_евские - виден первоисточник 😃

Stepan_M
Catsw:

Ну его можно в триггерном режиме использовать - одно нажатие - вкл, следующее - выкл. Пример сходу - запуск/стоп таймера - а долгим нажатием можно обнуление таймера сделать.

😃

Присоединяюсь, с аналогичными пожеланиями.

Вячеслав_Михеев
Stepan_M:

Присоединяюсь, с аналогичными пожеланиями.

всё конечно хорошо, но нам надо 8 каналов набрать;)
4 есть, +2 крутилки +2 тумблера(это с учётом того что 3 крутилку поменяем на 3 позиционный тумблер) если так то можно:P

ВитГо

ну если вы придумаете что к 8 каналам подключить - то и то что нужно отдать само выстроиться 😃)

для пилотажек и 3d можно к 8 каналам вплотную быстро подойти… 2 канала на элероны, 2 на рв, 1 рн, 1 тяга, 1 изменение ЦТ - и остается только один канал… 😃

причем все каналы аналоговые…

Catsw

Каналов много не бывает - бывает только мало 😃
1…4 - стандарт
5 - БАНО (аналоговый)
6 - Закрылки (аналоговый)
7 - вторая серва РВ
8 - вакантный (но приходит комплект ФПВ, так что даже его не хватит)

И это с учётом того что элероны от одного канала… Если ещё и элероны разносить - то тогда понятно становится, почему 10…14 канальные аппы выпускают, и активно покупают…

Кстати, а может какой то кодер “второго” уровня существует? Никто не сталкивался? Есть каналы, дополнительная задержка на которых не критична - те же закрылки или БАНО, вот бы их до кучи свести…

В самой аппе кодировку можно на прошивку нагрузить, без аппаратного вмешательства ИМХО, а на приёме на этот канал однокристалку повесить.

ВитГо

ну то о чем вы говорите конечно существует…
один канал можно относительно легко поделить на 2 или 4 дискретных канала
одна часть программная мультепликсирование нескольких каналов в один - реализуется в передатчике…
а вот для приемника нужен будет контроллер который возьмет один канал и демультиплексирует

Catsw

С дискретными проблем нет - хоть сейчас сделаю на тиньке - у меня на БАНО и так 3 дискретных с одного аналога сделано - габариты, БАНО, фара 😃 А вот если бы к этим дискретным ещё и значение можно было передавать - т.е. дискретный 1ый - длительнось ХХ, дискретный 2й - длительность YY, скорость реакции тут не нужна, можно за несколько проходов данные передавать - т.е. даём маркер канала 1 (допустим фикс. период ХХХ - канал один), потом (на следующем цикле) передаём значение канала, а камень это на борту дешифрует и формирует из виртуальных физические каналы с нужными параметрами!!!

ВитГо

гм… ну можно и подругому
например две посылки минимума канала (800 мкс например) - это начало пакета по которому дешифратор приемника синхронизируется
а потом идут сведения о каналах… можно сжать диапазон с 512 до 256 и кодировать значения длинами канального импульса в PPM пакете с 1500 до 2200 мкс…
на выбор можно несколько каналов сделать… но плавность их изменения соответственно пострадает в 4 раза (для 3х каналов)

Такой вариант подходит?

p.s. а я тут с СИ мучаюсь 😦( блин, если бы на AVR можно было писать на дельфях или хотя бы на паскале… а то блин что не напишу - потом по полчаса правлю синтаксис 😦(

MikeMDR

Существует проект (на БЕЙСИКе) “декодер + сателиты Spektrum”, который позволяет с передатчика SpektrumDX7 независимо (?) управлять 12-ю сервами на планере.
P.S. (To ВитГо): А чем “mikroPascal for AVR” не устраивает?

ВитГо

Ух ты !! не знал что есть такой проект…!!

Гм… правда он платный…
Мike, не в курсе весь комплект стоит 150$ или к 150$ за среду еще нужно 100$ отдать за компилятор ?

MikeMDR

Не знаю, т.к. сам на паскале не пишу.
Неужто Вы CVAVR покупали?

ВитГо

ну пока код небольшой он работает и в демо режиме…
А вообще конечно нужно посмотреть на варез… просто на моем буке нет пиратских программ… начиная от винды, офиса, и Acronis (лицензионные покупные) и заканчивая всякими файловыми менеджерами (бесплатные)…

Catsw
ВитГо:

на выбор можно несколько каналов сделать… но плавность их изменения соответственно пострадает в 4 раза (для 3х каналов)

Такой вариант подходит?

Думаю да, например для БАНО и позиционирования камеры ФПВ не нужна точность/дискретность 1024 😃 и скорость реакции не критична - хоть с секундной задержкой! Вопрос - как реализовать? На это моих знаний не хватит 😦

А вообще интересная идея - собрать декодер для таких каналов, где не нужны точность/скорость - а их достаточно - из общих: закрылки, шасси, БАНО, ФПВ - и ИМХО еще можно что то придумать - многие феерверки и прочее вешают, где это можно использовать - думаю такой проект был бы востребован!!!

ВитГо

Ну тогда “жди меня”, Андрей. 😃

Я пока прошивку пишу (сегодня вот меню хочу сделать)… потом много еще что накидать нужно будет…
а вот когда закончу - то могу поделить с тобой задачу на пополам…
с тебя на тиньке дешифратор (об алгоритме можно будет договориться), а с меня добавление в прошивку…
если на Паскаль не перелезу (а пока чтото кряков не нашел (не особо умею я искать такое)) - то будет написано все на СИ… и при желании те кто поддерживают ветку Самодельного передатчика у себя смогут внедрить данную идею (ну если раньше нас не сделают - то мы позаимствуем у них 😃

Catsw
ВитГо:

Ну тогда “жди меня”, Андрей. 😃

Надеюсь и жду, куда мне деться с подводной лодки 😃 !!!

ВитГо:

с тебя на тиньке дешифратор (об алгоритме можно будет договориться), а с меня добавление в прошивку…

Ок, пока буду изучать как это на ней реализовать!!! С удовольствием помогу в любых прошивках - главное, что бы знаний хватило, но параллельно буду учить теорию 😃

ВитГо

ну если что вдвоем разберемся 😃
Я вчера вечером поковырял таймеры… прикольная вещь 😃

Catsw
ВитГо:

Я вчера вечером поковырял таймеры… прикольная вещь 😃

Ага, то же видел - но ещё не разбирался полностью, но ИМХО ничего сложного 😃 Вечерком посидеть да в симуляторе погонять - и всё понятно станет - а вот дальше - применение знаний к решению задач - от тут и будем голову ломать 😃

Ну ничего, не Боги горшки обжигают 😃

Вячеслав_Михеев
ВитГо:

ну если вы придумаете что к 8 каналам подключить - то и то что нужно отдать само выстроиться 😃)

для пилотажек и 3d можно к 8 каналам вплотную быстро подойти… 2 канала на элероны, 2 на рв, 1 рн, 1 тяга, 1 изменение ЦТ - и остается только один канал… 😃

причем все каналы аналоговые…

да я не про восемь машинок говорил 😛 а про восемь каналов у передатчика :rolleyes :

Catsw
Вячеслав_Михеев:

да я не про восемь машинок говорил

Ну дык это всем понятно - у меня машинок больше 8ми, и это еще без 2х на ФПВ. Не хватает именно КАНАЛОВ, хотя, если вы с этим не сталкиваетесь - то вы счастливчик 😃 ВитГо так и писал - 2 КАНАЛА на ХХХХХХХХХХ, а не 2 машинки.

ВитГо

Алексею и может быть MSV

В процедуре LCD_rectangle (для кода этой ветки файл LCD_FlySky) помоему ошибочка небольшая в третьем вызове

LCD_line (x1, y1, x1, y, color);

правильнее написать
LCD_line (x1, y, x1, y1, color);

иначе получаем две правых вертикальных линии
с (x1,0) на (x1,y) и с (x1,y1) на (x1,127)
По всей видимости не совсем правильно работает процедура LCD_linе нужно задавать Y координаты таким образом чтобы первая точка была выше второй…

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

EagleB3

…Идеей отрефакторить графику я, наверное, никого не возбудю (в оптимистически-энтузиастически-рабочем смысле слова), но ежели кто (Виталий?) соберется все причесать, то, КМК, есть большой смысл уйти от хардкодинга.
Нарисовать сосперва на бумажке, расставить по ней Xn да Yn, затем заменить вызовы в функциях (на практике - даже Find-Replace с этим замечательно справляется при должной аккуратности), а потом их где-нибудь в отдельном месте все дефайнами задать.

Я, когда перепихивал coder на TIC154, за пару вечеров управился…

ВитГо

я уже возбужден этой идеей 😃)
но пока наверное все таки сделаю функционал…
движок меню почти закончил (по меню перемещаюсь)
сейчас буду делать регулировку параметров модели… - достаточно большой блок потому что и сам массив параметров модели нужно задавать и процедуры изменения параметров…