Mercurial > hg > beaglert
view include/GPIOcontrol.h @ 556:ce391098f321 prerelease tip
THIS PROJECT HAS MOVED TO https://github.com/BelaPlatform/bela
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Sat, 25 Jun 2016 20:21:00 +0100 |
parents | 8a575ba3ab52 |
children |
line wrap: on
line source
/* * SimpleGPIO.h * * Copyright Derek Molloy, School of Electronic Engineering, Dublin City University * www.derekmolloy.ie * * Based on Software by RidgeRun * Copyright (c) 2011, RidgeRun * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the RidgeRun. * 4. Neither the name of the RidgeRun nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY RIDGERUN ''AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL RIDGERUN BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef SIMPLEGPIO_H_ #define SIMPLEGPIO_H_ /**************************************************************** * Constants ****************************************************************/ #define SYSFS_GPIO_DIR "/sys/class/gpio" #define SYSFS_LED_DIR "/sys/class/leds" #define POLL_TIMEOUT (3 * 1000) /* 3 seconds */ #define MAX_BUF 128 enum PIN_DIRECTION{ INPUT_PIN=0, OUTPUT_PIN=1 }; enum PIN_VALUE{ LOW=0, HIGH=1 }; /**************************************************************** * gpio_functions ****************************************************************/ int gpio_setup(unsigned int gpio, int out_flag); int gpio_export(unsigned int gpio); int gpio_unexport(unsigned int gpio); int gpio_set_dir(unsigned int gpio, int out_flag); int gpio_set_value(unsigned int gpio, int value); int gpio_get_value(unsigned int gpio, unsigned int *value); int gpio_set_edge(unsigned int gpio, char *edge); int gpio_fd_open(unsigned int gpio, int writeFlag); int gpio_fd_close(int fd); int gpio_write(int fd, int value); int gpio_read(int fd, unsigned int *value); int gpio_dismiss(int fd, unsigned int gpio); int led_set_trigger(unsigned int lednum, const char *trigger); #endif /* SIMPLEGPIO_H_ */