aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/meas_airspeed
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-07-22 09:19:59 +0200
committerLorenz Meier <lm@inf.ethz.ch>2013-07-22 09:19:59 +0200
commit97f732ccf1e05f55ae2e48ef9d21c8e9b7b57510 (patch)
treef5e8f36b3059ea630886a508028446aae5360987 /src/drivers/meas_airspeed
parent08ddbbc23e5ee40c95cc838c08e946c7ac063698 (diff)
downloadpx4-firmware-97f732ccf1e05f55ae2e48ef9d21c8e9b7b57510.tar.gz
px4-firmware-97f732ccf1e05f55ae2e48ef9d21c8e9b7b57510.tar.bz2
px4-firmware-97f732ccf1e05f55ae2e48ef9d21c8e9b7b57510.zip
Fixed up ets driver (not tested, WIP on meas driver)
Diffstat (limited to 'src/drivers/meas_airspeed')
-rw-r--r--src/drivers/meas_airspeed/meas_airspeed.cpp42
1 files changed, 21 insertions, 21 deletions
diff --git a/src/drivers/meas_airspeed/meas_airspeed.cpp b/src/drivers/meas_airspeed/meas_airspeed.cpp
index 6603d3452..f31dc857d 100644
--- a/src/drivers/meas_airspeed/meas_airspeed.cpp
+++ b/src/drivers/meas_airspeed/meas_airspeed.cpp
@@ -278,7 +278,7 @@ namespace meas_airspeed
#endif
const int ERROR = -1;
-MEASAirspeed *g_dev;
+MEASAirspeed *g_dev = nullptr;
void start(int i2c_bus);
void stop();
@@ -300,47 +300,47 @@ start(int i2c_bus)
/* create the driver, try the MS4525DO first */
//g_dev = new MEASAirspeed(i2c_bus, I2C_ADDRESS_MS4525DO);
- {
+
int bus = PX4_I2C_BUS_EXPANSION;
//delete g_dev;
// XXX hack scan all addresses
- for (int i = 1; i < 0xFF / 2; i++) {
- warnx("scanning addr (7 bit): %0x", i);
+ for (int i = 0x20 / 2; i < 0xFE / 2; i++) {
+ warnx("scanning addr (7 bit): 0x%02x", i);
g_dev = new MEASAirspeed(bus, i);
warnx("probing");
- if (OK == g_dev->init()) {
+ if (OK == g_dev->Airspeed::init()) {
warnx("SUCCESS!");
+ usleep(200000);
exit(0);
} else {
+ warnx("FAIL!");
+ usleep(200000);
delete g_dev;
}
}
- // bus = PX4_I2C_BUS_ESC;
+ bus = PX4_I2C_BUS_ESC;
- // for (int i = 1; i < 0xFF / 2; i++) {
- // warnx("scanning addr (7 bit): %0x", i);
- // g_dev = new MEASAirspeed(bus, i);
- // if (OK == g_dev->init()) {
- // warnx("SUCCESS!");
- // exit(0);
- // } else {
- // delete g_dev;
- // }
-
- // }
+ for (int i = 1; i < 0xFF / 2; i++) {
+ warnx("scanning addr (7 bit): %0x", i);
+ g_dev = new MEASAirspeed(bus, i);
+ if (OK == g_dev->Airspeed::init()) {
+ warnx("SUCCESS!");
+ exit(0);
+ } else {
+ delete g_dev;
+ }
- exit(1);
-}
+ }
/* check if the MS4525DO was instantiated */
if (g_dev == nullptr)
goto fail;
/* try the MS5525DSO next if init fails */
- if (OK != g_dev->init())
+ if (OK != g_dev->Airspeed::init())
delete g_dev;
g_dev = new MEASAirspeed(i2c_bus, I2C_ADDRESS_MS5525DSO);
@@ -349,7 +349,7 @@ start(int i2c_bus)
goto fail;
/* both versions failed if the init for the MS5525DSO fails, give up */
- if (OK != g_dev->init())
+ if (OK != g_dev->Airspeed::init())
goto fail;
/* set the poll rate to default, starts automatic data collection */