usb-адаптер передатчика - альтернативная open-source прошивка

osnwt

Версия от 11.08.2006.
rcu_20060811.rar
По отношению к предыдущей сделаны следующие изменения:

  • Изменена версия компилятора. Теперь компилировать следует IAR 4.20. Из особенностей компилятора использовано новое ключевое слово __nested для глобального разрешения прерываний сразу по входу в процедуру обработки прерывания. Это более корректно, чем sei после сохранения регистров.
    • Обновлена версия USB драйвера до 2006-07-18. Новые возможности, например, динамические дескрипторы, в проекте пока не использованы, но они в принципе дают возможность сделать универсальную прошивку под разные виды интерфейсов.
    • Добавлен опциональный режим серво-тестера. Идея в том, чтобы при входном PPM сигнале выдать один из каналов на отдельный выход контроллера. Использовать его можно для проверки серв или регуляторов двигателей. Естественно, что питать их надо не от USB. Я использовал этот режим для отладки контроллера бесколлекторного двигателя. Опция работает только при выборе драйвера in_ppm_adv, поскольку добавлялась как побочный эффект, а не самоцель.
  • Добавлен альтернативный выходной драйвер out_joystick_btn, аналогичный обычному out_joystick, но дублирующий 8 аналоговых каналов на 8 дискретных (кнопки). Если входной канальный импульс <1.5мс, то соответствующая кнопка не нажата, и наоборот. Минусом этого варианта является снижение в 2 раза периода опроса USB джойстика (ограничение программного USB как low-speed device). Плюсом же - пример того, как можно делать USB HID дескрипторы, состоящие из более чем одного репорта. Несмотря на кажущуюся избыточность кода, IAR крайне эффективно сливает его в один фрагмент, так что ручная оптимизация была принесена в жертву очевидности кода.
  • Многие аппаратные опции перенесены из *.c файлов в options.h, что, надеюсь, снизит вероятность подсунуть в очередной раз неработающую прошивку из за того, что какой-то из портов не был исправлен.
  • В архиве лежат две скомпилированные версии - с кнопками и без оных. Обе поддерживают режим серво-тестера, выводя на вывод PB1 (OC1A) сигнал 3-го канала передатчика (не проверено на ATmega8).
  • Обе версии проверены на оригинальном железе и выглядят работоспособными.
Psw:

Одним словом, только что заливал ради интереса в шнурок обе по очереди - с виду работают одинаково ХОРОШО.

Это случайно. Первая формально работать не должна (CMOS - не TTL).

По сравнению с первой от 13/07 случайно реверс элеронов не поменялся ?

Логика не менялась, так что не должен был.

Расходов не хватает - но енто уже точно по причине не сделанной мною калибровки в AFPD и винде.

Расходы сделаны с запасом на разную аппаратуру. Калибровать крайне рекомендуется или в Windows, или в симуляторе. Желающие могут поправить коэффициенты в исходнике и лучше использовать разряды байтовых переменных. Еще оптимальнее было бы переписать out_joystick_btn так, чтобы передавать не 8-ми, а 10-ти битные значения каналов. Тогда полное использование разрядов не имело бы такого смысла. Но при этом из за усложнения упаковки данных пропала бы наглядность. Кто идею понял - сам сможет переписать эту часть.

Кстати, между присвоением значения таймеру в прерывании и его свободным бегом есть компромисс - Увеличение таймера (в прерывании по переполнению ентого таймера) на требуемую коррекцию - применял в своём прошлом учебном проектике - тоже работает.

Это работает, если прерывание гарантированно вызвалось. А если случился захват при запрещенном прерывании, которое позже разрешили, то таймер убежит на непредсказуемую величину. В случае USB драйвера это работать не будет, поскольку драйвер может запрещать прерывания на время до 100 мкс и даже более, что внесет существенную погрешность в измерение PPM сигнала (порядка 10%, что и наблюдалось в версии с in_ppm декодером).

DrClover:

Единственное, что еще хотелось быувидеть в данной версии - продублировать пару каналов кнопками, как это было во 2 й и 3ей оригинальных прошивках

