Skip to content
/ openel Public

OpenEL implemented in C. OpenEL(Open Embedded Library) is a unified API(Application Programming Interface) for actuators and sensors. The specifications and implementation have been developed by JASA(Japan Embedded Systems Technology Association) since 2011.

License

Notifications You must be signed in to change notification settings

openel/openel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openel-cpp

OpenEL implemented in C++

OpenEL

OpenEL(Open Embedded Library) is a unified API(Application Programming Interface) for actuators and sensors. The specifications and implementation have been developed by JASA(Japan Embedded Systems Technology Association) since 2011.

Specification

https://openel.github.io/

About this document

This document explains about Package contents and How to use OpenEL version 3.2.x.

Package contents

openel -+- include
        +- lib
        +- sample
        +- LICENSE
        +- README.md (This file)
include             --- Header files for OpenEL
lib                 --- Library files for OpenEL
sample              --- A sample program which use OpenEL API
LICENSE             --- License file
README.md           --- This file

How to use OpenEL API

Header file

When you compile a program which use OpenEL API, set PATH to openel/include/surface and openel/include/device/your_component directory to use the header file(openEL.h etc.) for OpenEL.

For examples, when you use gcc

  -Iopenel/include/surface  
  -Iopenel/include/device/your_component

Include the header file named "openEL.h" to use OpenEL API

For examples,

   #include   

Library files

When you compile a program which use OpenEL API, set LIBRARY PATH to openel/lib/surface and openel/lib/device/your_component to link the library file for OpenEL.

For examples, when you use gcc

-Lopenel/lib   
-Lopenel//lib/device/your_component  

Link the library file named "libopenel.a" to use OpenEL API.

For examples,

 gcc -o sample sample.c -lopenel

See sample/simLinux/Makefile for details.

Sample program for Linux

$ cd sample/simLinux
$ make
$ ./sample
openEL Start
HalInit Motor1 HAL-ID 1 0 1 1
HalInit Motor2 HAL-ID 1 0 2 2
HalInit Sensor1 HAL-ID 2 0 16 1
PROPERTY - Name : MOTOR_100a
PROPERTY - fnc00 : HalInit
PROPERTY - fnc01 : HalReInit
PROPERTY - fnc02 : HalFinalize
PROPERTY - fnc03 : HalAddObserver
PROPERTY - fnc04 : HalRemoveObserver
PROPERTY - fnc05 : HalGetProperty
PROPERTY - fnc06 : HalGetTime
PROPERTY - fnc07 : HalActuatorSetValue
PROPERTY - fnc08 : HalActuatorGetValue
PROPERTY - Name : MOTOR_200
PROPERTY - fnc00 : HalInit
PROPERTY - fnc01 : HalReInit
PROPERTY - fnc02 : HalFinalize
PROPERTY - fnc03 : HalAddObserver
PROPERTY - fnc04 : HalRemoveObserver
PROPERTY - fnc05 : HalGetProperty
PROPERTY - fnc06 : HalGetTime
PROPERTY - fnc07 : HalActuatorSetValue
PROPERTY - fnc08 : HalActuatorGetValue
PROPERTY - Name : SENSOR_100
PROPERTY - fnc00 : HalInit
PROPERTY - fnc01 : HalReInit
PROPERTY - fnc02 : HalFinalize
PROPERTY - fnc03 : HalAddObserver
PROPERTY - fnc04 : HalRemoveObserver
PROPERTY - fnc05 : HalGetProperty
PROPERTY - fnc06 : HalGetTime
PROPERTY - fnc07 : HalSensorGetTimedValue
PROPERTY - fnc08 : HalSensorGetTimedValueList
motor01  getTime ret=1
motor02  getTime ret=1
sensor01 getTime ret=0
Sensor time = 0
timer      1 ,    10 ,      1 :   0.000   0.628   3.079   3.079     0(tmSen)
timer      2 ,    20 ,      1 :   0.020   1.253   3.079   3.079     0(tmSen)
timer      3 ,    30 ,      2 :   0.079   1.874   2.955   2.955     0(tmSen)
timer      4 ,    40 ,      2 :   0.177   2.487   2.955   2.955     0(tmSen)
timer      5 ,    50 ,      3 :   0.314   3.090   2.833   2.833     0(tmSen)
timer      6 ,    60 ,      3 :   0.489   3.681   2.833   2.833     0(tmSen)
timer      7 ,    70 ,      4 :   0.702   4.258   2.712   2.712     1(tmSen)
timer      8 ,    80 ,      4 :   0.952   4.818   2.712   2.712     1(tmSen)
timer      9 ,    90 ,      5 :   1.237   5.358   2.593   2.593     1(tmSen)
timer     10 ,   100 ,      5 :   1.557   5.878   2.593   2.593     1(tmSen)
timer     11 ,   110 ,      6 :   1.910   6.374   2.474   2.474     1(tmSen)
timer     12 ,   120 ,      6 :   2.295   6.845   2.474   2.474     1(tmSen)
timer     13 ,   130 ,      7 :   2.710   7.290   2.356   2.356     1(tmSen)
timer     14 ,   140 ,      7 :   3.155   7.705   2.356   2.356     1(tmSen)
timer     15 ,   150 ,      8 :   3.626   8.090   2.238   2.238     1(tmSen)
timer     16 ,   160 ,      8 :   4.122   8.443   2.238   2.238     1(tmSen)
timer     17 ,   170 ,      9 :   4.642   8.763   2.120   2.120     2(tmSen)
timer     18 ,   180 ,      9 :   5.182   9.048   2.120   2.120     2(tmSen)
timer     19 ,   190 ,     10 :   5.742   9.298   2.000   2.000     2(tmSen)
timer     20 ,   200 ,     10 :   6.319   9.511   2.000   2.000     2(tmSen)

