Browse Source

Merge branch 'multirotor'

sbg
Lorenz Meier 12 years ago
parent
commit
b7875f4d0f
  1. 5
      nuttx-configs/px4fmu-v1/nsh/defconfig
  2. 7
      src/drivers/airspeed/airspeed.cpp
  3. 2
      src/drivers/airspeed/airspeed.h
  4. 2
      src/drivers/bma180/bma180.cpp
  5. 7
      src/drivers/hmc5883/hmc5883.cpp
  6. 2
      src/drivers/l3gd20/l3gd20.cpp
  7. 2
      src/drivers/lsm303d/lsm303d.cpp
  8. 2
      src/drivers/mb12xx/mb12xx.cpp
  9. 9
      src/drivers/meas_airspeed/meas_airspeed.cpp
  10. 8
      src/drivers/ms5611/ms5611.cpp
  11. 2
      src/modules/sensors/sensors.cpp

5
nuttx-configs/px4fmu-v1/nsh/defconfig

@ -538,9 +538,10 @@ CONFIG_USBDEV=y
# #
# CONFIG_USBDEV_ISOCHRONOUS is not set # CONFIG_USBDEV_ISOCHRONOUS is not set
# CONFIG_USBDEV_DUALSPEED is not set # CONFIG_USBDEV_DUALSPEED is not set
CONFIG_USBDEV_SELFPOWERED=y # CONFIG_USBDEV_SELFPOWERED is not set
# CONFIG_USBDEV_BUSPOWERED is not set CONFIG_USBDEV_BUSPOWERED=y
CONFIG_USBDEV_MAXPOWER=500 CONFIG_USBDEV_MAXPOWER=500
# CONFIG_USBDEV_REMOTEWAKEUP is not set
# CONFIG_USBDEV_DMA is not set # CONFIG_USBDEV_DMA is not set
# CONFIG_USBDEV_TRACE is not set # CONFIG_USBDEV_TRACE is not set

7
src/drivers/airspeed/airspeed.cpp

@ -106,6 +106,11 @@ Airspeed::~Airspeed()
/* free any existing reports */ /* free any existing reports */
if (_reports != nullptr) if (_reports != nullptr)
delete[] _reports; delete[] _reports;
// free perf counters
perf_free(_sample_perf);
perf_free(_comms_errors);
perf_free(_buffer_overflows);
} }
int int
@ -152,7 +157,7 @@ Airspeed::probe()
*/ */
_retries = 4; _retries = 4;
int ret = measure(); int ret = measure();
_retries = 0; _retries = 2;
return ret; return ret;
} }

2
src/drivers/airspeed/airspeed.h

@ -165,5 +165,5 @@ protected:
}; };
/* helper macro for handling report buffer indices */ /* helper macro for handling report buffer indices */
#define INCREMENT(_x, _lim) do { _x++; if (_x >= _lim) _x = 0; } while(0) #define INCREMENT(_x, _lim) do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)

2
src/drivers/bma180/bma180.cpp

@ -234,7 +234,7 @@ private:
}; };
/* helper macro for handling report buffer indices */ /* helper macro for handling report buffer indices */
#define INCREMENT(_x, _lim) do { _x++; if (_x >= _lim) _x = 0; } while(0) #define INCREMENT(_x, _lim) do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)
BMA180::BMA180(int bus, spi_dev_e device) : BMA180::BMA180(int bus, spi_dev_e device) :

7
src/drivers/hmc5883/hmc5883.cpp

@ -311,7 +311,7 @@ private:
}; };
/* helper macro for handling report buffer indices */ /* helper macro for handling report buffer indices */
#define INCREMENT(_x, _lim) do { _x++; if (_x >= _lim) _x = 0; } while(0) #define INCREMENT(_x, _lim) do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)
/* /*
* Driver 'main' command. * Driver 'main' command.
@ -359,6 +359,11 @@ HMC5883::~HMC5883()
/* free any existing reports */ /* free any existing reports */
if (_reports != nullptr) if (_reports != nullptr)
delete[] _reports; delete[] _reports;
// free perf counters
perf_free(_sample_perf);
perf_free(_comms_errors);
perf_free(_buffer_overflows);
} }
int int

2
src/drivers/l3gd20/l3gd20.cpp