Как было в оригинальных - не знаю, так как их не смотрел. Но опционально сделал вариант с продублированными всеми 8-ю каналами в виде кнопок. Оба варианта прошивок есть в архиве.

graham
osnwt:

Версия от 11.08.2006.

Только что проверил эту версию, без кнопок (предыдущие версии не проверял ни одной), на передатчике Sanwa RD8000 и схеме на mega8. Стабильность в работе замечена была, в симуляторе пока проверить не успел, т.к. каналы на джойстике все попутаны получились 😦 В оригинальной проге написаной на асме, без проблем все поменял, тут не смог по причине отсутствия IAR 4.20, есть пока только 4.12, если получится найти новый крякнутый IAR и где настройки каналов, попробую перекомпилить, пока Вам огромное спасибо и удачи. Как только начнете работу регульятора для бесколлекторника на PWM3, сообщите, плиз, в личку.

graham

Полетал в симуляторе, вроде все нормально. Выкачал IAR 4.20 полистал код, не нашел определения поледовательности каналов, видимо они выдаются в компьютер в такой же последовательности, в которой приходят. У меня получаются некоторые каналы перепутаные на компьютере 😦. Т.к. в С и СРР я не силен, свободного времени еще меньше чем знаний, подскажите как поменять каналы.

osnwt
graham:

каналы на джойстике все попутаны получились

Да, это особенность прошивки. Я не старался тут сохранять совместимость с оригиналом, поскольку не увидел в этом большого смысла.

Как только начнете работу регульятора для бесколлекторника на PWM3, сообщите, плиз, в личку.

Работа над ним уже идет, и довольно успешно. Но проект будет закрытым.

подскажите как поменять каналы.

Варианта 3:

  1. (рекомендуемый): в любом известном мне симуляторе назначение каналов может программироваться внутри самого симулятора. В том числе, это относится к FMS, Aerofly Pro Deluxe, RealFlight G3 и Reflex XTR. Там же есть калибровка расходов каналов. Потому я не увидел смысла менять что-то в прошивке и не знаю точно, зачем это сделано в оригинале (вероятно, для общности или совместимости по умолчанию с неким конкретным симулятором).

  2. (частичное решение не для всех симуляторов): назначение каналов задается в USB дескрипторе строками:

PROGMEM char usbHidReportDescriptor[USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH] =
{
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
0x75, 0x08, // REPORT_SIZE (8)
0x09, 0x04, // USAGE (Joystick)
0xa1, 0x01, // COLLECTION (Application)
0x09, 0x01, // USAGE (Pointer)
0xa1, 0x00, // COLLECTION (Physical)
0x09, 0x30, // USAGE (X)
0x09, 0x31, // USAGE (Y)
0x95, 0x02, // REPORT_COUNT (2)
0x81, 0x82, // INPUT (Data,Var,Abs,Vol)
0xc0, // END_COLLECTION
0xa1, 0x00, // COLLECTION (Physical)
0x09, 0x32, // USAGE (Z)
0x09, 0x33, // USAGE (Rx)
0x95, 0x02, // REPORT_COUNT (2)
0x81, 0x82, // INPUT (Data,Var,Abs,Vol)
0xc0, // END_COLLECTION
0x09, 0x34, // USAGE (Ry)
0x09, 0x35, // USAGE (Rz)
0x09, 0x36, // USAGE (Slider)
0x09, 0x37, // USAGE (Dial)
0x95, 0x04, // REPORT_COUNT (4)
0x81, 0x82, // INPUT (Data,Var,Abs,Vol)
0xc0 // END_COLLECTION
};

В таком порядке видятся с 1-го по 8-й каналы компьютеру. Назначение их применительно к джойстику очевидно из названий (оси X,Y,Z, вращение по осям Rx, Ry, Rz, ползунок, колесико). Для симулятора эти назначения могут приниматься или не приниматься в расчет (зависит от решения автора симулятора). Можно без особых проблем переставить местами эти обозначения, сохранив их места. Но это будет иметь значение только для джойстика и симуляторов, где стандартные назначения берутся в расчет (думаю, что нигде 😃).

  1. (реальная перестановка, но решение надо писать самому): нужно вводить таблицу перекодировки или просто переписать формирование последовательности каналов в функции usbBuildReport(). В каком порядке будут положены значения из channelData[] в usbReport[] - в таком и будут видны каналы в симуляторе.

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

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

