diff --git a/Doxyfile.in b/Doxyfile.in index f2f83c8..a4c441e 100644 --- a/Doxyfile.in +++ b/Doxyfile.in @@ -862,14 +862,15 @@ EXCLUDE_SYMBOLS = # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = +EXAMPLE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/examples/ \ + @CMAKE_CURRENT_SOURCE_DIR@/examples/c++/ # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. -EXAMPLE_PATTERNS = * +EXAMPLE_PATTERNS = *.cpp *.c # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands diff --git a/README.md b/README.md index fd9fbf5..10c76c8 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,51 @@ MAA - Low Level Skeleton Library for Communication on Intel platforms ============== -Library in C/C++ to interface with Galileo & other Intel platforms over: - -- I2C -- SPI -- GPIO -- PWM -- AIO - -In a structured and sane API with port nanmes/numbering that match boards & -with bindings to javascript & python. +Library in C/C++ to interface with Galileo & other Intel platforms, in a +structured and sane API with port nanmes/numbering that match boards & with +bindings to javascript & python. The intent is to make it easier for developers and sensor manufacturers to map their sensors & actuators on top of supported hardware and to allow control of low level communication protocol by high level languages & constructs. +## API + +These interfaces allow you to interact with all libmaa functionality. The C++ +classes directly wrap the C API and provide a near 1:1 mapping of +functionality. + +
+C API Modules | C++ API Classes +:-------------------:|:-------------------: + @ref gpio.h "gpio" | @ref maa::Gpio "Gpio class" + @ref i2c.h "i2c" | @ref maa::I2c "I2c class" + @ref aio.h "aio" | @ref maa::Aio "Aio class" + @ref pwm.h "pwm" | @ref maa::Pwm "Pwm class" + @ref spi.h "spi" | @ref maa::Spi "Spi class" + @ref maa.h "maa" | @ref maa.h "maa" +
+ +@snippet gpio_read6.c Interesting + +## Supported platforms + +- Galileo (Fab D) + ### ENV RECOMENDATIONS All of these are 'optional', however they are recommended. Only a C compiler, -cmake and default system libraries are technically required to compile. +cmake, libm and pthreads are technically required to compile. -1. node.js 0.10.26 -2. python 3.3.x or 2.7.x -3. swig 3.0.1 (swig 2.x will work but you will not be able to build node.js -module so comment out add_directories(javacsript) in src/CmakeLists.txt) -4. doxygen (needed to generate even python doc) -5. sphinx -6. pygments -7. pydoc +- Swig 3.0.1+ built with node.js & python support (0.10.x) +- doxygen +- sphinx (requires doxygen) +- pygments ## COMPILING -NOTE: The **only** supported cmake build configuration is to have the build/ dir -inside of the repo/tarball. - -*if swig-v8 is not in your default path you can try run cmake with -"-DCMAKE_PREFIX_PATH="/path/to/swig-v8"* - mkdir build/ -cmake .. +cmake -i .. make ## DEVELOPMENT @@ -48,16 +54,6 @@ Please fork the code on github and then send pull requests. Please avoid merges in your forks. I will also accept patches sent in git style with signoffs to brendan.le.foll@intel.com -## USING - -see examples/ - -*for node.js make sure that maajs.node is in the current dir and set export -NODE_PATH=.* - -Simple python html documentation can be generated with **make pydoc**, this -does not require the full doxygen/sphinx setup. - ## API Changelog When the API breaks in a small way there will be a changelog listed here diff --git a/examples/gpio_read6.c b/examples/gpio_read6.c index 9f6abbf..baca2e3 100644 --- a/examples/gpio_read6.c +++ b/examples/gpio_read6.c @@ -34,6 +34,7 @@ main(int argc, char **argv) fprintf(stdout, "MAA Version: %s\nStarting Read on IO6\n", maa_get_version()); +//! [Interesting] maa_gpio_context gpio; gpio = maa_gpio_init(6); @@ -46,6 +47,7 @@ main(int argc, char **argv) } maa_gpio_close(gpio); +//! [Interesting] return 0; }