Deviation - альтернативная прошивка для Walkera DEVO
Это не я нашел, Mike Blandford в теме DIY Multiprotocol TX Module. Код, который исправил Mike Blandford, вообще не встречается в таблице Cypress, похоже на опечатку при наборе таблицы, сдвиг строки на 1 запись. Я предположил, что там может быть еще одна ошибка, но это всего лишь предположение, пока ничем не подтвержденное. Просто это создает полностью симметричную таблицу и очень хорошо согласуется с одной из оригинальных таблиц PN codes от Cypress. Данная таблица Cypress использует 40 кодов, в таблице Deviation 45 кодов, т.е. вроде как должно повторяться 5 кодов, а в Deviation повторяется только 4 кода, т.е. Deviation использует 41 различных кодов. Вот мое сообщение по этому поводу:
www.rcgroups.com/forums/showpost.php?p=35716303&po…
Я так понимаю, что когда TX ID вместе с номером “model match” попадает на часть таблицы с некорректной записью, приемник даже не биндится или работает некорректно.
Вот вроде нашел исходное сообщение Mike Blandford:
www.rcgroups.com/forums/showpost.php?p=34482519&po…
надо обновить прошивку в 7Е =)
В официальном коде Deviation это пока не исправлено. Если есть проблемы с работой приемника DSM, можно попробовать изменить Fixed ID.
Собрал себе на основе релиза v5.0.0 сборку со всеми последними протоколами.
Здравствуйте. Можете выложить свою прошивку для Devo8s?
Так и не смог настроить трехпозиционник на переключение трех режимов. Переключает только два. Может кто объяснит, как это сделать пошагово? Можно в личку.
Аппа Devo 10. Прошивка v5.0.0
Сборка v5.0.0 со всеми последними протоколами, для Devo8s. Если нужна файловая система и прочее, это можно взять из официального релиза v5.0.0. В моей сборке номер версии не отображается.
Так и не смог настроить трехпозиционник на переключение трех режимов. Переключает только два. Может кто объяснит, как это сделать пошагово? Можно в личку.
Аппа Devo 10. Прошивка v5.0.0
У МЕНЯ ТОЖЕ дево10. я недолго с 5.0.0 прошивкой попользовался и откатил на старую стоковую… т.к. не смог крутилки настроить.
зато у меня 3хпозиционник отлично работал и даже 6 позиций…с ALE D/R. а файл с mode2.ini легко с качаешь с немецкого сайта. (я для walkera x350 pro искал ) там в поиске сразу найдешь файл. вообщем все супер работало!
Нашел, как настроить три режима! Выбрать на свободном канале Complex, и создать три микса. Первый микс: Switch- None, Mux- replace, Curve- Fixed, Scale- -100 Второй микс: Switch- FMode1, Scale- 0 Третий микс: Switch- FMode2, Scale- +100
Что-то не могу найти функцию failsafe…
В свойствах канала, нужно нажать на номер канала.
Исправил в коде протокола DSM2/X ошибку в таблице PN codes. Добавил опцию протокола “OrangeRx”, чтобы не было проблем с Оранжевыми приемниками. Добавил опцию протокола “HighSpeed” 11ms. Режим “HighSpeed” работает с количеством каналов 8-10, только в каналах 2, 3, 4, 6 (Aileron, Elevator, Rudder, Pitch/Flap/AUX1), в отстальных каналах частота обновления 22ms. Пришлось немного изменить код протокола DSM2/X, чтобы протокол влезал в сборку Devo7e.
Проверил работу протоколов DSM2 и DSMX в полетах на приемниках AR6210, AR8000, Blade 200QX, пока все работает как часики. Вечером еще попробую на микро квадриках DSM2 с интегрированными приемниками (No name). К сожалению Оранжевых приемников у меня нет.
Пока никто из программистов не хочет (или они просто не читали мой пост на форуме Deviation) добавить этот файл в основной репозиторий, а у меня туда нет доступа.
На микроквадриках тоже все ОК.
Добавил опцию протокола “OrangeRx”, чтобы не было проблем с Оранжевыми приемниками.
Проверил с OrangeRX R720X с опцией “OrangeRX - Yes”. Вроде проблем за пять полетов не было. Буду еще тестировать.
Так если раньше проблем не было, их и не будет. Проблема проявляется при определенном сочетании Tx ID и Fixed ID.
В данном случае меня больше интересует общее поведение протоколов DSM2 и DSMX, так как пришлось изменить код протокола с целью сокращения размера файла модуля протокола для Devo 7e, он должен поместиться в 4 килобайта.
Если кто еще не знает, я мусолю эту тему и выкладываю измененный код протокола в теме на форуме Deviation:
deviationtx.com/…/6410-dsm2-x-protocol-errors
Кстати о птичках, сканирование диапазона и выбор свободных каналов для протокола DSM2 работает неправильно, каналы выбираются случайным образом, вне зависимости от их занятости. Я уже даже понял в чем дело, и как это нужно делать, но пока не пойму, как это можно воплотить. К сожалению, я не программист микроконтроллеров, для меня программирование это просто одно из развлечений в свободное время.
Сборки версии V5.0.0 для Devo6, Devo8 и Devo12 с последними протоколами и моей модификацией протоколов DSM2 и DSMX можно скачать в теме:
Сборки версии V5.0.0 для Devo6, Devo8 и Devo12 с последними протоколами и моей модификацией протоколов DSM2 и DSMX можно скачать в теме:
Я конечно извиняюсь за наглость, а можно Вас попросить скомпилировать и для Devo 10 ?
Заранее спасибо.
Попросить можно, но не гарантирую, что все будет пучком, у меня не на чем это проверить. Скорее всего все будет ОК, во всяком случае компилится Devo10 без ошибок. А вот Devo7e не могу, в версию v5.0.0 с новыми протоколами не влезает уже основная программа Devo7e (не собирается файл *.dfu), только в ночные прошивки.
Не забывайте, что файловая система и прочее тоже должны быть v5.0.0, их можно взять из официального релиза v5.0.0.
Сборку для Devo10 v5.0.0 также можно загрузить из темы:
Увидел, огромное спасибо!
надо обновить прошивку в 7Е =)
Сергей, а вы не в курсе как обрабатывается байт возможностей приемника (Byte 7) в ответе приемника во время привязки? Я бы мог реализовать автоматическое распознавание приемников во время привязки, как в передатчиках Spektrum, но не понимаю, как можно распознать все виды приемников по этому байту. Хотя, честно говоря я не вижу в этом особого смысла.
The receivers always respond with a 10 byte packet that has the format:
Bytes 1 - 4 = GUID of the TX
Bytes 5 = always 1
Byte 6 number of channels of the receiver (can’t always be relied on; my AR8000 always says 7)
Byte 7 = capabilities of the receiver in the same format as Byte 13 f the transmitted bind packet
Byte 8 = always zero
Bytes 9 & 10 = checksum
Например, AR8000 отвечает 0xB2, но также отвечает, что количество каналов 7, что явно не подходит. 7ch “HighSpeed” приемник также отвечает 0xB2 и количество каналов 7, что тоже явно не подходит для “HighSpeed”. Я также не знаю, как отвечает приемник DSMX на запрос привязки DSM2. И т.д. и т.п.
я фрактуредблю в свое время все ухи прожужжал на эту тему. в двух словах:
11мс-22мс - это просто чередование пакетов в одном фрейме 22 мс.
коды ответа: 0xB2 - дсмХ четыре пакета за фрейм,т.е. больше 7 каналов, 0xA2 - дсмХ 2 пакета за фрейм, т.е. 7 каналов, 0x12 - дсм2, НО 2048 разрешение + возможность 11 мс, значит 4 пакета за фрейм, 0x02 - дсм2-1024 разрешение больше 7 каналов, 0x01 - дсм2-1024 7 или меньше каналов.
количество каналов многие приемники отдают неправильно.
Новая версия сборки v5.0.0. Реализован сброс чипа CYRF6936 для протоколов DSM2/X с целью полностью устранить возможность зависания чипа при включенной телеметрии. Уже имеется пара таких случаев с полный потерей управления, связь восстанавливается только после перезагрузки передатчика. Процедура сброса полностью безопасная и прозрачная. В целях тестирования я принудительно сбрасывал CYRF6936 каждые 46 кадров (один раз в секунду), с приемником AR8000+TM1000 не было замечено даже потери кадров (Frame Losse). Также это тестировалось в полете c микроквадриком DSM2, проблем не замечено, полет нормальный.
Когда то давно мы уже делали такое для протокола Devo, тоже на чипе CYRF6936. С тех пор жалоб на зависание чипа больше не было.