dmitryu
osnwt:

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

С любым не RC. ИЛ-2, например.

osnwt
dmitryu:

С любым не RC. ИЛ-2, например.

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

Предположим, что канал руля высоты поступает с пульта по счету 3. Его симулятор хочет увидеть как ось Y стандартного джойстика. Тогда нужно поставить в дескрипторе 0x09, 0x31, // USAGE (Y) на 3-е место, считая сверху (в данном случае - вместо 0x09, 0x32, // USAGE (Z)), а последнее - соответственно, на второе. И эти два канала поменяются местами.

Иначе говоря, следует понять, в какой последовательности идут каналы с передатчика (например, 1 - газ, соответствующий в симуляторе оси Z, 2 - элероны, соответствующие в симуляторе оси X, 3 - руль высоты, соответствующий в симуляторе оси Y, и так далее). И поменять последовательность в дескрипторе в этом порядке, то есть

0x09, 0x30, // USAGE (X)
0x09, 0x31, // USAGE (Y)
0x95, 0x02, // REPORT_COUNT (2)
0x81, 0x82, // INPUT (Data,Var,Abs,Vol)
0xc0, // END_COLLECTION
0xa1, 0x00, // COLLECTION (Physical)
0x09, 0x32, // USAGE (Z)

поменять на

0x09, 0x32, // USAGE (Z) - 1 канал передатчика
0x09, 0x30, // USAGE (X) - 2 канал передатчика
0x95, 0x02, // REPORT_COUNT (2)
0x81, 0x82, // INPUT (Data,Var,Abs,Vol)
0xc0, // END_COLLECTION
0xa1, 0x00, // COLLECTION (Physical)
0x09, 0x31, // USAGE (Y) - 3 канал передатчика

Способ не вполне очевидный, но я не рассчитывал на подобные применения. Однако, любые изменения с точки зрения HID джойстика можно сделать, правильно сформировав этот дескриптор. В принципе, можно сформировать некий набор настроек прошивки, чтобы делать это более удобно. Пусть будет ToDo для очередной версии прошивки, если таковая когда-либо появится. Если нет, то можно переписать ее под себя, сделав указанные выше изменения.

graham
osnwt:

Работа над ним уже идет, и довольно успешно. Но проект будет закрытым.

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

osnwt:

Варианта 3:

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

osnwt:

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

Пока проверил в FMS, к риалфлайту компакт не мог найти после переезда, вещи разгребу все, - найдется.

osnwt
graham:

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

Если первого достаточно, то зачем тогда остальные? 😃

FMS->Control->Analog control->Joystic interface->Mapping/Calibration - и там все есть.

Пока проверил в FMS, к риалфлайту компакт не мог найти после переезда, вещи разгребу все, - найдется.

Там тоже все есть.

Жаль. А на сколько закрытый? Полностью или можно как-нить стать тестером?

Пока полностью. А дальше время покажет. Сроков никаких нет, поскольку проект, как некоммерческий, идет по остаточному принципу, а времени на все не хватает.

Николай-К

Как и обещал попробовал все прошивки и вот мои результаты:
Пробовал на Win XP Pro SP2, RC - Graupner 314

  1. 2006.07.13 - работает но почти все каналы дергаются
  2. 2006.07.20 - не работает (и в игровых устройствах ее нет)
  3. 2006.08.09 - работает очень хорошо
  4. 2006.08.11 - работает очень хорошо (разницы с предыдущей не увидел)
    И еще попутно вопрос, а что биты конфигурации все должны быть в Off,
    там только SUT0 - сам ставится в On, а то ведь в прошивках которые были выложены
    здесь раньше было - CKOPT-On и SPIEN-On?
    Кабель у меня собран на Atmega8-16PI который питается от 3.3 вольт.
    Для полного результата нужно еще проверить на разных версиях винды и разных
    передатчиках, эта возможность у меня есть но нужно некоторое время.
