AP_LeakDetector_Digital.cpp 636 B

123456789101112131415161718
  1. #include "AP_LeakDetector_Digital.h"
  2. #include <AP_HAL/AP_HAL.h>
  3. extern const AP_HAL::HAL& hal;
  4. AP_LeakDetector_Digital::AP_LeakDetector_Digital(AP_LeakDetector &_leak_detector, AP_LeakDetector::LeakDetector_State &_state) :
  5. AP_LeakDetector_Backend(_leak_detector, _state)
  6. {}
  7. void AP_LeakDetector_Digital::read()
  8. {
  9. if (leak_detector._pin[state.instance] >= 0) {
  10. hal.gpio->pinMode(leak_detector._pin[state.instance], HAL_GPIO_INPUT);
  11. state.status = hal.gpio->read(leak_detector._pin[state.instance])==leak_detector._default_reading[state.instance]?false:true;
  12. } else {
  13. state.status = false;
  14. }
  15. }