upm  1.7.1
Sensor/Actuator repository for libmraa (v2.0.0)
Public Member Functions

KXCJK1013 Tri-axis Digital Accelerometer API. More...

Detailed Description

The KXCJK is a tri-axis +/-2g, +/-4g or +/-8g silicon micromachined accelerometer.

// Instantiate a KXCJK1013 Accelerometer Sensor on iio device 0
upm::KXCJK1013 accelerometer(0);
// Available scales are 0.009582(2g), 0.019163(4g), and 0.038326(8g)
accelerometer.setScale(0.019163);
// Available sampling frequency are 0.781000, 1.563000, 3.125000, 6.250000,
// 12.500000, 25, 50,
// 100, 200, 400, 800, and 1600
accelerometer.setSamplingFrequency(25.0);
accelerometer.enable3AxisChannel();
accelerometer.installISR(data_callback, &accelerometer);
accelerometer.enableBuffer(16);
while (shouldRun) {
upm_delay(1);
}
accelerometer.disableBuffer();

Public Member Functions

 KXCJK1013 (int device)
 
 ~KXCJK1013 ()
 
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)
 

Constructor & Destructor Documentation

KXCJK1013 ( int  device)

KXCJK1013 Tri-axis Digital Accelerometer

Parameters
deviceiio device number
~KXCJK1013 ( )

KXCJK1013 destructor

Member Function Documentation

void installISR ( void(*)(char *, void *)  isr,
void *  arg 
)

Installs an interrupt service routine (ISR) to be called when an interrupt occurs

Parameters
isrPointer to a function to be called on interrupt
argPointer 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

Parameters
inputChannel data
chanMRAA iio-layer channel info

Here is the caller graph for this function:

bool enableBuffer ( int  length)

Enable trigger buffer

Parameters
lengthbuffer length in integer
bool disableBuffer ( )

Disable trigger buffer

bool setScale ( const float  scale)

Set scale

Parameters
scalein float Available scales are 0.009582(2g), 0.019163(4g), and 0.038326(8g) Default scale is 0.019163
bool setSamplingFrequency ( const float  sampling_frequency)

Set sampling frequency

Parameters
sampling_frequencysampling frequency in float Available sampling frequency are 0.781000, 1.563000, 3.125000, 6.250000, 12.500000, 25, 50, 100, 200, 400, 800, and 1600 Default sampling frequency is 25
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

Parameters
dataEnabled channel data, 6 bytes, each axis 2 bytes
xX-Axis
yY-Axis
zZ-Axis

Here is the call graph for this function:


The documentation for this class was generated from the following files: