ER9X на FlySky-I6 или новая жизнь народной флайки.

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

Модератор: Виктор Бобров

Аватара пользователя
Kotello
Старожил
Сообщения: 530
Зарегистрирован: Пн апр 02, 2018 6:27 pm
Репутация: 582

ER9X на FlySky-I6 или новая жизнь народной флайки.

Сообщение Kotello »

Не секрет, что передатчик FlySky-I6 при огромной популярности имеет ряд недостатков, связанных со слабыми
по современным меркам возможностями настроек, поэтому предлагаю альтернативную прошивку для народного пульта, а именно
адаптацию замечательной ER9X для FS-I6.
| Показать
Screen1.jpg
Screen1.jpg (72.91 КБ) 63439 просмотров
Программатор такой или аналогичный
| Показать
https://ru.aliexpress.com/item/32997079 ... b201603_52
Софт для программатора под Windows
| Показать
https://drive.google.com/file/d/1kMFnsv ... sp=sharing
Прошивка ER9X V1.11 (Реализованы - Failsafe, RX Setup, телеметрия для просмотра на экране таймера-2 )
FS-I6_ER9X_V111.zip
(75.07 КБ) 290 скачиваний
Прошивка оригинальная, фабричная
fs6.zip
(40.58 КБ) 624 скачивания
Последний раз редактировалось Kotello Чт ноя 19, 2020 11:00 pm, всего редактировалось 8 раз.
Алекс_2
Участник
Сообщения: 21
Зарегистрирован: Сб сен 05, 2020 3:24 pm
Репутация: 0

Re: ER9X на FlySky-I6 или новая жизнь народной флайки.

Сообщение Алекс_2 »

Небрежность обнаружена в uint8_t PIND(void) :
BTN_R_PutVal(0x0F);
- вместо 0x0F надо использовать 0x07 т.к. при 0x0F управлению подвергнется не существующий порт PB4.

P.S.
Ещё одно предложение.
В макросе SETBIT подстановка 3-м параметром макроса READBIT не требует чтобы там была 1 в младшем бите.
Поэтому, чтобы уменьшить размер кода на 2 комманды процессора, макрос
#define READBIT(A, B) ((A >> (B & 7)) & 1)
можно заменить на
#define IS_BIT(A, B) (A & B)
, где B в зависимости от требуемого бита будет, скажем 0x08 0x04 0x02 0x01 .
Конечно, хороший компилятор это должен сделать сам, но не думаю что мы такими располагаем.
Алекс_2
Участник
Сообщения: 21
Зарегистрирован: Сб сен 05, 2020 3:24 pm
Репутация: 0

Re: ER9X на FlySky-I6 или новая жизнь народной флайки.

Сообщение Алекс_2 »

Производители ER9 пошли на заведомое ухудшение качества.
Вместо использования DMA на приём и передачу по SPI, как это сделано в зводской прошивке,
они сделали по-простому:
void SPI_RADIO_SendBlock(uint8_t *BufferPtr, uint16_t Size)
ждёт пока блок не будет передан, вместо того чтобы "заплатил налог и спи спокойно". :)
Аватара пользователя
Kotello
Старожил
Сообщения: 530
Зарегистрирован: Пн апр 02, 2018 6:27 pm
Репутация: 582

Re: ER9X на FlySky-I6 или новая жизнь народной флайки.

Сообщение Kotello »

Алекс_2 писал(а): Ср апр 14, 2021 11:09 pm Производители ER9 пошли на заведомое ухудшение качества.
Какие такие производители? Это камень в чей огород?

Все функции работы с железом я писал лично сам, в одно рыло.
И реализацию протокола тоже (взяв за основу код из мультипротокольника).
У ER9X в оригинале совсем нет поддержки трансиверов напрямую, там всё заканчивается PPM или PXX, он работает только с внешними радиомодулями.
А сколько было копий сломано, и по граблям хожено, чтоб это всё запустилось стабильно - вспомнить страшно.

По поводу DMA на SPI, если это приведёт к уменьшению объёма прошивки, то да, стоит перевести на DMA, если прошивка распухнет хоть на 4 байта - не стоит заморачиваться. SPI на 6 мГц выпуливает весь пакет быстрее, чем ардуина ногой дёрнет. Задержка исчезающе мала.

