Browse Source

Copter: fixed RSSI reading on PX4

needed for different analog input scaling
mission-4.1.18
Andrew Tridgell 12 years ago
parent
commit
c44fd42349
  1. 5
      ArduCopter/ArduCopter.pde
  2. 2
      ArduCopter/sensors.pde

5
ArduCopter/ArduCopter.pde

@ -782,8 +782,7 @@ static AP_Relay relay; @@ -782,8 +782,7 @@ static AP_Relay relay;
static AP_Camera camera(&relay);
#endif
// a pin for reading the receiver RSSI voltage. The scaling by 0.25
// is to take the 0 to 1024 range down to an 8 bit range for MAVLink
// a pin for reading the receiver RSSI voltage.
static AP_HAL::AnalogSource* rssi_analog_source;
@ -878,7 +877,7 @@ void setup() { @@ -878,7 +877,7 @@ void setup() {
&sonar_mode_filter);
#endif
rssi_analog_source = hal.analogin->channel(g.rssi_pin, 0.25);
rssi_analog_source = hal.analogin->channel(g.rssi_pin);
batt_volt_analog_source = hal.analogin->channel(g.battery_volt_pin);
batt_curr_analog_source = hal.analogin->channel(g.battery_curr_pin);
board_vcc_analog_source = hal.analogin->channel(ANALOG_INPUT_BOARD_VCC);

2
ArduCopter/sensors.pde

@ -142,6 +142,6 @@ static void read_battery(void) @@ -142,6 +142,6 @@ static void read_battery(void)
void read_receiver_rssi(void)
{
rssi_analog_source->set_pin(g.rssi_pin);
float ret = rssi_analog_source->read_latest();
float ret = rssi_analog_source->voltage_average() * 50;
receiver_rssi = constrain_int16(ret, 0, 255);
}

Loading…
Cancel
Save