Альтернативная прошивка к FlySky/Turnigy/I-Max/Eurle (Кодер Fokus-a - MSV)
Ребята, не буду обещать что займусь этим. Предлогаю в этой ветке обсуждать вопросы именно запуска программы Фокуса\МСВ на железе ФлайСкай. А вопросы по таймерам и алармам, и прочим улучшайзингам - всетаки наверное лучше в соседней ветке rcopen.com/forum/f8/topic28745
Мне кажется так будет более правильно. Там и народу побольше и покреативней, и автор последней ревизии есть…
Кстати, забыл приложить к архиву ТХТ файлик Сергея МСВ, тем самым нарушил его авторские права. Приношу извинения Сергею, когда (и если буду) что-то дописывать-исправлять - постараюсь незабыть вложить его. 😃
ребят а кто какими шнурками для симуляторов пользуется, а также какими симуляторами???
у меня программатор так и не заработал 😦(
пишет что не может войти в режим программирования…
диоды на входе перемыкал - после этого не стартует программа avrprog - пишет что нет совместимой платы 😦(
пробовал запитать передатчик при программировании через усб - тоже фиг…
перемкнул резистор по линии резет программатора - тоже нет…
у кого еще есть какие идеи?
у меня программатор так и не заработал 😦(
пишет что не может войти в режим программирования…
диоды на входе перемыкал - после этого не стартует программа avrprog - пишет что нет совместимой платы 😦(
пробовал запитать передатчик при программировании через усб - тоже фиг…
перемкнул резистор по линии резет программатора - тоже нет…
у кого еще есть какие идеи?
найти комп с лпт и прошить
у кого еще есть какие идеи?
Вспомнил. Копай ветку про самодельный передатчик. Можно попробовать поиском по PEN . У кого-то, кажется у Eagle… мега нивкакую не хотела шиться без притяжки PEN то-ли на +, то-ли на землю. Ну или даташит почитать на эту тему.
Возможен еще вариант следующий. Китайцы могли случайно к примеру вывод RESET переназначить на вход…
Или, может что в распайке попутали?
нет… распайку не напутал… уже проверил даже просто омметром…
сейчас чтото прочиталось… не знаю с чем сравнить
флаш файл 180 кб а епром 6. - то есть по размеру вроде похоже…
как сравнить содержимое ? у меня внутри не нули !! и это радует…
кстати я в программаторе перемкнул все резисторы линий…
Вот что прочиталось как епром…
народ сравните а ? а то я уже мозг сломал с этим программатором…
:020000020000FC
:10000000D08F8C0078018C00303030303030303080
:1000100030303030303030303030420A3A313030E9
:1000200035463030303030303030303030303030B5
:1000300030303030303030303030303030303030C0
:10004000303030303046420A3A313030363030309D
:1000500030303030303030303030303030303030A0
:100060003030303030303030303030303030303090
:100070003045410A3A31303036313030303030306E
:100080003030303030303030303030303030303070
:100090003030303030303030303030303044410A61
:1000A0003A3130303632303030303030303030303D
:1000B0003030303030303030303030303030303040
:1000C00030303030303030303043410A3A31303027
:1000D0003633303030303030303030303030303017
:1000E0003030303030303030303030303030303010
:1000F000303030303042410A3A31303036343030EE
:1001000030303030303030303030303030303030EF
:1001100030303030303030303030303030303030DF
:100120003041410A3A3130303635303030303030BD
:1001300030303030303030303030303030303030BF
:100140003030303030303030303030303039410ABB
:100150003A31303036363030303030303030303088
:10016000303030303030303030303030303030308F
:1001700030303030303030303038410A3A31303081
:100180003637303030303030303030303030303062
:10019000303030303030303030303030303030305F
:1001A000303030303037410A3A3130303638303044
:1001B000303030303030303030303030303030303F
:1001C000303030303030303030303030303030302F
:1001D0003036410A3A313030363930303030303014
:1001E000303030303030303030303030303030300F
:1001F0003030303030303030303030303035410A0F
:100200003A313030364130303030303030303030CC
:1002100030303030303030303030303030303030DE
:1002200030303030303030303034410A3A313030D4
:1002300036423030303030303030303030303030A6
:1002400030303030303030303030303030303030AE
:10025000303030303033410A3A313030364330308C
:10026000303030303030303030303030303030308E
:10027000303030303030303030303030303030307E
:100280003032410A3A31303036443030303030305C
:10029000303030303030303030303030303030305E
:1002A0003030303030303030303030303031410A62
:1002B0003A31303036453030303030303030303018
:1002C000303030303030303030303030303030302E
:1002D00030303030303030303030410A3A31303028
:1002E00036463030303030303030303030303030F2
:1002F00030303030303030303030303030303030FE
:10030000303030303046410A3A31303037303030DA
:1003100030303030303030303030303030303030DD
:1003200030303030303030303030303030303030CD
:100330003045390A3A3130303731303030303030B2
:1003400030303030303030303030303030303030AD
:100350003030303030303030303030303044390AA6
:100360003A31303037323030303030303030303079
:10037000303030303030303030303030303030307D
:1003800030303030303030303043390A3A3130306C
:100390003733303030303030303030303030303053
:1003A000303030303030303030303030303030304D
:1003B000303030303042390A3A3130303734303032
:1003C000303030303030303030303030303030302D
:1003D000303030303030303030303030303030301D
:1003E0003041390A3A313030373530303030303002
:1003F00030303030303030303030303030303030FD
:100400003030303030303030303030303039390A00
:100410003A313030373630303030303030303030C4
:1004200030303030303030303030303030303030CC
:1004300030303030303030303038390A3A313030C6
:10044000373730303030303030303030303030309E
:10045000303030303030303030303030303030309C
:10046000303030303037390A3A3130303738303088
:10047000303030303030303030303030303030307C
:10048000303030303030303030303030303030306C
:100490003036390A3A313030373930303030303058
:1004A000303030303030303030303030303030304C
:1004B0003030303030303030303030303035390A54
:1004C0003A31303037413030303030303030303009
:1004D000303030303030303030303030303030301C
:1004E00030303030303030303034390A3A3130301A
:1004F00037423030303030303030303030303030E3
:1005000030303030303030303030303030303030EB
:10051000303030303033390A3A31303037433030D0
:1005200030303030303030303030303030303030CB
:1005300030303030303030303030303030303030BB
:100540003032390A3A3130303744303030303030A0
:10055000303030303030303030303030303030309B
:100560003030303030303030303030303031390AA7
:100570003A31303037453030303030303030303054
:10058000303030303030303030303030303030306B
:1005900030303030303030303030390A3A3130306D
:1005A000374630303030303030303030303030302E
:1005B000303030303030303030303030303030303B
:1005C000303030303046390A3A3030303030303028
:1005D0003146460A30303030303030303030303014
:1005E000303030303030303030303030303030300B
:1005F000303030303042450A3A31303032343030E9
:1006000030303030303030303030303030303030EA
:1006100030303030303030303030303030303030DA
:100620003041450A3A3130303235303030303030B8
:1006300030303030303030303030303030303030BA
:100640003030303030303030303030303039450AB2
:100650003A31303032363030303030303030303087
:10066000303030303030303030303030303030308A
:1006700030303030303030303038450A3A31303078
:100680003237303030303030303030303030303061
:10069000303030303030303030303030303030305A
:1006A000303030303037450A3A313030323830303F
:1006B000303030303030303030303030303030303A
:1006C000303030303030303030303030303030302A
:1006D0003036450A3A31303032393030303030300F
:1006E000303030303030303030303030303030300A
:1006F0003030303030303030303030303035450A06
:100700003A313030324130303030303030303030CB
:1007100030303030303030303030303030303030D9
:1007200030303030303030303034450A3A313030CB
:1007300032423030303030303030303030303030A5
:1007400030303030303030303030303030303030A9
:10075000303030303033450A3A3130303243303087
:100760003030303030303030303030303030303089
:100770003030303030303030303030303030303079
:100780003032450A3A313030324430303030303057
:100790003030303030303030303030303030303059
:1007A0003030303030303030303030303031450A59
:1007B0003A31303032453030303030303030303017
:1007C0003030303030303030303030303030303029
:1007D00030303030303030303030450A3A3130301F
:1007E00032463030303030303030303030303030F1
:1007F00030303030303030303030303030303030F9
:00000001FF
Это кусок хекса. Если на циферки смотреть, то бинарник наглядней. А так - похоже.
вот что в Славкиной в епроме было. (все копировать не буду, кусок)
:10000000230B02C4010402B2010502AC018F018F6F
:1000100001540E020101005455524E494759200027
:100020000164640000646400006464000000000077
:1000300000000000000101010100000000000000BC
:100040000000FF646464646464646464646464649D
:100050006464640000000000000000633B000000D6
:100060009CCE00326400020000000000000000008E
:10007000000000000000000064642D3C3C00000013
:100080000000009CCE003264000200009CCE0032D2
:1000900064000200009CCE003264000200009CCE8E
:1000A000003264000200009CCE00326400020000B6
:1000B000000000000000020000000000000000023C
:1000C00000000000000000000200009CCE0032642E
:1000D000000200009CCE003264000200000000001C
:1000E0000000000000000000000000000000000010
:1000F0000000000000000000000000000000000000
:1001000000000000000000000000000000000001EE
:1001100001005455524E49475920000164640000C3
:10012000646400006464000000000000000000003F
:1001300001010101000000000000000000FF6464F4
:100140006464646464646464646464646464000037
:10015000000000000000633B0000009CCE00326401
:10016000000200000000000000000000000000008D
:1001700000000064642D3C3C0000000000009CCEA8
:10018000003264000200009CCE00326400020000D5
:100190009CCE003264000200009CCE00326400025B
:1001A00000009CCE0032640002000000000000004D
у меня в обоих считанных файлах слишком много #30… и поэтому у меня сомнения…
от чего зависит достоверность считывания?
блин… вот уж не думал в том простейшем действии столько проблем найти 😦( вот вам блин и удобство внутрисхемного программирования 😦((
Я думаю, нормально считалось. Программатор ошибок не выдал при считывании?
в конце выдал ошибку…
что напрягает снова прочитать не могу!!! и не понимаю от чего зависит прочитает он или нет 😦((
Еще раз, посмотри про PEN !
Кстати, забыл приложить к архиву ТХТ файлик Сергея МСВ, тем самым нарушил его авторские права.
Да ладно… Не в копирайте счастье… 😃
Странно, именно в этой ветке так много недовольных звуком, хотя давно ждал подобных вопросов в основной ветке…
Все звуки определены в файле menu.c в структурах BEEP_TRACK_DEF. Формат массива: нота (0-ля первой октавы), длительность (мсек). Можете записать первый концерт Чайковского или что-нибудь из AC/DC. 😃
Запускаются проигрывание звуков функцией:
void beep_start(BEEP_TRACK_DEF flash *notes, unsigned char cnt, unsigned char rep);
notes- трек;
cnt - кол-во нот в треке;
rep- кол-во повторов трека.
Персонилизируйте свои пульты!
у меня программатор так и не заработал 😦(
пишет что не может войти в режим программирования…
диоды на входе перемыкал - после этого не стартует программа avrprog - пишет что нет совместимой платы 😦(
пробовал запитать передатчик при программировании через усб - тоже фиг…
перемкнул резистор по линии резет программатора - тоже нет…
у кого еще есть какие идеи?
Присоединяюсь к пожеланию найти комп с LPT и использовать простой шнурок только постарайтесь чтобы длина кабеля была минимальная.
Согласно рекомендации каждый сигнальный провод должен чередоваться с земляным.
У меня получился кабель на LPT длиной 35 см и еще внутри передатчика 12 см. Максимальная длина при таком подключении составляет 50 см.
Второй раз прошивал с помощью программы Ponyprog 2.07с, в шнурке у меня резисторы по 110 ом.
Удачи.
Странно, именно в этой ветке так много недовольных звуком, хотя давно ждал подобных вопросов в основной ветке…
Есть еще одна вещь, которую я не афишшировал. Я не корректировал работу таймера, генерирующего звук, а тактируется то он теперь другой частотой. 😉 Отчасти звук хуже из-за этого. Ноты то уплыли…
Еще раз, посмотри про PEN !
Да грабли были, и были они у меня.
Причина - плохая пайка или на конденсаторах обвески кварца, или на “земляной” ноге МЕГИ, что рядом с цепями генератора.
Камень не читался без шаманства с ногой PEN. Но и с ногой PEN он еле ворочался (как будто кварц не на 12МГц, а на 12КГц в лучшем случае. Точнее не считал).
Есть еще одна вещь, которую я не афишшировал. Я не корректировал работу таймера, генерирующего звук, а тактируется то он теперь другой частотой. 😉 Отчасти звук хуже из-за этого. Ноты то уплыли…
Алексей, можете выложить последний вариант проэкта- исходники с починенным шнурком. Есть друг программер попробуем вместе поковырять звук.
А также чем потом его компилировать в хекс.
Заранее благодарю.
Компилировать в хекс - нужен CjdevisionAVR. Искать в инете ( прямую ссылку не дам, правила форума запрещают). Нужна версия не ниже 2.х.х. Иначе не откомпилирует.
Со шнурком - до смешного. Я все порты меги назначил на ввод, потом нужные переназначил на вывод. Собственно, чтобы шнурок заработал, надо было с вывода что по схеме simcontrol (управление коммутатором ППМ) выдать логический 0.
Для этого надо в файле coder.c найти строки, где задаются регистры управления порта ввода-вывода G,можно по комментариям:
// Port G initialization
// Func4=In Func3=In Func2=In Func1=In Func0=In
// State4=P State3=P State2=P State1=P State0=P
И плставить значения:
PORTG=0x0F;
DDRG=0x10;
Не буду ради этого исходники перевыкладывать, надеюсь разберетесь.
Алексей! По совету MSV снова обращаюсь к вам по поводу включения на второй раз.
Оказалось что не включается только дисплей.
Можете подсказать где в исходнике описана процедура инициализации дисплея.
Похоже надо удлинить сигнал сброса.
Это оно?
void LCD_init(void) // ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ
{
//int i;
PORTC &= 0x04;
delay_us (100);
PORTC |= 0x04;
flysky_LCD_command(0xA1);
flysky_LCD_command(0xC0);
flysky_LCD_command(0xA2);
flysky_LCD_command(0x1D);
delay_us (100);
flysky_LCD_command(0x2B-);
delay_us (100);
flysky_LCD_command(0x2F);
flysky_LCD_command(0x25);
flysky_LCD_command(0x81);
flysky_LCD_command(CONTRAST);
delay_us (100);
flysky_LCD_command(0xAF);
Похоже надо удлинить сигнал сброса.
Это оно?
Да.
void LCD_init(void) // ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ
{
//int i;
PORTC &= 0x04; // подняли сброс
delay_us (100); // ширина импулься
PORTC |= 0x04; // опустили сброс
// вот тут можно задержку поставить.
…
delay_us (200)
Так правильно? Столько должно хватить?
Попробуйте. Практически правильно. “;” забыли. Можно еще ширину сброса попробовать поменять, а может перед сбросом еще паузу поставить.