mirror of
https://github.com/eclipse/upm.git
synced 2025-03-15 04:57: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>
This commit is contained in:
parent
d31d028345
commit
9b6b62a344
@ -27,6 +27,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include "kxtj3.hpp"
|
#include "kxtj3.hpp"
|
||||||
|
#include "upm_utilities.h"
|
||||||
|
|
||||||
#define SENSOR_ADDR 0x0f
|
#define SENSOR_ADDR 0x0f
|
||||||
#define I2C_BUS 0
|
#define I2C_BUS 0
|
||||||
@ -50,7 +51,7 @@ void print_acceleration_data(upm::KXTJ3 &dev)
|
|||||||
xyz = dev.GetAccelerationVector();
|
xyz = dev.GetAccelerationVector();
|
||||||
std::cout << std::fixed << std::setprecision(3)
|
std::cout << std::fixed << std::setprecision(3)
|
||||||
<< xyz[0] << " | " << xyz[1] << " | " << xyz[2] << std::endl;
|
<< 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(Jhd1313m1_lcd_Example jhd1313m1)
|
||||||
add_example(Joystick12_Example joystick12)
|
add_example(Joystick12_Example joystick12)
|
||||||
add_example(KX122_Example kx122)
|
add_example(KX122_Example kx122)
|
||||||
|
add_example(KXTJ3_Example kxtj3)
|
||||||
add_example(Lcm1602_i2c_Example lcm1602)
|
add_example(Lcm1602_i2c_Example lcm1602)
|
||||||
add_example(Lcm1602_parallel_Example lcm1602)
|
add_example(Lcm1602_parallel_Example lcm1602)
|
||||||
add_example(LDT0028_Example ldt0028)
|
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": [
|
"C": [
|
||||||
"kxtj3.c"
|
"kxtj3.c"
|
||||||
|
],
|
||||||
|
"Java": [
|
||||||
|
"KXTJ3_Example.java"
|
||||||
|
],
|
||||||
|
"Python": [
|
||||||
|
"kxtj3.py"
|
||||||
|
],
|
||||||
|
"Node.js": [
|
||||||
|
"kxtj3.js"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"Specifications": {
|
"Specifications": {
|
||||||
@ -60,4 +69,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user