osnwt
Николай-К:
  1. 2006.07.13 - работает но почти все каналы дергаются

By design. Это уже обсуждали. Хотя у некоторых работает без дрыгов, но это просто удачный USB хост. Причина выявлена. Считать прошивку устаревшей.

  1. 2006.07.20 - не работает (и в игровых устройствах ее нет)

То, что нет в устройствах - странно. Должно просто не работать (у большинства) чтение PPM сигнала. Считать прошивку нерабочей.

  1. 2006.08.09 - работает очень хорошо

Рабочая прошивка с тем же набором опций, что и предыдущая (которая не работает). Считать прошивку баг-фиксом предыдущей.

  1. 2006.08.11 - работает очень хорошо (разницы с предыдущей не увидел)

Разницы и нет в смысле подергивания. Разница только в дополнительном дублировании одного канала на выход контроллера и альтернативный вариант джойстика с дублирующими кнопками (и в этом варианте частота передачи данных на компьютер в 2 раза ниже, чем без кнопок - теоретически 50 и 100 раз в секунду, соответственно. Практически не проверялось).

И еще попутно вопрос, а что биты конфигурации все должны быть в Off,
там только SUT0 - сам ставится в On, а то ведь в прошивках которые были выложены
здесь раньше было - CKOPT-On и SPIEN-On?

Судя по часто появляющемуся тут вопросу о битах конфигурации: я вообще не указывал того, какие биты должны быть прошиты. Должны быть прошиты точно те же самые биты, что и для оригинальной прошивки, поскольку аппаратно устройства идентичны. И отсутствие прошитого бита SPIEN вообще сделает контроллер неперешивающимся по SPI. Поскольку прошивка задумывалась, как drop-in replacement для оригинальной (бросил на место оригинальной и забыл), то акцента на установке битов не делалось.

Кабель у меня собран на Atmega8-16PI который питается от 3.3 вольт.

Если оно работает с оригиналом, то будет работать и с альтернативной версией. Спор по поводу питания от 3.3 вольт кристаллов, работающих на 12 MHz, уже был в соответствующей ветке. Как правило, все работает. Я предпочел питать контроллер от 5 вольт, но выбор этот более-менее произвольный.

Для полного результата нужно еще проверить на разных версиях винды и разных
передатчиках, эта возможность у меня есть но нужно некоторое время.

Самое интересное - проверить на 98 и ME. 98-я, по имеющейся информации, иначе работает с HID джойстиками. Она требует положительных значений передаваемых данных (это условие у меня соблюдается изначально) и не использует USB interrupt для опроса устройства (у меня реализовано оба варианта: как система запросит - так мы ей и ответим).

В любом случае спасибо за информацию всем ответившим. По крайней мере понятно, что хоть у кого-то оно заработало. Хотелось бы еще в том же ряду увидеть сравнение с оригинальной версией, чтобы для себя уяснить, а имело ли смысл все это мероприятие? Я писал для себя, но спустя полгода что-то стукнуло выложить сюда. Может, и зря. Но раз выложил, то хотелось хотя бы понять, имело ли все это смысл…

Николай-К

Попробовал снова прошивки но уже с включенными битами - CKOPT и SPIEN:
2006.08.09 - работать совсем отказалась
2006.08.11 - работает как и прежде отлично
2006.08.11(btn) - тоже работает без проблемм

DrClover
osnwt:

В любом случае спасибо за информацию всем ответившим. По крайней мере понятно, что хоть у кого-то оно заработало. Хотелось бы еще в том же ряду увидеть сравнение с оригинальной версией, чтобы для себя уяснить, а имело ли смысл все это мероприятие? Я писал для себя, но спустя полгода что-то стукнуло выложить сюда. Может, и зря. Но раз выложил, то хотелось хотя бы понять, имело ли все это смысл…

