парадокс моего случая в том что такие сложные вещи как цифрошины, сенсоры, пвм генераторы запустились сразу, а такие простые вещи как дигитал инпут-аутпут упорно приволдят к хардфаулт
у 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 */ \
}