their sensors & actuators on top of supported hardware and to allow control of
low level communication protocol by high level languages & constructs.
-=== ENV RECOMENDATIONS ===
---------------
+### ENV RECOMENDATIONS
-node.js 0.10.26
-python 3.3.x or 2.7.x
-swig-v8 3.0.1 (if you want node.js to work you need to use swig-v8)
-I'm using f31c1dce7a45c4b8ed7e6ff845f4c74539e056f1 from
-http://github.com:oliver----/swig-v8
+All of these are 'optional', however they are recommended. Only a C compiler,
+cmake and default system libraries are technically required to compile.
-=== COMPILING ===
---------------
+1. node.js 0.10.26
+2. python 3.3.x or 2.7.x
+3. swig-v8 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
-NOTE: The only supported cmake build configuration is to have the build/ dir
+To install swig-v8 the swig-v8-git package from AUR is helpful.
+
+## 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"
+*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 ..
make
-Install is currently unsuported. Javascript and python modules will be in
-build/src/{javascript, python}
-
-=== DEVELOPMENT ===
---------------
+## DEVELOPMENT
-Unit tests for all features must be completed prior to implementations, please
-run `ctest -V` from the build dir in order to see current implementation status
+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 ===
---------------
+## USING
see examples/
-for node.js make sure that maajs.node is in the current dir and set export
-NODE_PATH=.
+*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
+
+**0.2.5**
+ * C++/Python/Node Enums/const names now do not contain MAA_GPIO
+ * Enum type declaration for C++ changed
+ * Python/Node get_version() -> GetVersion()
+ * i2c read calls don't use const char* and i2c write calls do
+
+**0.2.4**
+ * All maa_ contexts now are pointers to the actual struct which is not
+ delcared in the header. The only end user change is that instead of
+ returning a type maa_gpio_context pointer maa_gpio_init() now returns a
+ maa_gpio_context (which is actually a pointer to struct _gpio internally).
+ * C++ API is available, use the .hpp headers and add stdc++ to the linker
+ flags.
+ * Initial SPI implementation is provided
+
+**0.2.3**
+ * maa_aio_read_u16() -> maa_aio_read()
+ * maa_aio_read() now returns a uint16_t instead of an unsigned int
-python2/3 should both work, although testing is done on python3 exclusively.
-Node.js bindings may be dodgy, I'm so far unclear of how good swig-v8 is.
+**0.2.2**
+ * First version with API considered 'stable'