Переходим с AVR на ARM

Covax

Предлагаю делится в этой теме новостями, решениями о желательно менее болезненном переходе с процессоров AVR (ардуины) на значительно более производительные ARM процессоры…

  1. Делимся инфо о ардуино-совместимых платках на ARM, на которых можно портировать популярные проекты типа Multiwii, Megapirates
  2. Делимся о новых достойных мультироторных проектах на ARM
SovGVD

полезная ссылка с хабры habrahabr.ru/blogs/controllers/123236/
там и про avr и про arm и про mips и всё вроде как совместимо с ардуинкой
и вот еще сравнение цен/возможностей habrahabr.ru/blogs/controllers/120611/
готовые контроллеры (ща в меня тру паяльщики помидоры кидать будут) можно например на сайте сидуинки заказать

Covax

НО для всех этих ардуино совместимых плат придется переписывать код, я правильно понимаю? Ардуино севместивость у них у всех на уровне подключения внешних платок, нет?

SovGVD

учитывая что и MW и MP используют всякие хаки avr, то переписывать придется
а вот кстатии AR.Drone летает на ARM и вроде как с Linux на борту, никто реверс инжинеринг не делал?

SovGVD
AlcoNaft43:

Ну мало ли кто не знает

не совсем осознал где заказать, сколько стоит и где исходники

funtik26

господа а какой нибудь проект из вышеприведенных закончен до состояния стабильно летающе зависающего коптера? просто развелось куча веток, а видеоролики сносного качества только от пираньи

SovGVD

на всех народ вполне стабильно летает, а на армы/мипсы пересесть хотим, чтобы еще лучше летать

AlcoNaft43
SovGVD:

а на армы/мипсы пересесть хотим, чтобы еще лучше летать

Ну или хотя бы не собирать прошивку под каждый аппарат. В том же опенпилоте одна прошивка содержит программы стабилизации на все типы ЛА. Качество математики тоже растет.

Covax

Ну я вчера был зол на мегапирата, пропустил сорри 😃 Но летает че то совсем не вкусно, тряска эта, видео по камере вообще трешак 😃

Siorinex

Сравнение по выводам Сидуина Мега и LeafLabs Maple r5
первое - Сидуина, через дефис - мэпл на том-же контакте

Контактная группа 1 (Power):
RST - RST
3V3 - VCC
5V - VDDA
GND - GND
GND - GND
Vin - Vin

Контактная группа 2 (0-7)
0 (RX0) - 0 (PWM, AIN, RX2)
1 (TX0) - 1 (PWM, AIN, TX2)
2 (PWM) - 2 (PWM, AIN)
3 (PWM) - 3 (PWM, AIN)
4 (PWM) - 4
5 (PWM) - 5 (PWM)
6 (PWM) - 6 (PWM)
7 (PWM) - 7 (PWM, TX1)

Контактная группа 3:
8 (PWM) - 8 (PWM, RX1)
9 (PWM) - 9 (PWM)
10 (PWM) - 10 (AIN)
11 (PWM) - 11 (PWM, AIN)
12 (PWM) - 12 (PWM, AIN)
13 (PWM) - 13 (AIN)
GND - GND
AREF - 14 (PWM)

Группа 4
A0 - 15 (AIN)
A1 - 16 (AIN)
A2 - 17 (AIN)
A3 - 18 (AIN)
A4 - 19 (AIN)
A5 - 20 (AIN)
A6 -
A7 -

Остальное - не совпадает совсем…

Соответственно, в МультиВие задействованы:
A8-A15 - РУ. Можно перенести на A0-A7 для совместимости, один фиг последние два канала “not used”.
2-8 - моторы. В принципе - можно оставить без изменений, не считая 4: кажется на Лифе он в ШИМ не работает…
A0-A1 - стабилизатор камеры. Потенциально можно перенести куда-то ещё, что-бы оставить аналоговые входы для РУ. К примеру - на те-же 0-1, но второй группы, или куда-либо ещё: зачем занимать под стабилизатор аналоговые входы - я фз!
A3 - замер LiPol. Опять-же - можно перенести, хотя-бы на дополнительную группу контактов.
13 - индикация состояния, не мешает.
12 - питание, которое большинство всеравно берёт с 3v3 или 5 вольт для некоторых датчиков. В принципе - и не мешает.
31 - индикатор разряда батареи. Можно перенести.
SCL-SDA - на Лифе - 29-30 в пятой группе контактов. Для совместимости - проще на плате расширения сделать контактную группу и подключать ту или другую платы…

Вот, вроде, и всё…
Итого: с МультиВием совместимость только при переносе на другие контакты…

SovGVD

причем тут совпадение дырок? сам код местами использует всякие таймеры-фигаймеры и хаки ардуино подобных платок… ИМХО тупо перекомпилить код не получится
но начать стоит с multiwii конечно =) там кода меньше

iBat

А еще библиотеки стандартные и не очень используются. А значит либо искать аналог, переписывать вызовы. Либо вообще самому соответствующий функционал реализовывать.

7 days later
Covax

Так это же знаменитый Vis с форума мультикоптер, ну как успехи? Будет какойто релиз для смертных?

Siorinex

Пробовал на Leaf залить 1.8 мультивия…

  1. Обматерился на библиотеку EEPROM.pde, которая линкует avr/eeprom.h
    Полез в гайд, выясняю, что АРМ eeprom тупо не имеет! Обходится флешем, а eeprom эмулируется через либу. Убрал EEPROM.pde из каталога, подкинул тот самый модуль сторонний для эмуляции. Вроде прокатило, по крайней мере некст наезд был уже на другую тему…

  2. “variable or field ‘blinkLED’ declared voidBad error line: -57” - что за фигня не понял - уж очень сильно спать хотелось…