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