mirror of
https://github.com/eclipse/upm.git
synced 2025-03-14 20:47:30 +03:00
kxtj3: Add java/python/javascript examples
* Java/Python/Javascript examples * change usleep to upm_delay_us in C++ example * Add Java example to CMakeLists Signed-off-by: Assam Boudjelthia <assam.boudjelthia@fi.rohmeurope.com> Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit is contained in:
parent
01cc3a0734
commit
186bbfab76
@ -27,6 +27,7 @@
|
||||
#include <unistd.h>
|
||||
#include <signal.h>
|
||||
#include "kxtj3.hpp"
|
||||
#include "upm_utilities.h"
|
||||
|
||||
#define SENSOR_ADDR 0x0f
|
||||
#define I2C_BUS 0
|
||||
@ -50,7 +51,7 @@ void print_acceleration_data(upm::KXTJ3 &dev)
|
||||
xyz = dev.GetAccelerationVector();
|
||||
std::cout << std::fixed << std::setprecision(3)
|
||||
<< xyz[0] << " | " << xyz[1] << " | " << xyz[2] << std::endl;
|
||||
usleep(wait_time);
|
||||
upm_delay_us(wait_time);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -144,6 +144,7 @@ add_example(Jhd1313m1_Example jhd1313m1)
|
||||
add_example(Jhd1313m1_lcd_Example jhd1313m1)
|
||||
add_example(Joystick12_Example joystick12)
|
||||
add_example(KX122_Example kx122)
|
||||
add_example(KXTJ3_Example kxtj3)
|
||||
add_example(Lcm1602_i2c_Example lcm1602)
|
||||
add_example(Lcm1602_parallel_Example lcm1602)
|
||||
add_example(LDT0028_Example ldt0028)
|
||||
|
49
examples/java/KXTJ3_Example.java
Executable file
49
examples/java/KXTJ3_Example.java
Executable file
@ -0,0 +1,49 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Author: Assam Boudjelthia
|
||||
* Copyright (c) 2018 Rohm Semiconductor.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
public class KXTJ3_Example {
|
||||
|
||||
public static void main(String[] args) throws InterruptedException {
|
||||
|
||||
upm_kxtj3.KXTJ3 kxtj3 = new upm_kxtj3.KXTJ3();
|
||||
|
||||
kxtj3.SensorInit(upm_kxtj3.KXTJ3_ODR_T.KXTJ3_ODR_25,
|
||||
upm_kxtj3.KXTJ3_RESOLUTION_T.HIGH_RES,
|
||||
upm_kxtj3.KXTJ3_G_RANGE_T.KXTJ3_RANGE_16G_14);
|
||||
|
||||
float waitTime = kxtj3.GetAccelerationSamplePeriod() * 1000;
|
||||
int sampleCounter = 10;
|
||||
System.out.println("Setting settings:\nODR: 25 Hz\nResolution: " +
|
||||
"High\nAcceleration range: 16g with 14bits");
|
||||
System.out.println("Acceleration");
|
||||
upm_kxtj3.floatVector xyz;
|
||||
while (sampleCounter-- > 0) {
|
||||
xyz = kxtj3.GetAccelerationVector();
|
||||
System.out.println("x = " + xyz.get(0) + " y = " + xyz.get(1) +
|
||||
" z = " + xyz.get(2));
|
||||
|
||||
Thread.sleep((long) waitTime);
|
||||
}
|
||||
}
|
||||
}
|
54
examples/javascript/kxtj3.js
Executable file
54
examples/javascript/kxtj3.js
Executable file
@ -0,0 +1,54 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Author: Assam Boudjelthia
|
||||
* Copyright (c) 2018 Rohm Semiconductor.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
var kxtj3 = require("jsupm_kxtj3");
|
||||
|
||||
var kxtj3_sensor = new kxtj3.KXTJ3(0x0, 0x0f);
|
||||
|
||||
kxtj3_sensor.SensorInit(
|
||||
kxtj3.KXTJ3_ODR_25,
|
||||
kxtj3.HIGH_RES,
|
||||
kxtj3.KXTJ3_RANGE_16G_14);
|
||||
|
||||
var waitTime = kxtj3_sensor.GetAccelerationSamplePeriod();
|
||||
var counter = 10;
|
||||
console.log("Setting settings:\nODR: 25 Hz\nResolution: \
|
||||
High\nAcceleration range: 16g with 14bits");
|
||||
console.log("Accerleration: ");
|
||||
var interval = setInterval(function() {
|
||||
data = kxtj3_sensor.GetAccelerationVector();
|
||||
console.log(
|
||||
"x: " + data.get(0) + " y: " + data.get(1) + " z: " + data.get(2)
|
||||
);
|
||||
counter--;
|
||||
if (counter == 0) {
|
||||
clearInterval(interval);
|
||||
}
|
||||
}, waitTime * 1000);
|
||||
|
||||
process.on("SIGINT", function() {
|
||||
clearInterval(interval);
|
||||
console.log("Exiting...");
|
||||
process.exit(0);
|
||||
});
|
61
examples/python/kxtj3.py
Executable file
61
examples/python/kxtj3.py
Executable file
@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Author: Assam Boudjelthia
|
||||
# Copyright (c) 2018 Rohm Semiconductor.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
# this software and associated documentation files (the "Software"), to deal in
|
||||
# the Software without restriction, including without limitation the rights to
|
||||
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
# the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
|
||||
import time, sys, signal, atexit
|
||||
from upm import pyupm_kxtj3
|
||||
|
||||
|
||||
def main():
|
||||
kxtj3_sensor = pyupm_kxtj3.KXTJ3(0x0, 0x0f)
|
||||
|
||||
kxtj3_sensor.SensorInit(pyupm_kxtj3.KXTJ3_ODR_25,
|
||||
pyupm_kxtj3.HIGH_RES,
|
||||
pyupm_kxtj3.KXTJ3_RANGE_16G_14)
|
||||
|
||||
# Prevent stack printing on CTRL^C
|
||||
def SIGINTHandler(signum, frame):
|
||||
raise SystemExit
|
||||
|
||||
def exitHandler():
|
||||
print("Exiting")
|
||||
sys.exit(0)
|
||||
|
||||
atexit.register(exitHandler)
|
||||
signal.signal(signal.SIGINT, SIGINTHandler)
|
||||
|
||||
sampleCounter = 10
|
||||
waitTime = kxtj3_sensor.GetAccelerationSamplePeriod()
|
||||
print("Setting settings:\nODR: 25 Hz\nResolution: "
|
||||
"High\nAcceleration range: 16g with 14bits")
|
||||
print("Acceleration:")
|
||||
while sampleCounter > 0:
|
||||
[x, y, z] = kxtj3_sensor.GetAccelerationVector()
|
||||
|
||||
print ("x: %0.02f, y: %0.02f, z: %0.02f" % (x, y, z))
|
||||
|
||||
time.sleep(waitTime)
|
||||
sampleCounter -= 1
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
20
src/kxtj3/kxtj3.i
Normal file
20
src/kxtj3/kxtj3.i
Normal file
@ -0,0 +1,20 @@
|
||||
%include "../common_top.i"
|
||||
|
||||
/* BEGIN Java syntax ------------------------------------------------------- */
|
||||
#ifdef SWIGJAVA
|
||||
JAVA_JNI_LOADLIBRARY(javaupm_kxtj3)
|
||||
#endif
|
||||
/* END Java syntax */
|
||||
|
||||
/* BEGIN Common SWIG syntax ------------------------------------------------- */
|
||||
%include "std_vector.i"
|
||||
%template(floatVector) std::vector<float>;
|
||||
|
||||
%apply float *OUTPUT {float *x, float *y, float *z};
|
||||
|
||||
%{
|
||||
#include "kxtj3.hpp"
|
||||
%}
|
||||
%include "kxtj3.h"
|
||||
%include "kxtj3.hpp"
|
||||
/* END Common SWIG syntax */
|
@ -25,6 +25,15 @@
|
||||
],
|
||||
"C": [
|
||||
"kxtj3.c"
|
||||
],
|
||||
"Java": [
|
||||
"KXTJ3_Example.java"
|
||||
],
|
||||
"Python": [
|
||||
"kxtj3.py"
|
||||
],
|
||||
"Node.js": [
|
||||
"kxtj3.js"
|
||||
]
|
||||
},
|
||||
"Specifications": {
|
||||
@ -60,4 +69,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user