Контроллер AirbotV2 с интегрированным OSD (записей: 13)

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 8 мес. назад

    Выдалось время на побаловаться с этой платкой от Аирбота. Первым делом конечно же ОСД - и сразу же уперся в ограничения железа. Потому что ОСД в одно рыло употребляет 2К EEPROM, а классическая схема эмуляции EEPROM из 2-х страниц флеша создает только 4К, которых с трудом хватает самому Ардукоптеру.

    Выхода пока я вижу 2:

    1. можно расширить эмуляцию EEPROM на 3 страницы, что должно дать 8К места. Но готовых решений  я не нашел, так что на этом пути работы выше крыши. Поэтому этот вариант мне сильно не нравится.
    2. Можно параметры OSD считывать с SD-карты в память при загрузке, и работать с RAM  вместо EEPROM, благо в полете эти данные используются только на чтение. Этот вариант не нравится малость поменьше предыдущего.

    Может какие еще варианты есть?

  • Аватар профиля kozin Алексей Козин в 7 г., 8 мес. назад

    гипотетически в плане обсуждения

    если есть шина spi и какой нибудь управляющий пин на CS то можно пойти путем всех приличных контроллеров - повесить fram микруху.

    или  может быть в текущем корпусном исполнении возможно есть проц с большим объемом памяти, к примеру из семейства f7 ?

    желание уместить невмещаемое в текущие возможности железа замечательно, но может замена процессора будет дешевле и проще, а прошивка при этом станет функциональнее и будет быстрее развиваться в пользу функционалу?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 8 мес. назад

    Речь-то не про разработку контроллера (хотя предложить Аирботу впихнуть ФРАМ на тот же SPI что и MAX стОило бы, а то поставил флешку но зачем-то убрал чип памяти) - а про то как использовать то что есть, ту самую вашу плату контроллера AirbotV2 со встроенным OSD но без Атмеги.

    Во время поиска в инете вариантов придумался третий вариант - использовать просто страницу флеша для хранения данных для ОСД, с отказом от изменения их в поле с пульта. Жертва небольшая, зато сразу есть 16К свободных. При настройке ОСД все равно плата на столе, так что памяти хватает на "чтение-стирание-запись" без возни со слоем эмуляции.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 8 мес. назад

    Сделал эмуляцию 2К EEPROM в одном банке памяти. Версионник, 8 перезаписей до стирания.  Для целей ОСД получилось вполне неплохо, но естественно при выключении питания невовремя все теряется. Но окно вероятности небольшое, а перезаписи параметров ОСД в воздухе не производится, так что сойдет.

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 7 г., 1 мес. назад

    ну вроде как завелось

  • Аватар профиля alexeykozin22 Alexey Kozin в 6 г., 9 мес. назад

    попробовал сделать хал своего контроллера под чибиос и увидел в нем, в стиле его конфига много признаков стиля используемого в ваших разработках,

    очень удобный конфигуратор, практически за день запустил почти весь необходимый функционал (407 проц, i2c, spi ,сенсоры, фрам, сдкарту, пвм выходы, rcin ).

    однако все коммиты втч чибиос ревомини стоят от триджа

    судя по постам в этой теме https://discuss.ardupilot.org/t/chibios-port-of-ardupilot/20491 я сделал вывод что вы как минимум принимали активное участие в тестах.

    могу ли я в этой теме (или в какой нибудь другой) задать пару вопросов по конфигу чибиоса?

     

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 9 мес. назад

    Вопросы всегда можно, вот только я никаким боком к ЧибиОС не имею отношения, просто некоторые (не будем показывать пальцАми) подсматривали в мой код во время разработки.

    Пост в треде по ссылке - статистика моего ХАЛ, исключительно чтобы продемонстрировать разницу.

  • Аватар профиля alexeykozin22 Alexey Kozin в 6 г., 9 мес. назад

    парадокс моего случая в том что такие сложные вещи как цифрошины, сенсоры, пвм генераторы запустились сразу, а такие простые вещи как дигитал инпут-аутпут упорно приволдят к хардфаулт

    у pixhawk есть несколько портов которые можно использовать для управления реле для спуска затвора камеры или регистрации факта снимка камера фидбэк

    под эти функции в параметрах relay_pin  и cam_feedback_pin зарезирвированы значения диапазона 50 - 54

    в конфигах других плат подсмотрел как назначают гпио в частности светодиоды у пиксрейсера и  0,1  порты у PIXHAWK

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

    если пин задефайнен с указанием таймера и канала  то после калибровки сенсоров все зависает.

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

    вот такая настройка - не работает (в настройках пина реле ставлю 50)

    PC14 HAL_GPIO_50 OUTPUT GPIO(50)

    а с такой все виснет

    PE6 TIM9_CH2 TIM9 GPIO(53)

    в дебаг порту ничего полезного нет

    сорц https://github.com/kozinalexey/ardupilot/blob/chibios/libraries/AP_HAL_ChibiOS/hwdef/f4by-ch/hwdef.dat#L168

    если все включить то при компиляции питон генерит такой вроде адекватный фрагмент

    // GPIO config
    #define HAL_GPIO_PINS { \
    {  0, true, 0, PAL_LINE(GPIOE, 3U) }, /* PE3 LED_RED OUTPUT */ \
    {  1, true, 0, PAL_LINE(GPIOE, 2U) }, /* PE2 LED_GREEN OUTPUT */ \
    {  2, true, 0, PAL_LINE(GPIOE, 1U) }, /* PE1 LED_BLUE OUTPUT */ \
    { 50, true, 0, PAL_LINE(GPIOC, 14U) }, /* PC14 HAL_GPIO_50 OUTPUT */ \
    { 51, true, 0, PAL_LINE(GPIOC, 13U) }, /* PC13 HAL_GPIO_51 OUTPUT */ \
    { 52, true, 0, PAL_LINE(GPIOE, 4U) }, /* PE4 HAL_GPIO_52 OUTPUT */ \
    { 53, true, 0, PAL_LINE(GPIOE, 6U) }, /* PE6 TIM9_CH2 TIM9 AF3 */ \
    }

     

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 9 мес. назад

    Я в таких случаях ставлю брейк на обработчик исключения и смотрю где свалилось, а потом пошагово прохожу. Но уходы на ХардФаулт из-за настроек это ИМХО нечто неправильное у них.

    ЗЫ. Кодогенерация - абсолютное зло.

  • Аватар профиля alexeykozin22 Alexey Kozin в 6 г., 9 мес. назад

    эх, я вслепую без брекпоинтов и дебаг интерфейса. Максимум - отправить сотояние переменных в сериал.

    поксольку под виндой ваф не собирает, поставил линух на старый ноут и собираю на нем... 12 минут на каждую компиляцию

     

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 9 мес. назад
    [2018-03-14 09:03:27] alexeykozin22 писал(а): я вслепую без брекпоинтов и дебаг интерфейса

    так жить нельзя! Осбенно при порте на другое железо. СТ-Линк делается из любой платы на Ф1 за 5 минут

    [2018-03-14 09:03:27] alexeykozin22 писал(а): поставил линух на старый ноут

    а почему не в виртуалку?

  • Аватар профиля alexeykozin22 Alexey Kozin в 6 г., 9 мес. назад
    [2018-03-14 09:08:18] night_ghost писал(а): а почему не в виртуалку?

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

    [2018-03-14 09:08:18] night_ghost писал(а): так жить нельзя! Осбенно при порте на другое железо. СТ-Линк делается из любой платы на Ф1 за 5 минут

    у меня есть f3 и f7 дискавери , в качестве редактора кода использую эклипс, сборку запускаю из консоли

    для отладки понадобятся другие инструменты?

    может есть ссылка где прочитать можно об оптимальном решении для дебага под проект "арду "чтобы не грузить вас "тупыми вопросами"?

  • Аватар профиля Night_Ghost Night_Ghost287 пунктов в 6 г., 9 мес. назад

    Все Дискавери имеют встроенный ст-линк, осталось только 4 проводка кинуть. Эклипса достаточно, надо только правильно настроить отладчик, это легко нагугливается.

    Решения для дебага дело личное - я с Триджем беседовал, он сказал что СТ-линк использует редко, а кроме него и еще одного никто больше, обходятся отладочной печатью.  Мне же поставить брекпоинт и посмотреть переменные просто бесценно.

← Форум группы   Все форумы К последней записи
Постов на странице:

Вы автоматически вступите в эту группу, когда ответите в теме.

Добавить ответ:

-
Рейтинг@Mail.ru