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

Aleksey_Gorelikov
Catsw:

текущее состояние проекта позволяет реализовать такую схему?

В текущем состоянии нет трехпозиционного тумблера (физически) и всего одна крутилка.

Я, если честно, в упор не понимаю зачем нужны 3 крутилки, а вот тумблеры, особенно с регулировкой скорости перемещения машинки - считаю нужными. На 99% уверен, что вместо верхней крутилки поставлю тумблер трехпозиционный. Тем более в прошивке он уже имеется (SW2). Доработка железа будет заключаться лишь в запаивании его вместо резюка, плюс два одинаковых резистора практически любого номинала на тот же тумблер навесным монтажем. Кому лень менять - будут крутить крутилкой. Она будет иметь три четких зоны (эмулировать тумблер). Третью крутилку - реализую.

ВитГо

ИМХО крутилки есть и подключены к меге - и их можно вписать в прошивку…
другое дело что возможно придется менять в разных местах…

Алексей, к тебе напрямую вопрос - а насколько в цепи Reset атмеги необходим конденсатор ? может быть у меня из за этого не удается ее перепрограммировать ? выпаять его нафиг и все …
Я смотрел старую схему фокуса, текущую МСВ - кондеров по РЕЗЕТу нет…
Он на что то все таки влияет или можно удалить без особых последствий ?

тем более что судя по схеме юрки там не просто керамика а электролит стоит

Aleksey_Gorelikov

Ну мне (на аппаратуре Славы Михеева) он абсолютно не мешал. По опыту - в цепь ресета либо ставить супервизор, либо не ставить ничего. Без активного БОД в мегах с конденцатором в ресете портится епром (проверено на себе).
Отпаивайте смело, 10мкф там точно лишние, а вот керамику какую-нибудь маленькую на всякий случай поставьте. Всеж ВЧ устройство, вдруг проц наводками ресетится начнет.

ВитГо

а у меня при попытке программировать атмегу она начинает сбрасываться… (писк как при старте… потом ошибка на программаторе… потом снова писк)

