Difference between revisions of "AsDevices"
Line 22: | Line 22: | ||
=== In C === | === In C === | ||
+ | |||
+ | To use AsDevices library in a C program, include the header of device needed (all C headers are under ${ARMADEUS_PATH}/target/package/as_devices/c/ directory ). For example with apf27_pwm : | ||
+ | |||
+ | <source lang="C"> | ||
+ | #include "as_apf27_pwm.h" | ||
+ | </source> | ||
+ | |||
+ | And compile with following command : | ||
+ | <source lang="bash"> | ||
+ | arm-linux-gcc prog.c ${ARMADEUS_PATH}/buildroot/build_arm5vt/as_devices-1.0/c/libas_devices.so -o prog -I${ARMADEUS_PATH}/buildroot/build_arm5vt/as_devices-1.0/c/ | ||
+ | </source> | ||
+ | |||
+ | An example of code can be found in ${ARMADEUS_PATH}/target/package/as_devices/ directory, take a look of test_c.h and main.c. | ||
+ | |||
=== In C++ === | === In C++ === | ||
+ | |||
+ | To use AsDevices library in a C++ program, include the header of class needed (all C++ headers are under ${ARMADEUS_PATH}/target/package/as_devices/cpp/ directory). For example with apf27 pwm : | ||
+ | |||
+ | <source lang="C++"> | ||
+ | #include "as_apf27_pwm.hpp" | ||
+ | </source> | ||
+ | |||
+ | And compile with following command : | ||
+ | <source lang="bash"> | ||
+ | ${CXX} ${CFLAGS} prog.cpp ${C_LIB} ${CPP_LIB} -I${C_INCLUDE} -I${CPP_INCLUDE} -o prog | ||
+ | </source> | ||
+ | |||
+ | An example of code canbe found in ${ARMADEUS_PATH}/target/package/as_devices/ directory, take a look of test_cpp.h and main.c. | ||
+ | |||
=== In Python === | === In Python === | ||
Line 64: | Line 92: | ||
|- align="center" | |- align="center" | ||
| max5821 || bgcolor=#FF0000| NOK ||bgcolor=#FF0000| NOK ||bgcolor=#FF0000| NOK ||bgcolor=#FF0000| NOK || Drive Digital to Analog chip [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3288/t/al MAX5821] | | max5821 || bgcolor=#FF0000| NOK ||bgcolor=#FF0000| NOK ||bgcolor=#FF0000| NOK ||bgcolor=#FF0000| NOK || Drive Digital to Analog chip [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3288/t/al MAX5821] | ||
− | |||
|} | |} |
Revision as of 11:14, 12 October 2009
Page under construction...
Informations on this page are not guaranteed !!
AsDevices is an ARMadeus specific library that simplify apf-board devices usages for developer. This library is written to be use with C, C++ and Python languages.
Contents
Install AsDevices on target
The library is included in buildroot menu, to use it just select it in «make menuconfig» :
Package Selection for the target ---> *** Armadeus specific packages *** [*] as_devices [*] wrapper C++ [*] wrapper Python
The base library is in C, to use it with C++ or Python, select the wrapper you want.
Use library in an application
In C
To use AsDevices library in a C program, include the header of device needed (all C headers are under ${ARMADEUS_PATH}/target/package/as_devices/c/ directory ). For example with apf27_pwm :
#include "as_apf27_pwm.h"
And compile with following command :
arm-linux-gcc prog.c ${ARMADEUS_PATH}/buildroot/build_arm5vt/as_devices-1.0/c/libas_devices.so -o prog -I${ARMADEUS_PATH}/buildroot/build_arm5vt/as_devices-1.0/c/
An example of code can be found in ${ARMADEUS_PATH}/target/package/as_devices/ directory, take a look of test_c.h and main.c.
In C++
To use AsDevices library in a C++ program, include the header of class needed (all C++ headers are under ${ARMADEUS_PATH}/target/package/as_devices/cpp/ directory). For example with apf27 pwm :
#include "as_apf27_pwm.hpp"
And compile with following command :
${CXX} ${CFLAGS} prog.cpp ${C_LIB} ${CPP_LIB} -I${C_INCLUDE} -I${CPP_INCLUDE} -o prog
An example of code canbe found in ${ARMADEUS_PATH}/target/package/as_devices/ directory, take a look of test_cpp.h and main.c.
In Python
To use AsDevices library in python, select the Python wrapper in menuconfig then, on platform, import the module :
>>> import AsDevices
All python classes available in the module can be found with dir() function :
>>> dir(AsDevices)
['Apf27Pwm', 'Apf27PwmError', 'NUMBER_OF_PWM', '__author__', '__builtins__', '__doc__', '__file__', '__name__', '__path__', '__versionTime__', '__version__', 'wrappers']
Devices supported by library
PWM
Development planning
AsDevices is not finished, following tabular indicate the remaining work:
Name | C functions | C++ wrapper | Python wrapper | Python class |
description |
---|---|---|---|---|---|
apf27_pwm | OK | OK | OK | OK | Drive imx27 pwm |
i2c | NOK | NOK | NOK | NOK | Drive I2C |
apf27_gpio | NOK | NOK | NOK | NOK | Drive imx27 GPIO |
ad5258 | NOK | NOK | NOK | NOK | Drive Digital potentiometer AD5258 |
ds1374 | NOK | NOK | NOK | NOK | Drive RTC chip DS1374 |
max1027 | NOK | NOK | NOK | NOK | Drive Analog to Digital chip MAX1027 |
max5821 | NOK | NOK | NOK | NOK | Drive Digital to Analog chip MAX5821 |