@ -300,7 +300,7 @@ private:
}; };
/* helper macro for handling report buffer indices */ /* helper macro for handling report buffer indices */
#define INCREMENT(_x, _lim) do { _x++; if (_x >= _lim) _x = 0; } while(0) #define INCREMENT(_x, _lim) do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)
L3GD20::L3GD20(int bus, const char* path, spi_dev_e device) : L3GD20::L3GD20(int bus, const char* path, spi_dev_e device) :

2
src/drivers/lsm303d/lsm303d.cpp

@ -421,7 +421,7 @@ private:
/* helper macro for handling report buffer indices */ /* helper macro for handling report buffer indices */
#define INCREMENT(_x, _lim) do { _x++; if (_x >= _lim) _x = 0; } while(0) #define INCREMENT(_x, _lim) do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)
LSM303D::LSM303D(int bus, const char* path, spi_dev_e device) : LSM303D::LSM303D(int bus, const char* path, spi_dev_e device) :

2
src/drivers/mb12xx/mb12xx.cpp

@ -184,7 +184,7 @@ private:
}; };
/* helper macro for handling report buffer indices */ /* helper macro for handling report buffer indices */
#define INCREMENT(_x, _lim) do { _x++; if (_x >= _lim) _x = 0; } while(0) #define INCREMENT(_x, _lim) do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)
/* /*
* Driver 'main' command. * Driver 'main' command.

9
src/drivers/meas_airspeed/meas_airspeed.cpp

@ -162,6 +162,8 @@ MEASAirspeed::collect()
if (ret < 0) { if (ret < 0) {
log("error reading from sensor: %d", ret); log("error reading from sensor: %d", ret);
perf_count(_comms_errors);
perf_end(_sample_perf);
return ret; return ret;
} }
@ -169,9 +171,14 @@ MEASAirspeed::collect()
if (status == 2) { if (status == 2) {
log("err: stale data"); log("err: stale data");
perf_count(_comms_errors);
perf_end(_sample_perf);
return ret;
} else if (status == 3) { } else if (status == 3) {
log("err: fault"); log("err: fault");
perf_count(_comms_errors);
perf_end(_sample_perf);
return ret;
} }
//uint16_t diff_pres_pa = (val[1]) | ((val[0] & ~(0xC0)) << 8); //uint16_t diff_pres_pa = (val[1]) | ((val[0] & ~(0xC0)) << 8);

8
src/drivers/ms5611/ms5611.cpp

@ -77,7 +77,7 @@ static const int ERROR = -1;
#endif #endif
/* helper macro for handling report buffer indices */ /* helper macro for handling report buffer indices */
#define INCREMENT(_x, _lim) do { _x++; if (_x >= _lim) _x = 0; } while(0) #define INCREMENT(_x, _lim) do { __typeof__(_x) _tmp = _x+1; if (_tmp >= _lim) _tmp = 0; _x = _tmp; } while(0)
/* helper macro for arithmetic - returns the square of the argument */ /* helper macro for arithmetic - returns the square of the argument */
#define POW2(_x) ((_x) * (_x)) #define POW2(_x) ((_x) * (_x))
@ -225,6 +225,12 @@ MS5611::~MS5611()
if (_reports != nullptr) if (_reports != nullptr)
delete[] _reports; delete[] _reports;
// free perf counters
perf_free(_sample_perf);
perf_free(_measure_perf);
perf_free(_comms_errors);
perf_free(_buffer_overflows);
delete _interface; delete _interface;
} }

2
src/modules/sensors/sensors.cpp

@ -673,7 +673,7 @@ Sensors::parameters_update()
if (!isfinite(_parameters.scaling_factor[i]) || if (!isfinite(_parameters.scaling_factor[i]) ||
_parameters.scaling_factor[i] * _parameters.rev[i] < 0.000001f || _parameters.scaling_factor[i] * _parameters.rev[i] < 0.000001f ||
_parameters.scaling_factor[i] * _parameters.rev[i] > 0.2f) { _parameters.scaling_factor[i] * _parameters.rev[i] > 0.2f) {
warnx("RC chan %u not sane, scaling: %8.6f, rev: %d", i, _parameters.scaling_factor[i], (int)(_parameters.rev[i]));
/* scaling factors do not make sense, lock them down */ /* scaling factors do not make sense, lock them down */
_parameters.scaling_factor[i] = 0; _parameters.scaling_factor[i] = 0;
rc_valid = false; rc_valid = false;

Loading…
Cancel
Save