Deviation - альтернативная прошивка для Walkera DEVO

Smolett
VladislavVY:

Отрапортовал о замеченных косяках Devo 7E на форум Deviation и Bitbucklet.

Отлично, спасибо!

VladislavVY:

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

Нотная грамота там очень простая, все настройки звуков хранятся в передатчике в файле sound.ini в папке media.

Формат звуков предельно прост:
например такая строка - f2=100 где f - нота фа, цифра 2 - 2 октава, 100 длительность в микросекундах. Также после ноты можно поставить знак диеза #. Ноты обозначаются стандартными для них буквами с - До, d - Ре, e - Ми, f - Фа, g - Соль, a - Ля, b - Си.

Давайте возьмем простой пример, например начало файла содержит вот такой код:

[startup]
;volume is 0 - 100
;volume=25
;g2=500
;a2=500
;f2=500
;f1=500
;c2=500

volume=60
g2=100
e3=100
c4=100

Будет играть обычное скучное пиликанье при включении аппарата. Теперь закомментим стандартное приветствие, чтобы не потерять, и добавим 4 своих ноты:

[startup]
;volume is 0 - 100
;volume=25
;g2=500
;a2=500
;f2=500
;f1=500
;c2=500

volume=60
;g2=100
;e3=100
;c4=100
c3=200
e3=200
f3=200
g3=500

Стало повеселее, правда знакомое? 😉

Параметр volume отвечает за громкость конкретного уведомления в процентах от основной громкости.

Идем далее - стандартный таймер мне показалось малоинформативен, я его изменил на такой:

[alarm2]
volume=100
;f3=150
;d2=100
;d3=100
e2=100
d2=100
e2=100
b2=100
f#1=100
b2=100
e2=200

закомменченнные строки можно смело убрать

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

fisenko

Прошу помощи. Решил старый соосник с wk rx2401 (есть еще почти такой же приемник rx2411) зацепить, да не удалось - не могу поймать каналы руддера и газа. Все остальные верты вешал по пресетам, а как до прикладного рукоделия дошло - не могу догнать эту deviation 😃

VladislavVY

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

VladislavVY

Следующей будет прошивка для Devo 12. И видимо достаточно скоро, PB уже вплотную приблизился к возможности внедрения прошивки на Devo 12.

VladislavVY

Встроенный в исходники libopencm3 вроде подправили, у кого были проблемы со сборкой, проверяйте.

RW9UAO

там надо папку с примерами тупо грохнуть и не будет проблем при сборке =)

  BUILD   examples/stm32/f4/stm32f4-discovery/usb_cdcacm/
c:/mingw/stm32/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/bin/ld.exe: error: cdcacm.elf uses VFP register arguments, c:/mingw/stm32/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib/thumb/v7m\libc.a(lib_a-memcpy-stub.o) does not
c:/mingw/stm32/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/mingw/stm32/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib/thumb/v7m\libc.a(lib_a-memcpy-stub.o)
c:/mingw/stm32/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/bin/ld.exe: error: cdcacm.elf uses VFP register arguments, c:/mingw/stm32/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib/thumb/v7m\libc.a(lib_a-strlen.o) does not
c:/mingw/stm32/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/bin/ld.exe: failed to merge target specific data of file c:/mingw/stm32/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib/thumb/v7m\libc.a(lib_a-strlen.o)
collect2.exe: error: ld returned 1 exit status
make[1]: *** [cdcacm.elf] Error 1
make: *** [examples/stm32/f4/stm32f4-discovery/usb_cdcacm/] Error 2

после удаления C:\MinGW\msys\1.0\home\rw9uao\PhracturedBlue-deviation-e46cf32e4c1e\src\libopencm3\examples все прекрасно собирается. в принципе можно забить на этот мой конкретный глюк. тем более что после выпадение этой ошибки сделать make install то все уже собранные библиотеки копируются на места. и проект собирается.

VladislavVY

