distance sensors: remove bus_option array and add it to i2c.h header

This commit is contained in:
DanielePettenuzzo 2018-07-03 13:10:15 +02:00 committed by Beat Küng
parent e15d390f65
commit 6cb17839ee
6 changed files with 28 additions and 100 deletions

View File

@ -683,23 +683,6 @@ namespace mb12xx
MB12XX *g_dev;
int bus_options[] = {
#ifdef PX4_I2C_BUS_EXPANSION
PX4_I2C_BUS_EXPANSION,
#endif
#ifdef PX4_I2C_BUS_EXPANSION1
PX4_I2C_BUS_EXPANSION1,
#endif
#ifdef PX4_I2C_BUS_EXPANSION2
PX4_I2C_BUS_EXPANSION2,
#endif
#ifdef PX4_I2C_BUS_ONBOARD
PX4_I2C_BUS_ONBOARD,
#endif
};
#define NUM_BUS_OPTIONS (sizeof(bus_options)/sizeof(bus_options[0]))
int start(uint8_t rotation);
int start_bus(uint8_t rotation, int i2c_bus);
int stop();
@ -724,8 +707,8 @@ start(uint8_t rotation)
return PX4_ERROR;
}
for (unsigned i = 0; i < NUM_BUS_OPTIONS; i++) {
if (start_bus(rotation, bus_options[i]) == PX4_OK) {
for (unsigned i = 0; i < NUM_I2C_BUS_OPTIONS; i++) {
if (start_bus(rotation, i2c_bus_options[i]) == PX4_OK) {
return PX4_OK;
}
}
@ -785,7 +768,6 @@ fail:
g_dev = nullptr;
}
PX4_ERR("not started on bus %d", i2c_bus);
return PX4_ERROR;
}

View File

@ -635,23 +635,6 @@ namespace sf1xx
SF1XX *g_dev;
int bus_options[] = {
#ifdef PX4_I2C_BUS_EXPANSION
PX4_I2C_BUS_EXPANSION,
#endif
#ifdef PX4_I2C_BUS_EXPANSION1
PX4_I2C_BUS_EXPANSION1,
#endif
#ifdef PX4_I2C_BUS_EXPANSION2
PX4_I2C_BUS_EXPANSION2,
#endif
#ifdef PX4_I2C_BUS_ONBOARD
PX4_I2C_BUS_ONBOARD,
#endif
};
#define NUM_BUS_OPTIONS (sizeof(bus_options)/sizeof(bus_options[0]))
int start(uint8_t rotation);
int start_bus(uint8_t rotation, int i2c_bus);
int stop();
@ -676,8 +659,8 @@ start(uint8_t rotation)
return PX4_ERROR;
}
for (unsigned i = 0; i < NUM_BUS_OPTIONS; i++) {
if (start_bus(rotation, bus_options[i]) == PX4_OK) {
for (unsigned i = 0; i < NUM_I2C_BUS_OPTIONS; i++) {
if (start_bus(rotation, i2c_bus_options[i]) == PX4_OK) {
return PX4_OK;
}
}
@ -734,7 +717,6 @@ fail:
g_dev = nullptr;
}
PX4_ERR("not started on bus %d", i2c_bus);
return PX4_ERROR;
}

View File

@ -686,23 +686,6 @@ namespace srf02
SRF02 *g_dev;
int bus_options[] = {
#ifdef PX4_I2C_BUS_EXPANSION
PX4_I2C_BUS_EXPANSION,
#endif
#ifdef PX4_I2C_BUS_EXPANSION1
PX4_I2C_BUS_EXPANSION1,
#endif
#ifdef PX4_I2C_BUS_EXPANSION2
PX4_I2C_BUS_EXPANSION2,
#endif
#ifdef PX4_I2C_BUS_ONBOARD
PX4_I2C_BUS_ONBOARD,
#endif
};
#define NUM_BUS_OPTIONS (sizeof(bus_options)/sizeof(bus_options[0]))
int start(uint8_t rotation);
int start_bus(uint8_t rotation, int i2c_bus);
int stop();
@ -727,8 +710,8 @@ start(uint8_t rotation)
return PX4_ERROR;
}
for (unsigned i = 0; i < NUM_BUS_OPTIONS; i++) {
if (start_bus(rotation, bus_options[i]) == PX4_OK) {
for (unsigned i = 0; i < NUM_I2C_BUS_OPTIONS; i++) {
if (start_bus(rotation, i2c_bus_options[i]) == PX4_OK) {
return PX4_OK;
}
}
@ -788,7 +771,6 @@ fail:
g_dev = nullptr;
}
PX4_ERR("not started on bus %d", i2c_bus);
return PX4_ERROR;
}

