summaryrefslogtreecommitdiff
path: root/peripheral/libupm/docs/porting.md
diff options
context:
space:
mode:
Diffstat (limited to 'peripheral/libupm/docs/porting.md')
-rw-r--r--peripheral/libupm/docs/porting.md65
1 files changed, 0 insertions, 65 deletions
diff --git a/peripheral/libupm/docs/porting.md b/peripheral/libupm/docs/porting.md
deleted file mode 100644
index a75041a..0000000
--- a/peripheral/libupm/docs/porting.md
+++ /dev/null
@@ -1,65 +0,0 @@
-Porting a module from Arduino {#porting}
-=============================
-
-Porting arduino libraries to libmraa as UPM libraries is usually fairly easy.
-The issues typically come from misunderstanding of how a non real time OS deals
-with interrupts and timers. It also highly depends on the sensor. A concrete
-example is explained in detail on @ref max31855
-
-### Adding a new module to UPM
-
-1. Choose a name for your module (see @ref naming)
-2. Make a new folder in src/modulename
-3. Create a CMakeLists.txt file inside src/modulename
-
-### CmakeLists.txt
-
-By default you need a header called modulename.h and a C++ file called
-modulename.cxx. You can have multiple headers and source files. Only public
-headers need to be added to module_h and all source files need to be in
-module_src.
-
-~~~~~~~~~~~
-set (libname "modulename")
-set (libdescription "Module Description")
-set (module_src ${libname}.cxx)
-set (module_h ${libname}.h)
-upm_module_init()
-~~~~~~~~~~~
-
-### Making your API
-
-The easiest way to do this is to have a look at a similar sensor to yours.
-Typically create a class for your sensor with a constructor that defines the
-pins it is on. This constructor will create the mraa_*_context structs that are
-required to talk to the board's IO. An I2c sensor will create a
-mraa_i2c_context, keep it as a private member and require a bus number and slave
-address in it's constructor.
-
-Typically in sensors a simple object->read() function is preferred, depending on
-your sensor/actuator this may or may not be easy or not even make sense. Most
-UPM APIs have a simple set of functions.
-
-### Mapping arduino API to libmraa
-
-Your constructor is similar to the setup() function in arduino, you should
-initialise your IO the way you want it. This means initialising contexts
-(private members) and setting the correct modes for them.
-
-See the mraa API documentation for exact API.
-
-### Building
-
-To build your module just follow @ref building. By creating a folder and the
-CMakelists.txt file you have done all that is required to add your sensor to
-the UPM build system.
-
-### Sending your module to us for inclusion in UPM
-
-The last step is when you're happy with your module and it works send us a pull
-request! We'd love to include your sensor in our repository.
-
-If you don't like github you can also send mihai.tudor.panu@intel.com a git
-formatted patch of your sensor. More details are on @ref contributions and on
-https://help.github.com/articles/creating-a-pull-request
-