Browse Source

AP_RPM: changed get_rpm() API to be scripting compatible

return a bool and use a reference for the value
zr-v5.1
Andrew Tridgell 5 years ago
parent
commit
22ce90af34
  1. 12
      libraries/AP_RPM/AP_RPM.cpp
  2. 7
      libraries/AP_RPM/AP_RPM.h
  3. 4
      libraries/AP_RPM/examples/RPM_generic/RPM_generic.cpp

12
libraries/AP_RPM/AP_RPM.cpp

@ -188,6 +188,18 @@ bool AP_RPM::enabled(uint8_t instance) const @@ -188,6 +188,18 @@ bool AP_RPM::enabled(uint8_t instance) const
return true;
}
/*
get RPM value, return true on success
*/
bool AP_RPM::get_rpm(uint8_t instance, float &rpm_value) const
{
if (!healthy(instance)) {
return false;
}
rpm_value = state[instance].rate_rpm;
return true;
}
// singleton instance
AP_RPM *AP_RPM::_singleton;

7
libraries/AP_RPM/AP_RPM.h

@ -75,12 +75,7 @@ public: @@ -75,12 +75,7 @@ public:
/*
return RPM for a sensor. Return -1 if not healthy
*/
float get_rpm(uint8_t instance) const {
if (!healthy(instance)) {
return -1;
}
return state[instance].rate_rpm;
}
bool get_rpm(uint8_t instance, float &rpm_value) const;
/*
return signal quality for a sensor.

4
libraries/AP_RPM/examples/RPM_generic/RPM_generic.cpp

@ -56,9 +56,11 @@ void loop(void) @@ -56,9 +56,11 @@ void loop(void)
sensor_state = '-';
}
float rpm = -1;
RPM.get_rpm(ii, rpm);
hal.console->printf("%u - (%c) RPM: %8.2f Quality: %.2f ",
ii, sensor_state,
(double)RPM.get_rpm(ii),
(double)rpm,
(double)RPM.get_signal_quality(ii));
if (ii+1 < RPM.num_sensors()) {

Loading…
Cancel
Save