View File

@ -746,23 +746,6 @@ namespace teraranger
TERARANGER *g_dev;
int bus_options[] = {
#ifdef PX4_I2C_BUS_EXPANSION
PX4_I2C_BUS_EXPANSION,
#endif
#ifdef PX4_I2C_BUS_EXPANSION1
PX4_I2C_BUS_EXPANSION1,
#endif
#ifdef PX4_I2C_BUS_EXPANSION2
PX4_I2C_BUS_EXPANSION2,
#endif
#ifdef PX4_I2C_BUS_ONBOARD
PX4_I2C_BUS_ONBOARD,
#endif
};
#define NUM_BUS_OPTIONS (sizeof(bus_options)/sizeof(bus_options[0]))
int start(uint8_t rotation);
int start_bus(uint8_t rotation, int i2c_bus);
int stop();
@ -787,8 +770,8 @@ start(uint8_t rotation)
return PX4_ERROR;
}
for (unsigned i = 0; i < NUM_BUS_OPTIONS; i++) {
if (start_bus(rotation, bus_options[i]) == PX4_OK) {
for (unsigned i = 0; i < NUM_I2C_BUS_OPTIONS; i++) {
if (start_bus(rotation, i2c_bus_options[i]) == PX4_OK) {
return PX4_OK;
}
}
@ -849,7 +832,6 @@ fail:
g_dev = nullptr;
}
PX4_ERR("not started on bus %d", i2c_bus);
return PX4_ERROR;
}

View File

@ -967,23 +967,6 @@ namespace vl53lxx
VL53LXX *g_dev;
int bus_options[] = {
#ifdef PX4_I2C_BUS_EXPANSION
PX4_I2C_BUS_EXPANSION,
#endif
#ifdef PX4_I2C_BUS_EXPANSION1
PX4_I2C_BUS_EXPANSION1,
#endif
#ifdef PX4_I2C_BUS_EXPANSION2
PX4_I2C_BUS_EXPANSION2,
#endif
#ifdef PX4_I2C_BUS_ONBOARD
PX4_I2C_BUS_ONBOARD,
#endif
};
#define NUM_BUS_OPTIONS (sizeof(bus_options)/sizeof(bus_options[0]))
int start(uint8_t rotation);
int start_bus(uint8_t rotation, int i2c_bus);
int stop();
@ -1007,8 +990,8 @@ start(uint8_t rotation)
return PX4_ERROR;
}
for (unsigned i = 0; i < NUM_BUS_OPTIONS; i++) {
if (start_bus(rotation, bus_options[i]) == PX4_OK) {
for (unsigned i = 0; i < NUM_I2C_BUS_OPTIONS; i++) {
if (start_bus(rotation, i2c_bus_options[i]) == PX4_OK) {
return PX4_OK;
}
}
@ -1068,7 +1051,6 @@ fail:
g_dev = nullptr;
}
PX4_ERR("not started on bus %d", i2c_bus);
return PX4_ERROR;
}

View File

@ -37,3 +37,21 @@
#else
#include "posix/I2C.hpp"
#endif
static const int i2c_bus_options[] = {
#ifdef PX4_I2C_BUS_EXPANSION
PX4_I2C_BUS_EXPANSION,
#endif
#ifdef PX4_I2C_BUS_EXPANSION1
PX4_I2C_BUS_EXPANSION1,
#endif
#ifdef PX4_I2C_BUS_EXPANSION2
PX4_I2C_BUS_EXPANSION2,
#endif
#ifdef PX4_I2C_BUS_ONBOARD
PX4_I2C_BUS_ONBOARD,
#endif
};
#define NUM_I2C_BUS_OPTIONS (sizeof(i2c_bus_options)/sizeof(i2c_bus_options[0]))