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);
136 bool extract3Axis(
char* data,
float* x,
float* y,
float* z);
179 float median(
float* queue,
unsigned int size);
189 partition(
float* list,
unsigned int left,
unsigned int right,
unsigned int pivot_index);
200 mraa_iio_context m_iio;
201 int m_iio_device_num;
202 bool m_mount_matrix_exist;
203 float m_mount_matrix[9];
int64_t getChannelValue(unsigned char *input, mraa_iio_channel *chan)
Definition: l3gd20.cxx:110
void initCalibrate()
Definition: l3gd20.cxx:257
~L3GD20()
Definition: l3gd20.cxx:85
bool setSamplingFrequency(const float sampling_frequency)
Definition: l3gd20.cxx:187
bool disableBuffer()
Definition: l3gd20.cxx:171
L3GD20(int device)
Definition: l3gd20.cxx:42
bool enableBuffer(int length)
Definition: l3gd20.cxx:162
bool setScale(const float scale)
Definition: l3gd20.cxx:178
void gyroDenoiseMedian(float *x, float *y, float *z)
Definition: l3gd20.cxx:349
bool getCalibratedStatus()
Definition: l3gd20.cxx:267
void getCalibratedData(float *bias_x, float *bias_y, float *bias_z)
Definition: l3gd20.cxx:273
Definition: l3gd20.hpp:58
float median(float *queue, unsigned int size)
Definition: l3gd20.cxx:379
void loadCalibratedData(float bias_x, float bias_y, float bias_z)
Definition: l3gd20.cxx:281
bool gyroCollect(float x, float y, float z)
Definition: l3gd20.cxx:290
bool extract3Axis(char *data, float *x, float *y, float *z)
Definition: l3gd20.cxx:210
bool enable3AxisChannel()
Definition: l3gd20.cxx:194
void clampGyroReadingsToZero(float *x, float *y, float *z)
Definition: l3gd20.cxx:440
unsigned int partition(float *list, unsigned int left, unsigned int right, unsigned int pivot_index)
Definition: l3gd20.cxx:410
L3GD20 Tri-axis Digital Gyroscope API.
Definition: l3gd20.hpp:55
void installISR(void(*isr)(char *), void *arg)
Definition: l3gd20.cxx:104