На мой взгляд- Имело !!! и даже не надо сомневаться в этом.
повторюсь - Честь и хвала автору 😃 😃 😃

ЗЫ у меня оригинальная работала нормально тока с SANWA RD6000, c Futaba 9CHP каналы были перетусованы и небыло кнопок (смею предположить что изза инверсии PPM, транзистор на входе стоит)
С Вашей все ОК.ОВ.

graham
DrClover:

ЗЫ у меня оригинальная работала нормально тока с SANWA RD6000, c Futaba 9CHP каналы были перетусованы и небыло кнопок (смею предположить что изза инверсии PPM, транзистор на входе стоит)
С Вашей все ОК.ОВ.

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

DrClover
graham:

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

С футаба 9 она работала - но без кнопок, с санвой нормально с кнопками
Возможно это из за транзистора на входе(РРМ позитив негатив) делал несколько штук себе и друзьям
по полной схеме со стабилизатором 3.3в и транзистором на входе у всех окей, у меня без кнопок 😦
Вэтом проекте как я понял нет разницы в РРМ позитив или негатив
удобно для не сильно рубящих правильно собрал схему- залил прошивку -счастье ! 😃
да и дерганий каналов поменьше.

toxa
DrClover:

ЗЫ у меня оригинальная работала нормально тока с SANWA RD6000, c Futaba 9CHP каналы были перетусованы и небыло кнопок (смею предположить что изза инверсии PPM, транзистор на входе стоит)

У sanwa и futaba разный порядок следования каналов. У futaba 1-элерон 2-руль высоты а у sanwa - 1-руль высоты 2-элероны.

boroda_de

Заинтриговали меня посты тут: скачал, прошил последнюю версию с кнопками (ничего не менял, т.к. компайлера нет а ссылка в доку на демо качает полную версию).
Как уже замечено каналы по сравнению с оригинальной прошивкой расположены по-другому…
Дрожания ручек не заметно, зато имеется небольшое скакание при минимальной длине импульса на двух каналах (из шести)
Передатчик Graupner/JR X412 совсем новый (т.е. резюки в порядке)
Позже протестую с Graupner MX12/JR 2610
Спасибо автору и успехов

osnwt
boroda_de:

компайлера нет а ссылка в доку на демо качает полную версию.

Это не совсем демо - это на самом деле полная eva*luation версия, отличающаяся от retail только отсутствием исходников библиотек. Если ее скачивать через сайт после регистрации (ни к чему не обязывающей), то на указанный email присылают 30-дневную лицензию, позволяющую протестировать пакет без каких-либо ограничений. Если скачать ее по прямой ссылке, то без лицензии запустить продукт не получится, но в определенном смысле эта проблема решаема. Например, путем покупки лицензии. Ну, или поиска в интернете, или т.п.

Buranov_P

Проверил последние прошивки на Win ME и 98. Передатчик - Hitec Focus Heli 5. Работают без проблем FMS и AFPD. Оригинальная прошивка v1.1 не позволяет откалибровать джойстик в этих симуляторах под МЕ и 98.

Теперь замечания/просьба. Дело в том, что без хотя бы одной кнопки откалибровать джойстик в “Игровых устройствах” (в МЕ и 98) не удается. (Или я не знаю как. Кто знает - научите. Только не надо ссылаться на Win XP - там это сделать можно!)) Кнопки, совмещенные с ручками передатчика еще более запутывают ситуацию. Крайне желательно было бы, чтобы хотя бы одна кнопка эмулировалась с клавиатуры или с замыкания ножки микропроцессора на землю.

IMHO: Нужна прошивка, где кнопки эмулируются с клавиатуры или с ножек микропроцессора (что, по моему, совсем уж не сложно сделать), а лучше - обе прошивки. Кнопки с ручек передатчика, на мой взгляд, только создают неудобства.

В любом случае большая благодарность автору. Я, например, давно уже собирался сделать адаптер - наконец сделал. (Хотя реальной нужды вроде бы и нет - есть фирменнные RF G2 и Reflex. Пульт RF G2 перекрывает все потребности.) Просто любопытно было поковыряться.