На самом деле в исходниках Deviation были ссылки на файлы libopencm3, которые находились в других папках встроенного libopencm3.

Например
В файле …\target\devo10\tx_voltage.c
строка 17 - #include <libopencm3/stm32/f1/scb.h>
Файла scb.h нет в …\libopencm3\include\libopencm3\stm32\f1\
Такой есть в …\libopencm3\include\libopencm3\cm3\

и так далее. Все это исправили.
bitbucket.org/…/e46cf32e4c1ef6a2209bdd4964570675

RW9UAO

как ни странно, у меня эти файлы были на нужных местах =)

VladislavVY

Первый запуск Deviation в Devo 12. Пока еще не работает аналоговый ввод и использован интерфейс от Devo 8, но в остальном уже все работает.

Babay

Есть пожелание. Может “prealert” и “timeup” настройки таймера вынести из меню передатчика в меню к самому таймеру? По моему им там самое место. И для каджого таймера, из двух, чтобы свои были. Как-то так логичнее.

Так же есть еще пожелание из вот этого форка перенести функционал для настройки громкости и, в первую очередь, частоты срабатывания сигнала разряда батарейки в пульте. Попробовал - очень удобно. Реально помогло не отправиться в полет с разряженным пультом.

RW9UAO

а есть какие-то ключевые отличия между 8 и 12? ну кроме размера и разрешения экрана. тумблера на 3 положения в отличие от 8-ки?

VladislavVY

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

Второй вопрос, скорее всего это так и будет, когда PB закончит портирование Deviation в Devo 12, сейчас у него просто нет времени и все вопросы/пожелания пользователей стоят в очереди.

RW9UAO:

а есть какие-то ключевые отличия между 8 и 12? ну кроме размера и разрешения экрана. тумблера на 3 положения в отличие от 8-ки?

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

Ustas69

Владислав, вопрос про Walkera GPS: известно ли какой он использует протокол? Если нет, можете сфотать модуль подробно или посмотреть какой используется чип? Наверняка можно использовать модуль подешевле, просто надо знать какой и настроить, верно? Обычно это либо UART, либо I2C.

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

VladislavVY

Протоколом GPS датчика никто не занимался. Да и зачем? Датчик подключается к модулю телеметрии, только его протокол обмена с передатчиком и был нужен.

Исходные коды имеют как общую часть, так и специфическую для каждого передатчика. Но из-за 3-х позиционных переключателей в Devo 12, в целях совместимости файлов моделей, придется менять алгоритм работы и имена для переключателей во всех передатчиках. Что-то типа вместо AIL DR -> AIL DR0 и AIL DR1 (и AIL DR2 для Devo 12). Алгоритм трансляции переключателей при переносе конфигурации между Devo 12 и Devo 8 сейчас обсуждается на форуме Deviation.

Ustas69
VladislavVY:

Протоколом GPS датчика никто не занимался. Да и зачем?

Просто модуль GPS очень дорогой, хотелось бы использовать что-нибудь за более адекватную цену. Спрошу на форуме Deviation.

VladislavVY

Врядли кто-то ответит, во время тестирования телеметрии для Devo датчики GPS были только у меня и Андрея.

RW9UAO

ткнитесь туда СОМ портом. там либо NMEA, либо sirf binary.

fisenko
VladislavVY:

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

Получилось включить газ, только когда триммером выкрутил его на -10%, то есть газ стартует с -110%. как это объясняется с научной точки зрения? 😃

Ustas69

Это объясняется несоответствием диапазона газа у приемника и передатчика - обычное дело. Для этого на обычных регуляторах и есть процедура калибровки газа.

VladislavVY

Обычно калибровка ESC выполняется так - в передатчике канал газа устанавливается в дефолтные настройки, сбрасываются все триммеры и субтриммеры, модель привязывается, затем модель выключается, стик газа переводится в максимум, включается модель, после соединения стик газа возвращается в минимальное положение, после инициализации модель выключается. После этого канал газа должен работать нормально.