Альтернативная прошивка к FlySky/Turnigy/I-Max/Eurle (Кодер Fokus-a - MSV)
Ребят так как моя аппа сейчас не у меня, а это та аппа с которой всё началось😒
А аппа Алексея где-то в пути(((((((((
Потерпите немного так как тестировать прошивки просто негде😵
Потерпите немного так как тестировать прошивки просто негде
Может я потестирую? нет проблем в тестах - перед полётами буду заливать проверенную, дома могу тестировать что угодно… Если могу быть хоть чем то полезен - буду полезен с радостью 😃
текущее состояние проекта позволяет реализовать такую схему?
В текущем состоянии нет трехпозиционного тумблера (физически) и всего одна крутилка.
Я, если честно, в упор не понимаю зачем нужны 3 крутилки, а вот тумблеры, особенно с регулировкой скорости перемещения машинки - считаю нужными. На 99% уверен, что вместо верхней крутилки поставлю тумблер трехпозиционный. Тем более в прошивке он уже имеется (SW2). Доработка железа будет заключаться лишь в запаивании его вместо резюка, плюс два одинаковых резистора практически любого номинала на тот же тумблер навесным монтажем. Кому лень менять - будут крутить крутилкой. Она будет иметь три четких зоны (эмулировать тумблер). Третью крутилку - реализую.
ИМХО крутилки есть и подключены к меге - и их можно вписать в прошивку…
другое дело что возможно придется менять в разных местах…
Алексей, к тебе напрямую вопрос - а насколько в цепи Reset атмеги необходим конденсатор ? может быть у меня из за этого не удается ее перепрограммировать ? выпаять его нафиг и все …
Я смотрел старую схему фокуса, текущую МСВ - кондеров по РЕЗЕТу нет…
Он на что то все таки влияет или можно удалить без особых последствий ?
тем более что судя по схеме юрки там не просто керамика а электролит стоит
Ну мне (на аппаратуре Славы Михеева) он абсолютно не мешал. По опыту - в цепь ресета либо ставить супервизор, либо не ставить ничего. Без активного БОД в мегах с конденцатором в ресете портится епром (проверено на себе).
Отпаивайте смело, 10мкф там точно лишние, а вот керамику какую-нибудь маленькую на всякий случай поставьте. Всеж ВЧ устройство, вдруг проц наводками ресетится начнет.
а у меня при попытке программировать атмегу она начинает сбрасываться… (писк как при старте… потом ошибка на программаторе… потом снова писк)
p.s. хотел LPT программатором перепрошить но на работе оказывается стоит лок и на установку софта (драйверов) и на порты 😦((((
хоть бери и покупай себе системник с монитором !!! 😦((
так что буду разбираться как запустить программатор avr910…
а у меня при попытке программировать атмегу она начинает сбрасываться… (писк как при старте… потом ошибка на программаторе… потом снова писк)
p.s. хотел LPT программатором перепрошить но на работе оказывается стоит лок и на установку софта (драйверов) и на порты 😦((((
хоть бери и покупай себе системник с монитором !!! 😦((
так что буду разбираться как запустить программатор avr910…
ты avr910 по какой схеме сделал?
У меня - авр910, без ничего… Т.е. на меге в дип корпусе напаяны кварц, кондеры к нему, резюк с усб на питание, стабилизатор питания на 3,6в, кондер по питанию и провода. Все. Ноги меги подогнуты вовнутрь, “обнимая” приходящий усб и уходящий ISP шнуры, все затянуто 3-4 слоями термоусадки. Никаких резисторов по isp нет, похоже в этом залог успеха.
поздравь меня Алексей, - я смог заставить работать свой программатор с аппой!!!
резисторы кстати тоже убрал…
и еще убрал кондер по резету из аппы (как раз где ты провод резет припаивал желтый корпус)
сейчас выложу считанные прошивки (флаш и епром)
кто нить проверьте на своей аппе, а то если опять у меня считалась чухня и программатор все таки не работает я без аппы останусь (запрограммировать то не смогу…)
но по моему мнению все ок… потому как программа программатора ошибок не пишет…
после окончания процесса чтения аппа сбрасывается…
в момент чтения на экране пустота…
так должно быть ? (у меня раньше экран не тух)
эхх… а наши продули… блин может я у них везение украл? 😦((
вот считанный файл флеш narod.ru/disk/21067122000/flash.hex.html
считанный EEPROM narod.ru/disk/21067148000/eeprom.hex.html
кто нить проверьте рабочие ли они или у меня считался мусор ?
очень прошу !!!
Со своей стороны обещаю начало работы с прошивкой адаптированной Алексеем
Прошивку проверять уже не нужно !
я проверил ее глазками… показалась такой же как и у всех 😃
Залил прошивку Алексея - что нажимать для завершения калибровки ?
а то я + нажимаю а она мне пишет что мол газ в ноль переведи - я перевожу - но сообщение не исчезает…
гм… вы все спите наверное…
пойду читать тему про прошивку фокуса там наверняка писали… гм… ох там и дофига страниц 😦((
залил пока свою старую прошивку ! тоже получилось !
кстати экран прошивки Алексея и у меня со второго раза заводился…
гм… вы все спите наверное…
Ну, скажем так - пытались 😃
Залил прошивку Алексея - что нажимать для завершения калибровки ?
😃 Прям себя вспомнил, пока до конца дочитал 😃
См в этом посте - скачете и разберётесь, там все подробно описано:
…она мне пишет что мол газ в ноль переведи - я перевожу - но сообщение не исчезает…
Если прошивка с 1.9, то там есть ошибочка с определением мин. газа, исправленная в последнем фиксе. Алексей без проблем разберется…
Алексей, не дает покоя вопрос, как ты собираешься уместить 8 моделей?? Или в этой аппе нет и не будет режимов полета?
2 ВитГо Поздравляю с удачной прошивкой! Для завершения процесса калибровки надо погонять туда сюда все крутилки, так было в моем случае. Потом для выхода + или - не помню точно.
Ура! Процесс пошел.
Алексей, не дает покоя вопрос, как ты собираешься уместить 8 моделей?? Или в этой аппе нет и не будет режимов полета?
С многих переменных можно украсть бит-два перейдя к относительным величинам, от некоторых можно вобще отказаться, исключить калибровку (откалибровался, поправил константы в файлике, залил назад), уменьшить размерность символов в названии моделей (используется то не весь алфавит).
Главное, чтобы до этого руки дошли.
Начал разбираться с адаптированной прошивкой которую выложил Алексей в первом посте и потихонечку сделаю рефакторинг кода (это ни чьих прав не нарушает ?)
Для себя всегда комментирую код - и если кому будет интересно то могу выкладывать сюда результаты своих трудов…
Особенно будет интересно что скажет Алексей (чтобы мои комментарии были правильные, а может где то в код будет закладываться функциональность на будущее - чтобы я не переписал)
Кстати, Алексей, а зачем в процедуре калибровки сначала сохраняются калибровочные значения в EEPROM и только потом проверяются на верность ?
может быть поместить сохранение калибровочных значений после проверки ? - чтобы не перезаписывать EEPROM понапрасну… (хотя калибровка вроде как не самое часто выполняемое действие, но тем не менее)
Тайного смысла в этом нет ?
Если прошивка с 1.9, то там есть ошибочка с определением мин. газа, исправленная в последнем фиксе. Алексей без проблем разберется…
Алексей, не дает покоя вопрос, как ты собираешься уместить 8 моделей?? Или в этой аппе нет и не будет режимов полета?
Да нет на первый взгляд все там правильно… мудрено правда очень
void VerReady(void)
{
unsigned int i;
while(1)
{
i=read_adc(ch_Throttle); // взяли положение ручки газа
if(i>ADmin[3]) i-=ADmin[3]; else i=0; // посчитали его положение от мин.
i*=10; i/=(ADmax[3]-ADmin[3]); // мудреные вычисления 😃
if(i==0) break; //<10% // в общем если стик газа далеко от минимума
LCD_clear(); // то выводим ошибку
LCD_setxy(8,20);
LCD_wrsf(“Down throttle!”, 1);
LCD_refresh();
beep_start(error_starting, 3, 0); // и противно пищим
delay_ms(1500);
}
}
ИМХО понятнее было бы
i=read_adc(ch_Throttle); // взяли положение ручки газа
i-=ADmin(3)+3; // вычтем из положения минимум чтобы получить абсолютную величину отклонения, прибавляем 3 (или 5 или 10 - попробовать нужно) чтобы не выпасть в отрицательные числа - например из за того что немного не точно была проведена калибровка канала газа и ручка может давать еще меньшие значения чем мы запомнили при калибровке
k=(ADmax[3]-ADmin[3])>>4 - сдвиг на 4 тоже самое что деление на 16… если кому много сделайте сдвиг на 3 (будет деление на 8)
if (i<k) break;…
ну и далее по тексту
ну а если печатать лень то можно все в одну строку
if ((i-ADmin[3]+3)<((ADmax[3]-ADmin[3])>>4)) break;
На истину в последней инстанции не претендую (на работе я сейчас, и компилятора чтобы проверить нет под рукой) - но здесь нет ни умножения, ни деления… хотя в принципе быстродействие нам и не важно… но для меня конструкция была бы более понятной…
Тайного смысла в этом нет ?
Процедура проверки валидности калибровки вообщем-то вспомогательная функция, намекающая пользователю что надо-бы разобраться с его железом… Но возможность работать с теми значения калибровки, которые у него получились- его право… Мое дело ему напоминать об этом при каждом включении, а он типа вправе отказываться от повторных калибровок клавишей лево. Вообщем непринципиальный момент…
//–
“Мудреные вычисления” всего лишь решение пропорции для определения 10% от (ADmax[3]-ADmin[3]) - 100%. 😃
А вот используются индексы в ADm… канала рудера…
ну это я понял (про мудреные вычисления)… просто потом идет целочисленное деление… - и тут я без листочка с ручкой уже не смог проверить как оно будет работать 😦(
Про калибровку понял… тогда оставлю как есть…
Сергей, я вопросик задал (rcopen.com/forum/f8/topic207267/1090) подскажите ответ ?
насколько я помню сообщения той ветки - тот кусок кода вы писали 😃
Начал разбираться с адаптированной прошивкой которую выложил Алексей в первом посте и потихонечку сделаю рефакторинг кода (это ни чьих прав не нарушает ?)
Для себя всегда комментирую код - и если кому будет интересно то могу выкладывать сюда результаты своих трудов…
Особенно будет интересно что скажет Алексей
Больше будет интересно, что скажет Сергей! 😃 Моего то там и нет ничего… Лишь дефайны переписаны, да инициализация дисплея… и чуть цыферки в таймере поменял 😉
Ну как не крути, Алексей, но если бы вы не запустили эту прошивку на Турниге\Юрке - я бы точно в код не полез…
Я как то попытался пару раз - но мне сложно все показалось…
А сегодня сел и почти весь coder.c откомментировал… 😃
Правда до этого я разобрался в работе первого Фокусовского кодера на мега16… (думал собирать его… но теперь не вижу смысла - буду Юрку свою модернизировать)
Кстати а почему не задействовали трехпозиционный выключатель ? ИМХО там ничего сложно… постараюсь сегодня добраться до него… - если сделаю чтобы на SW2_1 и SW2_2 шли правильные значения - режимы будут переключаться ?
так режимы то переключаются. Просто второго трехпозиционного нет. Наверно сегодня со степаном сделаем его эмуляцию через крутилку 😃
лучше тогда сделать просто еще один пропорциональный канал…