59 float bias_x, bias_y, bias_z;
61 float min_x, min_y, min_z;
62 float max_x, max_y, max_z;
69 unsigned int sample_size;
92 void installISR(
void (*isr)(
char*),
void* arg);
140 bool extract3Axis(
char* data,
float* x,
float* y,
float* z);
183 float median(
float* queue,
unsigned int size);
193 partition(
float* list,
unsigned int left,
unsigned int right,
unsigned int pivot_index);
204 mraa_iio_context m_iio;
205 int m_iio_device_num;
206 bool m_mount_matrix_exist;
207 float m_mount_matrix[9];
int64_t getChannelValue(unsigned char *input, mraa_iio_channel *chan)
Definition: l3gd20.cxx:102
void initCalibrate()
Definition: l3gd20.cxx:253
~L3GD20()
Definition: l3gd20.cxx:85
bool setSamplingFrequency(const float sampling_frequency)
Definition: l3gd20.cxx:181
bool disableBuffer()
Definition: l3gd20.cxx:163
L3GD20(int device)
Definition: l3gd20.cxx:42
bool enableBuffer(int length)
Definition: l3gd20.cxx:154
bool setScale(const float scale)
Definition: l3gd20.cxx:170
void gyroDenoiseMedian(float *x, float *y, float *z)
Definition: l3gd20.cxx:345
bool getCalibratedStatus()
Definition: l3gd20.cxx:263
void getCalibratedData(float *bias_x, float *bias_y, float *bias_z)
Definition: l3gd20.cxx:269
Definition: l3gd20.hpp:58
float median(float *queue, unsigned int size)
Definition: l3gd20.cxx:375
void loadCalibratedData(float bias_x, float bias_y, float bias_z)
Definition: l3gd20.cxx:277
bool gyroCollect(float x, float y, float z)
Definition: l3gd20.cxx:286
bool extract3Axis(char *data, float *x, float *y, float *z)
Definition: l3gd20.cxx:204
bool enable3AxisChannel()
Definition: l3gd20.cxx:188
void clampGyroReadingsToZero(float *x, float *y, float *z)
Definition: l3gd20.cxx:436
unsigned int partition(float *list, unsigned int left, unsigned int right, unsigned int pivot_index)
Definition: l3gd20.cxx:406
L3GD20 Tri-axis Digital Gyroscope API.
Definition: l3gd20.hpp:55
void installISR(void(*isr)(char *), void *arg)
Definition: l3gd20.cxx:96