Альтернативная прошивка к FlySky/Turnigy/I-Max/Eurle (Кодер Fokus-a - MSV)
Еще раз, посмотри про 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)
Так правильно? Столько должно хватить?
Попробуйте. Практически правильно. “;” забыли. Можно еще ширину сброса попробовать поменять, а может перед сбросом еще паузу поставить.
Спасибо! Попробую разобраться.
Степан, ну чем кончилась история с увеличением времени сброса???
Степан, ну чем кончилась история с увеличением времени сброса???
Не было времени разобраться. Компилятор установил - проект нормально загрузился.
Потом начальство столько работы накидало что только вот к концу недели разобрался.
Планирую исправлять поэтапно - сначала - тренерский разъем
Потом дисплей
Потом рингтоны:)
понятно… а то прочитав в другой ветке про то что залили ерлуговскую прошивку малость подрасстроился - подумал что решили забить на это…
Планирую исправлять поэтапно - сначала - тренерский разъем
Тренерский разъем яж уже поправил (только на выход ппм). На вход - вряд ли буду делать. Там давольно много писать придется, а я не хочу от авторского варианта MSV отходить, т.к. вижу данный проект как подветку “кодера фокуса”. Перед отпуском заказал себе эту “игрушку”. Вернусь с отпуска - получу (если почта тормозить не будет) - попробую памяти моделей прибавить, да лишние крутилки задействовать. Скорее всего, будетут варианты:
- с двумя крутилками и доп. трехпозиционным тумблером вместо “верхней крутилки”
- с тремя крутилками.
По первому варианту - для упрощения модификации тумблер будет сажаться вместо крутилки на АЦП (теже провода). Необходимо будет допаять навесным монтажем на тумблер два одинаковых резистора практически любого номинала. Крутила, если не менять на тумблер тоже будет работать, но как тумблер (край- центр- край.).
Наша благодарность не будет иметь границ, в пределах разумного!😒
Тренерский разъем яж уже поправил (только на выход ппм). На вход - вряд ли буду делать. Там давольно много писать придется, а я не хочу от авторского варианта MSV отходить, т.к. вижу данный проект как подветку “кодера фокуса”. Перед отпуском заказал себе эту “игрушку”. Вернусь с отпуска - получу (если почта тормозить не будет) - попробую памяти моделей прибавить, да лишние крутилки задействовать. Скорее всего, будетут варианты:
- с двумя крутилками и доп. трехпозиционным тумблером вместо “верхней крутилки”
- с тремя крутилками.
По первому варианту - для упрощения модификации тумблер будет сажаться вместо крутилки на АЦП (теже провода). Необходимо будет допаять навесным монтажем на тумблер два одинаковых резистора практически любого номинала. Крутила, если не менять на тумблер тоже будет работать, но как тумблер (край- центр- край.).
а может одной крутилкой и 2 трех позиционными тумблерами обойдемся
самое интересное что на главном экране крутилки отображаются и реагируют на ручки…😃, то бишь как я понимаю процессором они обрабатываются…
Да, вертелки опрашиваются и больше ничего. в прошивеке используется только одна, остальные даже не нормализуются. Привязывать их - надо менять меню и структуру епром. Однако, в кодере МСВ у тумблеров весьма приятная функция - плавное замедление. Я пока не решаюсь выкидывать из программы SW2 и внедрять вместо него крутилку, т.к. считаю задержку более удобной. Крутилка полезна для подстройки каких-либо параметров, и практически бесполезна в том виде, в котором есть. А 3 крутилки - имхо изврат, продиктованный ничем иначе, как наличием свободных каналов АЦП. Использовались бы они как в мультиплексе… Но увы. Переписывать кодер целиком я не буду. Хочу максимально оставить совместимость с МСВ, он то свой проект бериодически обновляет.
Господа, если кто то еще будет иметь проблемы с программатором на LPT - “5 шнурков” - первое, что сделайте - выкиньте резисторы нафиг, после этого он будет нормально читать/писать, у меня на “подружить” его с аппой ушло 6 часов плясок с бубном, КОМовский не заработал, хотя был на других девайсах неоднократно проверен, LPT с ходу то же не заработал, методом “научного тыка” выяснились несколько вещей:
1.е В БИОСе LPT порт ставим в режим SPP. (не факт, что нужно - но сделал - так пишут в инструкции).
2.е Если используете uniprof - там надо переназначить выводы порта LPT - они по умолчанию не соответствуют вышеуказанной схеме. Указать надо сначала LPT порт, потом появится сверху справа кнопка назначения выводов. Выводы указываем соответственно схеме:
RESET - DATA 7(9) MOSI - DATA 5(7) SCK - DATA 4(6) MISO - (10)
Инверсию нигде не ставим!
Pony ставим как показано в посте 72 - меняем только тип программатора.
2.е выкинуть резисторы из схемы, схема - см. пост 72
После этого был проверен в uniprof и PonyProg Version 2.07c Beta.
До выкидывания резисторов - не работала ни одна из программ, после выкидывания - перешивают даже не смотря на положения тумблеров, хотя оба (а не один) - “Трот.кут” (слева сзади) и “Аил Д/Р” (справа сверху) лучше ставить в положение - “на себя”.
Резисторы в программаторе стояли 90 Ом - и он не работал! ИМХО из за этого и КОМ программатор не работал - тока не хватало, там резисторы ещё больше сопротивление имеют.
Хочу максимально оставить совместимость с МСВ, он то свой проект бериодически обновляет.
Доброго дня, Алексей, МСВ обновил проект в очередной раз, (и с приятными дополнениями), может скоро и Вы нас порадуете адаптированной прошивкой? 😃
эхх… наверное нужно все таки делать лпт программатор…
завтра попробую купить разъем для лпт порта а напаять на него разъем программатора…
эхх… наверное нужно все таки делать лпт программатор…
завтра попробую купить разъем для лпт порта а напаять на него разъем программатора…
только не паяй резисторы, и тумблера переключить не забудь
про тумблера я помоему вообще первый написал 😃)
резисторы делать не буду…
на работе попробую прошить в понедельник…