Вместо того, чтоб тыкать меня носом в огрехи кода (я сам знаю что они там есть, и неоднократно писал об этом), подхватывайте проект, делайте свою ветку, оптимизируйте, допиливайте надфилем, добавляйте функционал, тестируйте, выкладывайте в общий доступ.
Люди вам только спасибо скажут, это открытый проект, и улучшать его можно до бесконечности.
А я устал от него, возможно временно... Сейчас новым DIY проектом загорелся, жаль мало времени на него, работа всё отнимает зараза :D

С уважением. Константин.
Аватара пользователя
Виктор Бобров
Модератор
Сообщения: 1305
Зарегистрирован: Сб дек 08, 2018 8:01 pm
Репутация: 418

Re: ER9X на FlySky-I6 или новая жизнь народной флайки.

Сообщение Виктор Бобров »

Kotello писал(а): Пт апр 16, 2021 9:53 am ...А я устал от него, возможно временно... Сейчас новым DIY проектом загорелся, жаль мало времени на него, работа всё отнимает зараза :D

С уважением. Константин.
Константин, Вы, конечно отдохните, но только не покидайте наш ФОРУМ!
Уж слишком мало на нём концептуальных проектов.
Алекс_2
Участник
Сообщения: 21
Зарегистрирован: Сб сен 05, 2020 3:24 pm
Репутация: 0

Re: ER9X на FlySky-I6 или новая жизнь народной флайки.

Сообщение Алекс_2 »

Kotello писал(а): Пт апр 16, 2021 9:53 am
Алекс_2 писал(а): Ср апр 14, 2021 11:09 pm Производители ER9 пошли на заведомое ухудшение качества.
Какие такие производители? Это камень в чей огород?
Er9x существет с 2011 года, но ни в одном релизе или модификации DMA не использовалась.
А в чей это огород камень, я и не задумывался. Просто констатирую факт.
Допустим, на 100 байт потолстеет. Так на 400 байт похудеет, если заменить стандартные библиотечные функции своими.
В итоге -300 байт. Это проверено.
Можно убрать VOICE, в I6 его не было и никто не жалуется. До килобайта полегчает.
Это можно сделать уже. Но не думаю что это исправит ошибку со сбоями и протоколом.
Моя цель не в том чтобы кого-то обвинить, а чтобы получить код который работает хотя бы как заводской.
Пока что я прекращаю писать замечания, напишу лишь тогда, когда будет какой-то результат, как и обещал.
Аватара пользователя
Kotello
Старожил
Сообщения: 530
Зарегистрирован: Пн апр 02, 2018 6:27 pm
Репутация: 582

Re: ER9X на FlySky-I6 или новая жизнь народной флайки.

Сообщение Kotello »

Алекс_2 писал(а): Сб апр 17, 2021 9:37 pm Er9x существет с 2011 года, но ни в одном релизе или модификации DMA не использовалась.
Откуда у AVR мог вырасти DMA контроллер? Его там не было и нет :D
Официальный ER9X от Майка Блэдфорда - только для AVR, для ARM контроллеров предназначена другая прошивка -ERSky.
Алекс_2 писал(а): Сб апр 17, 2021 9:37 pm если заменить стандартные библиотечные функции своими.
Где есть хоть одна библиотечная функция?!! Выпилил я все библиотеки...
Алекс_2 писал(а): Сб апр 17, 2021 9:37 pm Но не думаю что это исправит ошибку со сбоями и протоколом.
Чё за нафиг? Какие сбои? И что не так с протоколом? :shock: Вот это новость!
Аватара пользователя
Kotello
Старожил
Сообщения: 530
Зарегистрирован: Пн апр 02, 2018 6:27 pm
Репутация: 582

Re: ER9X на FlySky-I6 или новая жизнь народной флайки.

Сообщение Kotello »

Алекс_2 писал(а): Сб апр 17, 2021 9:37 pm Можно убрать VOICE, в I6 его не было и никто не жалуется.
А вы кого ни будь спросили? Люди наоборот требуют речевой информатор и Vario для планеристов.
Ответить

Вернуться в «Аппаратура управления»