(omit)

timer     96 ,   960 ,     48 :   0.489  -2.487  -2.821  -2.821     9(tmSen)
timer     97 ,   970 ,     49 :   0.314  -1.874  -2.950  -2.950    10(tmSen)
timer     98 ,   980 ,     49 :   0.177  -1.253  -2.950  -2.950    10(tmSen)
timer     99 ,   990 ,     50 :   0.079  -0.628  -3.078  -3.078    10(tmSen)
timer    100 ,  1000 ,     50 :   0.020  -0.000  -3.078  -3.078    10(tmSen)
notify_event201a : 1
notify_event201b : 1
timer    101 ,  1010 ,     51 :   0.000  -0.000  -3.142  -3.142    10(tmSen)
timer    102 ,  1020 ,     51 :   0.000  -0.000  -3.142  -3.142    10(tmSen)
timer    103 ,  1030 ,     52 :   0.000  -0.000  -3.142  -3.142    10(tmSen)
timer    104 ,  1040 ,     52 :   0.000  -0.000  -3.142  -3.142    10(tmSen)
timer    105 ,  1050 ,     53 :   0.000  -0.000  -3.142  -3.142    10(tmSen)
timer    106 ,  1060 ,     53 :   0.000  -0.000  -3.142  -3.142    10(tmSen)
timer    107 ,  1070 ,     54 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    108 ,  1080 ,     54 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    109 ,  1090 ,     55 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    110 ,  1100 ,     55 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    111 ,  1110 ,     56 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    112 ,  1120 ,     56 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    113 ,  1130 ,     57 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    114 ,  1140 ,     57 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    115 ,  1150 ,     58 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    116 ,  1160 ,     58 :   0.000  -0.000  -3.142  -3.142    11(tmSen)
timer    117 ,  1170 ,     59 :   0.000  -0.000  -3.142  -3.142    12(tmSen)
timer    118 ,  1180 ,     59 :   0.000  -0.000  -3.142  -3.142    12(tmSen)
timer    119 ,  1190 ,     60 :   0.000  -0.000  -3.142  -3.142    12(tmSen)
notify_error201a : 202
notify_error201b : 202
timer    120 ,  1200 ,     60 :   0.000  -0.000  -3.142  -3.142    12(tmSen)
timer    121 ,  1210 ,     61 :   0.000  -0.000  -3.142  -3.142    12(tmSen)
timer    122 ,  1220 ,     61 :   0.000  -0.000  -3.142  -3.142    12(tmSen)
timer    123 ,  1230 ,     62 :   0.000  -0.000  -3.142  -3.142    12(tmSen)
timer    124 ,  1240 ,     62 :   0.000  -0.000  -3.142  -3.142    12(tmSen)

(omit)

timer    296 ,  2960 ,    148 :   0.000  -0.000  -3.142  -3.142    29(tmSen)
timer    297 ,  2970 ,    149 :   0.000  -0.000  -3.142  -3.142    30(tmSen)
timer    298 ,  2980 ,    149 :   0.000  -0.000  -3.142  -3.142    30(tmSen)
timer    299 ,  2990 ,    150 :   0.000  -0.000  -3.142  -3.142    30(tmSen)
timer    300 ,  3000 ,    150 :   0.000   0.000  -3.142  -3.142    30(tmSen)
Sensor time = 30
openEL End

About

OpenEL implemented in C. OpenEL(Open Embedded Library) is a unified API(Application Programming Interface) for actuators and sensors. The specifications and implementation have been developed by JASA(Japan Embedded Systems Technology Association) since 2011.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published