Кстати, если кому интересно. Столкнувшись с проблемой “Неизвестное USB устройство” стал с ней бороться. Были перепробованы все рекомендованные (в соответствующей ветке форума) способы: Питание 5в - 3.6в, конденсаторы на D+ и D-, провод длинный - короткий и тд. Все это давало мизерные результаты. (Хотя и давало. Например, иногда все таки устройство опознавалось). В конце концов подпаял конденсатор 500пф на ножку резонатора (все равно какую) - все заработало как часы! В любых комбинациях - 5в, 3,6в, с конденсаторами на D+ и D-. и без с длинным кабелем и коротким, с любыми прошивками (даже с “неустойчивами” , про заведомо нерабочие я не говорю)… . Померял частоту на резонаторе.Без подпаянного конденсатора 12.06 мгц. С конденсатором на выводе XTAL2 - 12.00, с конденсатором на XTAL1 - 11,93. За точность цифр не ручаюсь - мерялось китайским мультиметром, хотя думаю кварц там заведомо точнее, чем керамический резонатор. Но тенденцию проследить можно… . Кстати, рекомендация включить FUSE bit CKPOT (в оригинальной статье, написано - включить все FUSE… ) как раз и подключает внутренние конденсаторы к резонатору, понижая частоту (в моем случае - недостаточно!). В общем, возникло предположение - а не связаны ли все проблемы у людей с разбросом частот резонатора? У кого чуть ниже - и никаких проблем, а у кого чуть выше… . Впрочем, это каждый может проверить сам. Если не заест лень - попробую поставить внешнюю RC цепочку, и посмотреть, насколько точно нужно подбирать частоту. (В оригинальной статье написано: ± 1%, но в моем случае +1% оказался фатальным!)
В данный момент схема выглядит так: два диода с +5 на питание процессора, конденсатор 0,1 мкф керамический по питанию процессора, никаких резисторов, конденсаторов, стабилитронов на D+ и D- (кстати, резистор с D- должен быть подключен к +5, а не к 3,3в ? по описанию шины, хотя это, наверное, непринципиально. Сигнал с передатчика - через резистор. Итого:
Два конденсатора 0,1мкф (питание проца) и 510 пф (на резонатор)
Два резистора 1,5ком (с D- на +5в) и 10ком (на передатчик)
Два диода КД522 снижают напряжение до 3,6в. (Я все-таки тоже сторонник, чтобы все было по правилам)
ATMEGA8-16PI
Резонатор ZTT 12мГц

Итого 8 элементов. Без проблем работает с удлиннительным USB кабелем 1,6 метра, на раных компах.

9 days later
Yuriy

Решил заменить шнур с Com портом, на шнур USB. Собрал устройство, взял у знакомого программатор, скачал PonyProg, запрограммировал. Подключил к компу - устройство не опознано. Посмотрел осциллографом сигналы на выходе - нет ничего, кроме постоянки на “Data-” и входного сигнала РРМ. На обеих ножках кварца тоже нет ничего. А больше и проверять-то нечего. С микропроцессорами я не знаком, поэтому есть вопросы:

  • встроенный генератор на кварце тоже программируется, или он должен работать автономно?
  • расширение а90 - это тоже НЕХ, я его переименовал с расширением НЕХ, чтобы открыть в программаторе, это допустимо?
  • как-то можно проверить, правильно ли я его запрограммировал и что еще можно посмотреть?
  • может я генерацию щупом срываю, но вроде с делителем 1:10 и емкостью 12 пф.
boroda_de

П1. Чтоб кварц заработал, нужно при прошивке процессора поставить Fuses смотрите тут www.rcdesign.ru/articles/electronics/rcusb

Важно не забыть запрограммировать конфигурационные биты контроллера (fuses). Для данного устройства все биты должны быть установлены в “1” (не запрограммированы). Для этого в PonyProg необходимо снять все флажки в диалоговом окне “Configuration and Security bits”.

П2 Допустимо, я тоже так делал.
Скорее всего у Вас после поправки fuses заработает.