85 enum {VMU_MAX_STRING_SIZE=255};
97 char text[VMU_MAX_STRING_SIZE];
106 enum vmu_sensors_enum {VMU_SENSORS_ACCEL=0x01, VMU_SENSORS_GYRO=0x02, VMU_SENSORS_MAG=0x04};
113 VMU_RESOLUTION_ACCEL_8G=0x04, VMU_RESOLUTION_ACCEL_16G=0x08,
114 VMU_RESOLUTION_GYRO_250DPS=0x10, VMU_RESOLUTION_GYRO_500DPS=0x20,
115 VMU_RESOLUTION_GYRO_1000DPS=0x40, VMU_RESOLUTION_GYRO_2000DPS=0x80};
121 enum vmu_stream_enum { VMU_STREAM_ACCEL=0x01, VMU_STREAM_GYRO = 0x02, VMU_STREAM_QUAT=0x04,
122 VMU_STREAM_MAG=0x08, VMU_STREAM_EULER=0x10, VMU_STREAM_HEAD=0x40 };
float w
between -1.0f and 1.0f
Definition: vmu931.h:77
int vmu_euler(struct vmu *v, struct vmu_txyz *data, int size)
Read only euler data.
Definition: vmu931.c:270
float x
between -1.0f and 1.0f
Definition: vmu931.h:78
float z
Euler [-180.0f, 180.0f], Mag [-4800.0f, 4800.0f], Accel and Gyro as resolution.
Definition: vmu931.h:66
error occured with errno set
Definition: vmu931.h:182
int vmu_fd(struct vmu *v)
Get file descriptor used for serial communication with the device.
Definition: vmu931.c:910
float z
between -1.0f and 1.0f
Definition: vmu931.h:80
vmu_retval_enum
Constants returned by most of library functions.
Definition: vmu931.h:181
float y
between -1.0f and 1.0f
Definition: vmu931.h:79
vmu_sensors_enum
Constants used for determining enabled sensors.
Definition: vmu931.h:106
int vmu_selftest(struct vmu *v, struct vmu_text *data)
Command device to perform selftest.
Definition: vmu931.c:744
int vmu_status(struct vmu *v, struct vmu_status *data)
Retrieve device status.
Definition: vmu931.c:819
vmu_resolution_enum
Constants used for determining and setting sensor resolution.
Definition: vmu931.h:112
float y
Euler [-90.0f, 90.0f], Mag [-4800.0f, 4800.0f], Accel and Gyro as resolution.
Definition: vmu931.h:65
Data streamed for Accelerometers, Gyroscopes, Magnetometers and Euler angles.
Definition: vmu931.h:61
uint32_t timestamp_ms
Miliseconds elapsed since device was plugged in.
Definition: vmu931.h:52
int vmu_gyro(struct vmu *v, struct vmu_txyz *data, int size)
Read only gyroscope data data.
Definition: vmu931.c:236
Internal library data passed around by the user.
Definition: vmu931.c:64
uint32_t stream
bitwise AND with vmu_stream_enum, e.g. stream & VMU_STREAM_EULER
Definition: vmu931.h:135
Array sizes for vmu_data arrays.
Definition: vmu931.h:144
int vmu_quat(struct vmu *v, struct vmu_twxyz *data, int size)
Read only quaternion data.
Definition: vmu931.c:287
Device status - enabled sensors, resolution, rate and streamed data.
Definition: vmu931.h:130
vmu_stream_enum
Constants used for setting and determining streamed data.
Definition: vmu931.h:121
Data streamed for Heading.
Definition: vmu931.h:50
uint32_t timestamp_ms
Miliseconds elapsed since device was plugged in.
Definition: vmu931.h:63
int vmu_close(struct vmu *v)
free library resources
Definition: vmu931.c:195
int vmu_read_all(struct vmu *v, struct vmu_data *data)
Read multiple types of data simultanously.
Definition: vmu931.c:321
uint8_t resolution
bitwise AND with vmu_resolution_enum, e.g. resolution & VMU_RESOLUTION_ACCEL_8G
Definition: vmu931.h:133
float x
Euler [-180.0f, 180.0f], Mag [-4800.0f, 4800.0f], Accel and Gyro as resolution.
Definition: vmu931.h:64
int vmu_resolution(struct vmu *v, uint32_t resolution)
Set accelerometer and/or gyroscope resolutions.
Definition: vmu931.c:644
int vmu_mag(struct vmu *v, struct vmu_txyz *data, int size)
Read only magnetometer data.
Definition: vmu931.c:253
Textual data returned by device and library.
Definition: vmu931.h:95
int vmu_head(struct vmu *v, struct vmu_tx *data, int size)
Read only heading data.
Definition: vmu931.c:304
uint32_t timestamp_ms
miliseconds elapsed since device was plugged in
Definition: vmu931.h:76
Data streamed for Quaternions.
Definition: vmu931.h:74
succesfull execution and more data pending without blocking
Definition: vmu931.h:184
uint8_t sensors
bitwise AND with vmu_sensors_enum, e.g. sensors & VMU_SENSORS_ACCEL
Definition: vmu931.h:132
struct vmu * vmu_init(const char *tty)
initialize internal library data.
Definition: vmu931.c:138
int vmu_stream(struct vmu *v, uint32_t stream)
Make the device stream particular data types.
Definition: vmu931.c:592
char text[VMU_MAX_STRING_SIZE]
'\0' terminated character data
Definition: vmu931.h:97
int vmu_calibrate(struct vmu *v, struct vmu_text *data)
Command device to perform calibration.
Definition: vmu931.c:762
float x
Between 0.0f and 360.0f degrees.
Definition: vmu931.h:53
succesfull execution
Definition: vmu931.h:183
int vmu_accel(struct vmu *v, struct vmu_txyz *data, int size)
Read only accelerometer data.
Definition: vmu931.c:219
uint8_t low_rate
0 for 1000 Hz, 1 for 200 Hz
Definition: vmu931.h:134
Structure with multiple types of data returned from the device.
Definition: vmu931.h:164