Імпульсний вхід не вдається читати на вибраному контакті
Що пише ArduPilot:
- …: Failed to detach interrupt from N
- …: Failed to attach interrupt to N
Можливість, названа першою (RangeFinder_PWM, HC_SR04, Button, FuelLevelPWM чи RSSI), вимірює ширину імпульсів на контакті, а для цього контакт має вміти переривати процесор. Контакт із номером у кінці так налаштувати не вдалося: це не один із GPIO-контактів цієї плати, або ту саму лінію переривань уже займає інший вхід. Можливість нічого не читає. «Failed to detach…» з'являється, коли контакт змінили, а старий не вдалося звільнити; це знімає перезавантаження.
Що робити: найімовірніше спершу
Номер контакту не є GPIO-контактом цієї плати.
Перевірте«Планувальник плати й підключення» показує номер GPIO кожного виходу вашої плати.
ВиправтеВиберіть контакт, який документація вашої плати називає GPIO, задайте цьому виходу
SERVOn_FUNCTION-1 (GPIO) і перезавантажте.Два імпульсні входи ділять одну лінію переривань процесора.
ВиправтеПеренесіть один із них на інший контакт.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
RNGFND1_PIN | Rangefinder pin |
RSSI_ANA_PIN | Receiver RSSI sensing pin |
BTN_PIN1 | First button Pin |
BATT_FL_PIN | Fuel level analog pin number |
Де це зробити:Планувальник плати й підключення
Код, який це надсилає
…: Failed to detach interrupt from N
libraries/AP_HAL/GPIO.cpp AP_HAL::PWMSource::set_pin() · Відкрити в ArduPilot Copter-4.7.1
…: Failed to attach interrupt to N
libraries/AP_HAL/GPIO.cpp AP_HAL::PWMSource::set_pin() · Відкрити в ArduPilot Copter-4.7.1