From b5b84c6186b7f7b2a03458835c82fd41bc351dbb Mon Sep 17 00:00:00 2001 From: Houman Brinjcargorabi Date: Tue, 21 Jun 2016 14:20:00 +0100 Subject: [PATCH] examples: Added examples for initio by description Signed-off-by: Houman Brinjcargorabi Signed-off-by: Brendan Le Foll --- examples/c++/initio.cpp | 68 ++++++++++++++++++++++++++++++++++ examples/initio.c | 69 +++++++++++++++++++++++++++++++++++ examples/javascript/initio.js | 48 ++++++++++++++++++++++++ examples/python/initio.py | 48 ++++++++++++++++++++++++ 4 files changed, 233 insertions(+) create mode 100644 examples/c++/initio.cpp create mode 100644 examples/initio.c create mode 100644 examples/javascript/initio.js create mode 100644 examples/python/initio.py diff --git a/examples/c++/initio.cpp b/examples/c++/initio.cpp new file mode 100644 index 0000000..17526f1 --- /dev/null +++ b/examples/c++/initio.cpp @@ -0,0 +1,68 @@ +/* + * Author: Houman Brinjcargorabi + * Copyright (c) 2016 Intel Corporation. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include +#include +#include + +#include "mraa.hpp" + +int main() +{ + // GPIO-PIN + mraa::Gpio* gpio = mraa::initIo("gpio-1"); + // GPIO-RAW-RAWPIN + mmraa::Gpio* gpioraw = mraa::initIoinitIo("gpio-raw-131"); + // AIO-PIN + mraa::Aio aio = mraa::initIo("aio-0"); + // PWM-PIN + mraa::Pwm pwm = mraa::initIo("pwm-6"); + // PWM-RAW-CHIPID-PIN + mraa::Pwm pwmraw = mraa::initIo("pwm-raw-0,1"); + // UART-INDEX: the index is the one represented internally in the uart_dev array + mraa::Uart uart = mraa::initIo("uart-1"); + // UART-RAW-PATH + mraa::Uart uartraw = mraa::initIo("uart-raw-/dev/ttyS0"); + // SPI-INDEX: same as UART + mraa::Spi spi = mraa::initIo("spi-0"); + // SPI-RAW-BUS-CS: USED to open and use /dev/spidev. + mraa::Spi spiraw = mraa::initIo("spi-raw-0-1"); + // I2C-INDEX: same as UART + mraa::I2c i2c = mraa::initIo("i2c-0"); + // I2C-RAW-BUS + mraa::I2c i2craw = mraa::initIo("i2c-raw-0"); + + // FREE STUFF + delete gpio; + delete gpioraw; + delete aio; + delete pwm; + delete pwmraw; + delete uart; + delete uartraw; + delete spi; + delete spiraw; + delete i2c; + delete i2craw; +} diff --git a/examples/initio.c b/examples/initio.c new file mode 100644 index 0000000..da0ca13 --- /dev/null +++ b/examples/initio.c @@ -0,0 +1,69 @@ +/* + * Author: Houman Brinjcargorabi + * Copyright (c) 2016 Intel Corporation. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#include +#include +#include + +#include "mraa.h" + +int main() +{ + // GPIO-PIN + mraa_gpio_context gpio = (mraa_gpio_context) init_io("gpio-1"); + // GPIO-RAW-RAWPIN + mraa_gpio_context gpioraw = (mraa_gpio_context) init_io("gpio-raw-131"); + // AIO-PIN + mraa_aio_context aio = (mraa_aio_context) init_io("aio-0"); + // PWM-PIN + mraa_pwm_context pwm = (mraa_pwm_context) init_io("pwm-6"); + // PWM-RAW-CHIPID-PIN + mraa_pwm_context pwmraw= (mraa_pwm_context) init_io("pwm-raw-0,1"); + // UART-INDEX: the index is the one represented internally in the uart_dev array + mraa_uart_context uart = (mraa_uart_context) init_io("uart-1"); + // UART-RAW-PATH + mraa_uart_context uartraw = (mraa_uart_context) init_io("uart-raw-/dev/ttyS0"); + // SPI-INDEX: same as UART + mraa_spi_context spi = (mraa_spi_context) init_io("spi-0"); + // SPI-RAW-BUS-CS: USED to open and use /dev/spidev. + mraa_spi_context spiraw = (mraa_spi_context) init_io("spi-raw-0-1"); + // I2C-INDEX: same as UART + mraa_i2c_context i2c = (mraa_i2c_context) init_io("i2c-0"); + // I2C-RAW-BUS + mraa_i2c_context i2craw = (mraa_i2c_context) init_io("i2c-raw-0"); + + + // FREE STUFF + mraa_gpio_close(gpio); + mraa_gpio_close(gpioraw); + mraa_aio_close(aio); + mraa_pwm_close(pwm); + mraa_pwm_close(pwmraw); + mraa_uart_close(uart); + mraa_uart_close(uartraw); + mraa_spi_close(spi); + mraa_spi_close(spiraw); + mraa_i2c_close(i2c); + mraa_i2c_close(i2craw); +} diff --git a/examples/javascript/initio.js b/examples/javascript/initio.js new file mode 100644 index 0000000..c5fc58b --- /dev/null +++ b/examples/javascript/initio.js @@ -0,0 +1,48 @@ +/* + * Author: Houman Brinjcargorabi + * Copyright (c) 2016 Intel Corporation. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +var m = require('mraa'); + +// GPIO-PIN +m.gpioFromDesc("gpio-1"); +// GPIO-RAW-RAWPIN +m.gpioFromDesc("gpio-raw-131"); +// AIO-PIN +m.aioFromDesc("aio-1"); +//PWM-PIN +m.pwmFromDesc("pwm-6"); +// PWM-RAW-CHIPID-PIN +m.pwmFromDesc("pwm-raw-0-1") +// UART-INDEX: the index is the one represented internally in the uart_dev array +m.uartFromDesc("uart-0"); +// UART-RAW-PATH +m.uartFromDesc("uart-raw-/dev/ttyS0"); +// SPI-INDEX: same as UART +m.spiFromDesc("spi-0"); +// SPI-RAW-BUS-CS: USED to open and use /dev/spidev. +m.spiFromDesc("spi-raw-0-1"); +// I2C-INDEX: same as UART +m.i2cFromDesc("i2c-0"); +// I2C-RAW-BUS +m.i2cFromDesc("i2c-raw-0"); diff --git a/examples/python/initio.py b/examples/python/initio.py new file mode 100644 index 0000000..b5c3548 --- /dev/null +++ b/examples/python/initio.py @@ -0,0 +1,48 @@ +#!/bin/usr/env python + +# Author: Houman Brinjcargorabi +# Copyright (c) 2016 Intel Corporation. +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE + +import mraa as m + +# GPIO-PIN +m.gpioFromDesc("gpio-1"); +# GPIO-RAW-RAWPIN +m.gpioFromDesc("gpio-raw-131"); +# AIO-PIN +m.aioFromDesc("aio-1"); +# PWM-PIN +m.pwmFromDesc("pwm-6"); +# PWM-RAW-CHIPID-PIN +m.pwmFromDesc("pwm-raw-0-1") +# UART-INDEX: the index is the one represented internally in the uart_dev array +m.uartFromDesc("uart-0"); +# UART-RAW-PATH +m.uartFromDesc("uart-raw-/dev/ttyS0"); +# SPI-INDEX: same as UART +m.spiFromDesc("spi-0"); +# SPI-RAW-BUS-CS: USED to open and use /dev/spidev. +m.spiFromDesc("spi-raw-0-1"); +# I2C-INDEX: same as UART +m.i2cFromDesc("i2c-0"); +# I2C-RAW-BUS +m.i2cFromDesc("i2c-raw-0");