p.s. хотел LPT программатором перепрошить но на работе оказывается стоит лок и на установку софта (драйверов) и на порты 😦((((
хоть бери и покупай себе системник с монитором !!! 😦((
так что буду разбираться как запустить программатор avr910…

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

а у меня при попытке программировать атмегу она начинает сбрасываться… (писк как при старте… потом ошибка на программаторе… потом снова писк)

p.s. хотел LPT программатором перепрошить но на работе оказывается стоит лок и на установку софта (драйверов) и на порты 😦((((
хоть бери и покупай себе системник с монитором !!! 😦((
так что буду разбираться как запустить программатор avr910…

ты avr910 по какой схеме сделал?

Aleksey_Gorelikov

У меня - авр910, без ничего… Т.е. на меге в дип корпусе напаяны кварц, кондеры к нему, резюк с усб на питание, стабилизатор питания на 3,6в, кондер по питанию и провода. Все. Ноги меги подогнуты вовнутрь, “обнимая” приходящий усб и уходящий ISP шнуры, все затянуто 3-4 слоями термоусадки. Никаких резисторов по isp нет, похоже в этом залог успеха.

ВитГо

поздравь меня Алексей, - я смог заставить работать свой программатор с аппой!!!

резисторы кстати тоже убрал…
и еще убрал кондер по резету из аппы (как раз где ты провод резет припаивал желтый корпус)

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

но по моему мнению все ок… потому как программа программатора ошибок не пишет…
после окончания процесса чтения аппа сбрасывается…
в момент чтения на экране пустота…

так должно быть ? (у меня раньше экран не тух)

эхх… а наши продули… блин может я у них везение украл? 😦((

вот считанный файл флеш narod.ru/disk/21067122000/flash.hex.html

считанный EEPROM narod.ru/disk/21067148000/eeprom.hex.html

кто нить проверьте рабочие ли они или у меня считался мусор ?

очень прошу !!!

Со своей стороны обещаю начало работы с прошивкой адаптированной Алексеем

Прошивку проверять уже не нужно !

я проверил ее глазками… показалась такой же как и у всех 😃

Залил прошивку Алексея - что нажимать для завершения калибровки ?
а то я + нажимаю а она мне пишет что мол газ в ноль переведи - я перевожу - но сообщение не исчезает…

гм… вы все спите наверное…
пойду читать тему про прошивку фокуса там наверняка писали… гм… ох там и дофига страниц 😦((

залил пока свою старую прошивку ! тоже получилось !

кстати экран прошивки Алексея и у меня со второго раза заводился…

Catsw
ВитГо:

гм… вы все спите наверное…

Ну, скажем так - пытались 😃

ВитГо:

Залил прошивку Алексея - что нажимать для завершения калибровки ?

😃 Прям себя вспомнил, пока до конца дочитал 😃
См в этом посте - скачете и разберётесь, там все подробно описано:

rcopen.com/forum/f8/topic207267/1065

msv

…она мне пишет что мол газ в ноль переведи - я перевожу - но сообщение не исчезает…

Если прошивка с 1.9, то там есть ошибочка с определением мин. газа, исправленная в последнем фиксе. Алексей без проблем разберется…
Алексей, не дает покоя вопрос, как ты собираешься уместить 8 моделей?? Или в этой аппе нет и не будет режимов полета?

Stepan_M

2 ВитГо Поздравляю с удачной прошивкой! Для завершения процесса калибровки надо погонять туда сюда все крутилки, так было в моем случае. Потом для выхода + или - не помню точно.

Ура! Процесс пошел.

Aleksey_Gorelikov
msv:

Алексей, не дает покоя вопрос, как ты собираешься уместить 8 моделей?? Или в этой аппе нет и не будет режимов полета?

С многих переменных можно украсть бит-два перейдя к относительным величинам, от некоторых можно вобще отказаться, исключить калибровку (откалибровался, поправил константы в файлике, залил назад), уменьшить размерность символов в названии моделей (используется то не весь алфавит).
Главное, чтобы до этого руки дошли.

ВитГо

Начал разбираться с адаптированной прошивкой которую выложил Алексей в первом посте и потихонечку сделаю рефакторинг кода (это ни чьих прав не нарушает ?)

Для себя всегда комментирую код - и если кому будет интересно то могу выкладывать сюда результаты своих трудов…

Особенно будет интересно что скажет Алексей (чтобы мои комментарии были правильные, а может где то в код будет закладываться функциональность на будущее - чтобы я не переписал)

Кстати, Алексей, а зачем в процедуре калибровки сначала сохраняются калибровочные значения в EEPROM и только потом проверяются на верность ?
может быть поместить сохранение калибровочных значений после проверки ? - чтобы не перезаписывать EEPROM понапрасну… (хотя калибровка вроде как не самое часто выполняемое действие, но тем не менее)
Тайного смысла в этом нет ?

ВитГо
msv:

Если прошивка с 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;

На истину в последней инстанции не претендую (на работе я сейчас, и компилятора чтобы проверить нет под рукой) - но здесь нет ни умножения, ни деления… хотя в принципе быстродействие нам и не важно… но для меня конструкция была бы более понятной…

msv

Тайного смысла в этом нет ?

Процедура проверки валидности калибровки вообщем-то вспомогательная функция, намекающая пользователю что надо-бы разобраться с его железом… Но возможность работать с теми значения калибровки, которые у него получились- его право… Мое дело ему напоминать об этом при каждом включении, а он типа вправе отказываться от повторных калибровок клавишей лево. Вообщем непринципиальный момент…
//–
“Мудреные вычисления” всего лишь решение пропорции для определения 10% от (ADmax[3]-ADmin[3]) - 100%. 😃
А вот используются индексы в ADm… канала рудера…

ВитГо

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

Про калибровку понял… тогда оставлю как есть…

Сергей, я вопросик задал (rcopen.com/forum/f8/topic207267/1090) подскажите ответ ?

насколько я помню сообщения той ветки - тот кусок кода вы писали 😃

Aleksey_Gorelikov
ВитГо:

Начал разбираться с адаптированной прошивкой которую выложил Алексей в первом посте и потихонечку сделаю рефакторинг кода (это ни чьих прав не нарушает ?)

Для себя всегда комментирую код - и если кому будет интересно то могу выкладывать сюда результаты своих трудов…

Особенно будет интересно что скажет Алексей

Больше будет интересно, что скажет Сергей! 😃 Моего то там и нет ничего… Лишь дефайны переписаны, да инициализация дисплея… и чуть цыферки в таймере поменял 😉

ВитГо

Ну как не крути, Алексей, но если бы вы не запустили эту прошивку на Турниге\Юрке - я бы точно в код не полез…

Я как то попытался пару раз - но мне сложно все показалось…
А сегодня сел и почти весь coder.c откомментировал… 😃
Правда до этого я разобрался в работе первого Фокусовского кодера на мега16… (думал собирать его… но теперь не вижу смысла - буду Юрку свою модернизировать)

Кстати а почему не задействовали трехпозиционный выключатель ? ИМХО там ничего сложно… постараюсь сегодня добраться до него… - если сделаю чтобы на SW2_1 и SW2_2 шли правильные значения - режимы будут переключаться ?

Aleksey_Gorelikov

так режимы то переключаются. Просто второго трехпозиционного нет. Наверно сегодня со степаном сделаем его эмуляцию через крутилку 😃

ВитГо

лучше тогда сделать просто еще один пропорциональный канал…

ВитГо

Поправил ошибку на которую указал MSV с каналом рудера вместо канала газа…

Исправил процедуру инициализации дисплея (взял с немецкой прошивки) - теперь аппа включается с первого раза (в принципе она и раньше включалась всегда, только вот экран работал со второго раза)

результат калибровки сохраняется только в случае ее успешности… а при неуспешности при следующем старте снова будет запрошена…

кого то прошивка интересует или выкладывать не спрашивая ?

файл для прошивки narod.ru/disk/…/Coder-VitGo-2010-05-24.hex.html

вот исходники с моими комментариями (почти весь coder.c в комментариях)
narod.ru/disk/…/source-VitGo-2010-05-24.zip.html

Алексей, а давай вместо трехпозиционного канала прикрутим крутилку ?
как раз будет их 2 для FPVшников…

Ты сделаешь или мне потренироваться ? 😉

Aleksey_Gorelikov
ВитГо:

Алексей, а давай вместо трехпозиционного канала прикрутим крутилку ?
как раз будет их 2 для FPVшников…

Ты сделаешь или мне потренироваться ? 😉

Можм вместе. Но лично я тумблер оставлю! двух крутилок фпвшникам должно хватить