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

ВитГо

Пойдет !

Только компорт должен быть настоящий на компе, а не эмулируемый (обычно на нотиках)

на счет колодки - не скажется…
осталось только для нее найти место и красиво закрепить…

Aleksey_Gorelikov

Ну что, так никто и не попробовал? 😃 Один “баг” нашел. Точнее наткнулся на него. Исправлять еще не лез. (никому ж не нужно…)

ВитГо

нужно Алексей!

просто некогда было…
сегодня полетаю (в 19-00) на старой прошивке а потом попробую ту что ты выложил…

leprud

Нужно, обязательно нужно!
Мне вот железяка, стараниями нашей почты все никак не придет, чтоб нормально все опробовать, а не в протеусе…

Aleksey_Gorelikov

баг не особо критичный. Не запоминаются настройки алармов батарейки. Но может есть еще…

Stepan_M

Александр, очень нужна прошивка. Приступил к изготовлению программатора и сегодня наверное запаяю разъем на передатчик, будет он у меня как спутниковый тюнер - всегда готов к прошивке. К концу недели буду тестировать.
Та версия прошивки что на моей турниги - глючная, летать мешает. Глюк такой - при переключении миксера eleflap сбивается триммер руля высоты. Тестером еще не лазил может там банально напряжение прыгает на потенциометрах, но вашу прошивку залью обязательно.

lookeech

это не прошивка, это глюки в контактах/резисторах.

Stepan_M

Установил разъем 9 ти штырьковый от ком порта.

Место нашлось рядом с тренерским разъемом. Встал как родной.

Вот кому понравиться дарю ноу хау. Прижимаем разъём с обратной стороны и начинаем греть железяку паяльником одновременно надавливая. Железка разъема проходит насквозь до ушек - отверстие получается идеальное. Мощный паяльник ненужен достаточно 40 ватт.

2 lookeech бага проявляет себя только если в меню активирован данный микс. Если он не активен реакции на действия тумблера нет.

Stepan_M

Спаял программатор на ком порт, не работает. Нет ответа микроконтроллера. Кто какими программаторами пользуется для прошивки LPT / COM ?
Какие установки компорта ставить по умолчанию 9600.
Памагите!😁

Stepan_M

Насколько он чувствителен к длине провода?
У меня внутри передатчика 15 см шлейф от разьема.

ВитГо

Посмотрел исходники альтернативной прошивки с code.google.com/p/th9x

Многие вещи стали и понятнее 😃

Если Алексей не против - может кидать сюда найденные и придуманные наработки ?

Например вот конфигурация портов для меги в аппе:
взято отсюда -> code.google.com/p/th9x/source/browse/…/th9x.h


Под номером бита порта указано направление работы:
 O - Оut (выход)
 i - In (вход)
 - - не подключено
//PORTA  7      6       5       4       3       2       1       0
 //       O      O       O       O       O       O       O       O
 //       ------------------------ LCD_DAT -----------------------
 //
 //PORTB  7      6       5       4       3       2       1       0
 //       O      i       i       i       i       i       i       O
 //       light  KEY_LFT KEY_RGT KEY_UP  KEY_DWN KEY_EXT KEY_MEN  PPM
 //
 //PORTC  7      6       5       4       3       2       1       0
 //       -      -       O       O       O       O       O       -
 //       NC     NC    LCD_E   LCD_RNW  LCD_A0  LCD_RES LCD_CS1  NC
 //
 //PORTD  7      6       5       4       3       2       1       0
 //       i      i       i       i       i       i       i       i
 //     TRM_D_DWN _UP  TRM_C_DWN _UP   TRM_B_DWN _UP   TRM_A_DWN _UP
 //
 //PORTE  7      6       5       4       3       2       1       0
 //       i      i       i       i       O       i       i       i
 //     PPM_IN  ID2    Trainer  Gear   Buzzer   ElevDR  AileDR  THRCT
 //
 //PORTF  7      6       5       4       3       2       1       0
 //       ai     ai      ai      ai      ai      ai      ai      ai
 // ANA_ BAT   PITT_TRM HOV_THR HOV_PIT  STCK_LH STCK_RV STCK_LV STCK_RH
 //                                      rud    thro   elev   aile
 //PORTG  7      6       5       4       3       2       1       0
 //       -      -       -       O       i               i       i
 //                            SIM_CTL  ID1      NC      RF_POW RuddDR
Aleksey_Gorelikov
ВитГо:

Если Алексей не против - может …

Я всегда только “ЗА”. Конечно, не против.

Например вот конфигурация портов для меги в аппе:

Я вроде бы сконфигурировал. 😃

З.Ы. Передатчик отдал хозяину. Так что теперь буду учавствовать лишь советами. На крайний случай - в протеусе посимулировать попробую.

ВитГо

Алексей, разбираюсь тут в lcd.cpp - и вижу один вызов который никак не могу найти 😦


  for(char i=5; i!=0; i--){
     uint8_t b = pgm_read_byte(q++); // вызов !
     if(p<pmax) *p++ = inv ? ~b : b;
   }

Умом понимаю что это просто чтение байта из памяти (причем судя по написанному в simpgmspace.h - чтение из программной памяти) - а вот как найти эту подпрограмму ?

p.s. я почти все что касается вывода на экран собрал в lcd.cpp чтобы можно было использовать в своих целях… а вот с этим вызовом чтото никак 😦
файла simpgspace.cpp на сайте нет 😦 спрятан или его может и не быть и достаточно только .h файла ?

p.s. не пиннайте сильно… просто для AVR не программировал поэтому хочу найти уже готовые подпрограммы которые потом можно будет логикой связывать

в simpgspace.h написано только


#define PROGMEM
 #define pgm_read_byte(address_short) (*(uint8_t*)(address_short))
leprud

По синтаксису С, pgm_read_byte используется как наглядный макрос, т.е. в выше приведенном примере pgm_read_byte(q++) и (*(uint8_t*)(q++)) есть абсолютно одинаковые и взаимозаменяемые вещи.
Точно так же, через #define задаются псевдонимы констант, портов и пр.

ВитГо

ааа, понял !! то есть этого #define достаточно и его просто нужно включить в текст lcd.cpp ?

а нужно влключать только
#define pgm_read_byte(address_short) (*(uint8_t*)(address_short))
или все таки две строчки:
#define PROGMEM
#define pgm_read_byte(address_short) (*(uint8_t*)(address_short))

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

leprud

Достаточно одной строки.
#define PROGMEM видимо нужен для флагов компиляции и где-нибудь дальше по тексту есть {ifdef PROGMEM}

(Все это лишь по моему мнению, я исходники их пока не читал)

Stepan_M

Как и обещал прошил Турнигу 9 Альтернативной прошивкой Александра.

Программатор на LPT

Программа UNIPROF

Глюки

  1. Передатчик влючается только на второй раз. Первый раз только слышен короткий писк и экран пустой.
    На второй раз включается сразу в режим калибровки.
    После калибровки - все стики нормально работают предлагает убрать газ после движения стика вниз выходит в главный экран.

  2. Глюк на канале газа - работает от середины до 100 и около минимума неустойчивые показания. На родной прошивке работал нормально.

  3. Каждый раз как влючается предлагает калибровку.

Пока все. Программатор беру домой так что если у кого есть обновление прошивки готов поэксперементировать на выходных для всеобщей пользы.

Aleksey_Gorelikov
  1. Весьма странно. У меня с первого раза все работало. Вы подождите, пока епром проинициализируется.
  2. Странно. Я в живую не гонял, но в мониторе все ок было. Может проблема в епроме\калибровке?
  3. Тоже весьма странно. Значит передатчик считает, чт при первом включении вы его не откалибровали. Там Сергей МСВ весьма хитрую калибровку сделал. У вас в нейтрали оба стика и ползунок квадратиками выделились? А максимальные значения из пунктиров прямыми линиями стали??? Похоже проблемы в том, что вы не откалибровали стики.

З.Ы, Александром, я так понимаю вы меня зовете…
С уважением, Алексей.

ВитГо

народ, у меня программатор avr910 совместимый… (мастеркитовский набор 9010)

дрова поставил вроде нормально…

а вот при запуске AvrProg - пишет что No supported boаrd found
это из за того что к программатору не подключена атмега или программатор не работает ?

Aleksey_Gorelikov

Вполне возможно, что дрова выбрали номер ком-порта из области фантастики. Система-оборудование-девайс-свойства-дополнительно-номер компорта ручками, например на ком2. Ок. Вынуть вставить и попробовать сначала.

без атмеги аврпрог запускается