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

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. Ок. Вынуть вставить и попробовать сначала.

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

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

[QUOTE

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

:Pвот сегодня я его и протестирую;)

ВитГо

спасибо за совет Алексей!

действительно переназначил на ком2 и все заработало…

и после этого полтора часа мучался (хочется употребить другое слово) со шлейфом программатора… разъемы обжаты плохо… половина ног не звонятся… пришлось разобрать одну сторону и в итоге подпаяться (почему то я обжать тоже не смог 😦(

вот вам и “ты за работу а она за тебя” 😦(

пошел спать…

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

спасибо за совет Алексей!

действительно переназначил на ком2 и все заработало…

и после этого полтора часа мучался (хочется употребить другое слово) со шлейфом программатора… разъемы обжаты плохо… половина ног не звонятся… пришлось разобрать одну сторону и в итоге подпаяться (почему то я обжать тоже не смог 😦(

вот вам и “ты за работу а она за тебя” 😦(

пошел спать…

Виталий, у вас напряжение питания аппа правильно показывает?

Stepan_M
Aleksey_Gorelikov:

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

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

  1. Оставлял аппу включенную на 1 мин - не инициализируется. При повторном включении дает калибровку. У меня питание 3S липо.

Положение тумблеров имеет значение при включении?

2.С помощью шаманского бубна 😃 удалось откалибровать - после выхода в главное меню покрутил все три крутилки - они все заработали, на экране, и при последующем включении калибровка не включилась.
Кстакти до этого в калибровочном меню нижнюю крутилку тоже калибровал и центр выделялся квадратиком.

  1. Сегодня канал газа работает нормально -98 + 95

Огромное спасибо, буду изучать, может даже полетать сегодня удастся.

  1. Воткнул в тренерский разъем шнурок симулятора похоже что там ппм сигнала нет.
    Модуль работает нормально на самолете сервы гоняет правда дифференциал еще не настроил на оба крыла.
    Алексею 😃
Aleksey_Gorelikov

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

Собственно, в прошивке на данный момент не предусмотрены ни функции тренера, ни ученика.

Ну и - не сохраняется значение алармов батарейки. Просто не брался еще смотреть в чем дело.

По крутилкам - работает только левая задняя, та, что калибруется и по меню перемещает.

В самой прошивке есть SW2 - он не работает потому что его в турниджи просто нет 😃

Ну и по тумблерам - я пока оставил в соответвии со схемой турниджи (точнее надписями на тумблерах). Наверное имеет резон поменять местами тумблера t/hold и trener. Тхолд нужен чтобы двиг глушить и фиксация как-бы и не нужна. А на тренере - вроде бы сейчас SW3 висит - ему фиксация не помешает.
Правда для электричек фиксация тхолд предпочтительней.

Собственно, исходники есть, все что нужно - поменять местами название свитчей в def.h

Надо будет - пишите, сделаю.

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

Stepan_M
Aleksey_Gorelikov:

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

Алексей, после прошивки я сразу же отключил программатор.

Сейчас поигрался с аппаратурой - намиксил себе всего что пока мог придумать на свой пенолет - 3 полетных режима с разными расходами и миксерами и еще кривую газа.

Вечером попробую сохранить епром отдельно и заново прошить флэш.

За выход ППМ с тренерского разъема был бы очень признателен - часто пользуюсь симулятором.

Тротле кат как раз то что надо.

Скачал инструкцию к кодеру Фокуса, пока не разобрался как назначать дополнительные тумблеры.