| 
    upm
    1.3.0
    
   Sensor/Actuator repository for libmraa (v1.7.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 *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 *) | 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.6