iio_core: Patches for IIO core kernel standard

Applying patches from Kuan Loon Lay.

Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
Noel Eck
2016-06-30 14:54:46 -07:00
parent 634208e3dc
commit e1df8b5bf6
9 changed files with 52 additions and 37 deletions

0
src/kxcjk1013/CMakeLists.txt Executable file → Normal file
View File

0
src/kxcjk1013/jsupm_kxcjk1013.i Executable file → Normal file
View File

View File

@ -1,6 +1,6 @@
/*
* Author: Lay, Kuan Loon <kuan.loon.lay@intel.com>
* Copyright (c) 2015 Intel Corporation.
* Copyright (c) 2016 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@ -30,8 +30,6 @@
#define NUMBER_OF_BITS_IN_BYTE 8
#define NUMBER_OF_BITS_IN_BYTE 8
using namespace upm;
KXCJK1013::KXCJK1013(int device)
@ -51,7 +49,7 @@ KXCJK1013::KXCJK1013(int device)
if (mraa_iio_create_trigger(m_iio, trigger) != MRAA_SUCCESS)
fprintf(stderr, "Create trigger %s failed\n", trigger);
if (mraa_iio_get_mounting_matrix(m_iio, m_mount_matrix) == MRAA_SUCCESS)
if (mraa_iio_get_mount_matrix(m_iio, "in_mount_matrix", m_mount_matrix) == MRAA_SUCCESS)
m_mount_matrix_exist = true;
else
m_mount_matrix_exist = false;
@ -62,7 +60,7 @@ KXCJK1013::KXCJK1013(int device)
KXCJK1013::~KXCJK1013()
{
if(m_iio)
if (m_iio)
mraa_iio_close(m_iio);
}
@ -146,6 +144,7 @@ KXCJK1013::disableBuffer()
bool
KXCJK1013::setScale(float scale)
{
m_scale = scale;
mraa_iio_write_float(m_iio, "in_accel_scale", scale);
return true;
@ -187,6 +186,7 @@ KXCJK1013::extract3Axis(char* data, float* x, float* y, float* z)
iio_y = getChannelValue((unsigned char*) (data + channels[1].location), &channels[1]);
iio_z = getChannelValue((unsigned char*) (data + channels[2].location), &channels[2]);
// Raw data is acceleration in direction. Units after application of scale are m/s^2
*x = (iio_x * m_scale);
*y = (iio_y * m_scale);
*z = (iio_z * m_scale);

17
src/kxcjk1013/kxcjk1013.hpp Executable file → Normal file
View File

@ -1,6 +1,6 @@
/*
* Author: Lay, Kuan Loon <kuan.loon.lay@intel.com>
* Copyright (c) 2015 Intel Corporation.
* Copyright (c) 2016 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@ -85,7 +85,7 @@ class KXCJK1013
/**
* Enable trigger buffer
* @param trigger buffer length in string
* @param trigger buffer length in integer
*/
bool enableBuffer(int length);
@ -96,13 +96,18 @@ class KXCJK1013
/**
* Set scale
* @param scale in string
* @param scale in float
* Available scales are 0.009582(2g), 0.019163(4g), and 0.038326(8g)
* Default scale is 0.019163
*/
bool setScale(const float scale);
/**
* Set sampling frequency
* @param sampling frequency in string
* @param sampling 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 setSamplingFrequency(const float sampling_frequency);
@ -124,7 +129,7 @@ class KXCJK1013
mraa_iio_context m_iio;
int m_iio_device_num;
bool m_mount_matrix_exist; // is mount matrix exist
float m_mount_matrix[9]; // mount matrix
float m_scale; // accelerometer data scale
float m_mount_matrix[9]; // mount matrix
float m_scale; // accelerometer data scale
};
}

0
src/kxcjk1013/pyupm_kxcjk1013.i Executable file → Normal file
View File