Cheerson CX-20 клон квадрокоптера DJI Phantom
были или нет именно чирики я 32 схемой
Вот здесь на фото хорошо виден 32u2
github.com/…/Inside-the-Cheerson-CX-20-Auto-pathfi…
на сто процентную работоспособность…
отличия по программной памяти и оперативной, программной хватает
остаётся только вопрос по оперативной, но 512 байт по идее очень даже не мало
т.е. вероятность работоспособности я бы сказал очень высока и тем более, что при компиляции ошибок не было, а компилятор проверяет и использование оперативной памяти также
--------- Target Information ---------
AVR Model: atmega16u2
Board: USER
Clock: 16000000Hz CPU, 16000000Hz Master
--------------------------------------
Size after:
AVR Memory Usage
----------------
Device: atmega16u2
Program: 5512 bytes (33.6% Full)
(.text + .data + .bootloader)
Data: 510 bytes (99.6% Full)
(.data + .bss + .noinit)
Вот здесь на фото хорошо виден 32u2
надо свой вскрыть…
Data: 510 bytes (99.6% Full)
на пределе, возможны нюансы, нужно пробовать
куда ж они столько памяти сожрали 😃
но s-bus для cx-20 это хорошая тема для тех, кто сменил штатную аппаратуру
куда ж они столько памяти сожрали
Буфера под USB. Судя по тому, что в makefile штатно есть опции и для 16u2 и для 32u2 - всё должно работать и там и там.
всё должно работать и там и там.
я тоже так считаю, а на чём там затык в данный момент, ничего у MFer не заработало?
а он 32U2 влил в 16U2, думаю, что если зальёт 16U2 в 16U2, то всё будет ok
можно скомпилить 32U2 и посмотреть сколько байт используется и если > 512, то вот он и ответ
--------- Target Information ---------
AVR Model: atmega32u2
Board: USER
Clock: 16000000Hz CPU, 16000000Hz Master
--------------------------------------
Size after:
AVR Memory Usage
----------------
Device: atmega32u2
Program: 5512 bytes (16.8% Full)
(.text + .data + .bootloader)
Data: 510 bytes (49.8% Full)
(.data + .bss + .noinit)
Data: 510 bytes (49.8% Full)
тогда остаётся только гадать заработает или нет 😃
но раз автор предусмотрел 16U2 то скорее да, чем нет
если только китайцы не стали использовать другие линии передачи инфы из маленького чипа в большой 😃
если только китайцы не стали использовать другие линии передачи инфы из маленького чипа в большой
С этим то разберёмся. Сейчас хотя бы добиться базовой работы - чтобы после перепрошивки увиделся по USB как com-порт.
раз автор предусмотрел 16U2
Там авторов - туева хуча - это же fork от ardupilot. А Кирилл добавил только отдельную библиотеку sbus вместо ppm.
Сейчас хотя бы добиться базовой работы
ждём, когда MFer зальёт 16U2 версию
ждём, когда MFer зальёт 16U2 версию
сорь затянул, т.к. сломался паяльник )))
итак, отчитываюсь:
- Arduino-usbdfu.hex - через USBAsp не заливается, выдает ошибку:
пришлось обратно шить нарытую в инете, которую я выкладывал выше в архиве (кстати убил на поиски подходящей часа два в прошлый раз - в оригинале она называлась Arduino-COMBINED-dfu-usbserial-atmega16u2-Uno-Rev3.hex)…
-
Arduino-usbserial.hex - через Flip в режиме DFU прошился, ком-порт определился, миссион планнер коннектится не захотел ни в какую, ни на каком баудрейте…
-
Arduino-usbserial-sbus.hex - через Flip в режиме DFU прошился, ком-порт НЕ определился, но тут хотя бы в отличии от той проши (под 32-ю атмегу) устройство неопознанное определилось ))
оставил контроллер распаянным под дальнейшие эксперименты )))
вот это поворот 😃
У меня есть подозрение, что по мере развития проекта он просто перестал влезать в память 16u2 (занята практически вся оперативка, а еще должно быть место для стека и кучи). И на каком-то этапе на поддержку 16u2 просто забили. То есть старые прошивки существуют и шьются, а вот скомпилировать новую для 16u2 просто уже нельзя. Я сейчас скомпилировал обычную ppm прошивку под 16u2 из официального хранилища ardupilot (не sbus fork). Если она тоже не заработает, то я пас - значит для 16u2 надо искать старую работающую прошивку и реинтегрировать туда библиотеку s-bus от Кирилла. Это та еще работёнка, я ей заниматься не буду. Проще уж сдуть 16u2 и на её место поставить 32u2, либо поставить внешний конвертер s-bus -> ppm.
а еще должно быть место для стека и кучи
не знаю как в атмеге, а в других для стека специальная отдельная память, в слабеньких на максимум 4-5 вызовов
куча - это если мы выделяем память функциями в C, также переменные, но здесь это контролируется всё компилятором, так как в прошивке не используются сишные функции для выделения памяти
А вся возня с Sbus только чтобы количество проводов уменьшить или еще какие-то плюсы есть?
А вся возня с Sbus только чтобы количество проводов уменьшить или еще какие-то плюсы есть?
есть, помимо проводов, еще и 12 каналов! с приемника… на 10, и даже на 8… по PWM которые
не знаю как в атмеге, а в других для стека специальная отдельная память
Нет, здесь общая.
в прошивке не используются сишные функции для выделения памяти
Не проверял. Но вот на стек уже может и не хватить.
Так ведь есть конвертер - микроплата sbus в ppm, попробую прикупить такую.
RCTimer Крошечные Конвертер SBUS ЧТОБЫ PPM или SpeSerial Приемник Freeshipping
www.aliexpress.com/item/…/32685683269.html
(from AliExpress Android)
Так, а если вот это прошить?
Также как с предыдущим вариантом (без sbus) - шьется через Flip в режиме DFU, ком порт появляется, но при попытке законнектить в МП выдает таймаут.
Причем сначала как бы начинается коннект, а потом сразу таймаут - в конце ошибка - “получен только один пакет”…
i64.tinypic.com/2rruddw.png
Прошил обратно флипом раодную прошивку - все коннектится нормально…
При этом при нормальном коннекте диоды работают так:
i65.tinypic.com/2a27gi.jpg
При твоей прошивке - диоды приема/передачи данных не работают…