|
upm
1.5.0
Sensor/Actuator repository for libmraa (v1.8.0)
|
MMC35240 Tri-axis Magnetic Sensor API. More...
The MMC3524xPJ is a complete 3-axis magnetic sensor
Data Structures | |
| struct | compass_cal_t |
| struct | filter_average_t |
Public Types | |
| typedef double | mat_input_t[MAGN_DS_SIZE][3] |
Public Member Functions | |
| MMC35240 (int device) | |
| ~MMC35240 () | |
| void | installISR (void(*isr)(char *, void *), void *arg) |
| int64_t | getChannelValue (unsigned char *input, mraa_iio_channel *chan) |
| bool | enableBuffer (int length) |
| bool | disableBuffer () |
| bool | setScale (const float scale) |
| bool | setSamplingFrequency (const float sampling_frequency) |
| bool | enable3AxisChannel () |
| void | extract3Axis (char *data, float *x, float *y, float *z) |
| int | getCalibratedLevel () |
| void | initCalibrate () |
| void | getCalibratedData (int *cal_level, double offset[3][1], double w_invert[3][3], double *bfield) |
| void | loadCalibratedData (int cal_level, double offset[3][1], double w_invert[3][3], double bfield) |
| void installISR | ( | void(*)(char *, void *) | isr, |
| void * | arg | ||
| ) |
Installs an interrupt service routine (ISR) to be called when an interrupt occurs
| isr | Pointer to a function to be called on interrupt |
| arg | Pointer to an object to be supplied as an argument to the ISR. |
| int64_t getChannelValue | ( | unsigned char * | input, |
| mraa_iio_channel * | chan | ||
| ) |
Extract the channel value based on channel type
| input | Channel data |
| chan | MRAA iio-layer channel info |
| bool enableBuffer | ( | int | length | ) |
Enable trigger buffer
| length | buffer length in integer |
| bool disableBuffer | ( | ) |
Disable trigger buffer
| bool setScale | ( | const float | scale | ) |
Set scale
| scale | in float Kernel driver does not support changing the value of scale on run-time Default scale is 0.001000 |
| bool setSamplingFrequency | ( | const float | sampling_frequency | ) |
Set sampling frequency
| sampling_frequency | sampling frequency in float Available sampling frequency are 1.5, 13, 25, 50 Default sampling frequency is 1.500000 |
| bool enable3AxisChannel | ( | ) |
Enable 3 axis scan element
| void extract3Axis | ( | char * | data, |
| float * | x, | ||
| float * | y, | ||
| float * | z | ||
| ) |
Process enabled channel buffer and return x, y, z axis
| data | Enabled channel data, 6 bytes, each axis 2 bytes |
| x | X-Axis |
| y | Y-Axis |
| z | Z-Axis |
| int getCalibratedLevel | ( | ) |
Get calibrated level
| void initCalibrate | ( | ) |
Reset calibration data and start collect calibration data again
| void getCalibratedData | ( | int * | cal_level, |
| double | offset[3][1], | ||
| double | w_invert[3][3], | ||
| double * | bfield | ||
| ) |
Get calibrated data
| void loadCalibratedData | ( | int | cal_level, |
| double | offset[3][1], | ||
| double | w_invert[3][3], | ||
| double | bfield | ||
| ) |
Load calibrated data
1.8.11