device: use bitfields to keep DeviceStructure small

this keeps it small enough to fit in a float, which makes it possible
to see the full value in a MAVLink tlog

Conflicts:
	mavlink/include/mavlink/v1.0
This commit is contained in:
Andrew Tridgell
2014-07-11 09:49:43 +10:00
committed by Lorenz Meier
parent 6cffa948fe
commit 20cd5026d8

View File

@@ -134,11 +134,14 @@ public:
};
/*
broken out
broken out device elements. The bitfields are used to keep
the overall value small enough to fit in a float accurately,
which makes it possible to transport over the MAVLink
parameter protocol without loss of information.
*/
struct DeviceStructure {
enum DeviceBusType bus_type;
uint8_t bus; // which instance of the bus type
enum DeviceBusType bus_type:3;
uint8_t bus:5; // which instance of the bus type
uint8_t address; // address on the bus (eg. I2C address)
uint8_t devtype; // device class specific device type
};