Private
Public Access
2
0

gpio: enable very basic gpio control from swig

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll
2014-04-10 18:00:50 +01:00
parent 72f249fce1
commit e59b8b2038
6 changed files with 45 additions and 18 deletions

View File

@@ -23,15 +23,19 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/ */
namespace maa { #ifdef __cplusplus
extern "C" {
#endif
struct gpio_t { typedef struct gpio_struct
{
int pin; int pin;
int pinMap; int pinMap;
char path[32]; char path[64];
}; } gpio_t;
typedef char gpio_mode_t[8];
typedef char gpio_dir_t[8]; typedef char gpio_mode_t[16];
typedef char gpio_dir_t[16];
void gpio_init(gpio_t *gpio, int pin); void gpio_init(gpio_t *gpio, int pin);
int gpio_set(int pin); int gpio_set(int pin);
@@ -40,4 +44,7 @@ namespace maa {
int gpio_read(gpio_t *gpio); int gpio_read(gpio_t *gpio);
void gpio_write(gpio_t *gpio, int value); void gpio_write(gpio_t *gpio, int value);
#ifdef __cplusplus
} }
#endif

View File

@@ -25,6 +25,7 @@
#pragma once #pragma once
#include "i2c.h" #include "i2c.h"
#include "gpio.h"
#define MAA_LIBRARY_VERSION 1 #define MAA_LIBRARY_VERSION 1

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env python3
import pymaa
x = pymaa.gpio_t()
print(x.pin)
gpio_init(x, 20)
print(x.pin)

View File

@@ -7,7 +7,7 @@ set (maa_LIB_SRCS
${PROJECT_SOURCE_DIR}/src/maa.cxx ${PROJECT_SOURCE_DIR}/src/maa.cxx
${PROJECT_SOURCE_DIR}/src/i2c/i2c.cxx ${PROJECT_SOURCE_DIR}/src/i2c/i2c.cxx
${PROJECT_SOURCE_DIR}/src/i2c/smbus.c ${PROJECT_SOURCE_DIR}/src/i2c/smbus.c
${PROJECT_SOURCE_DIR}/src/gpio/gpio.cxx ${PROJECT_SOURCE_DIR}/src/gpio/gpio.c
) )
add_library (maa STATIC ${maa_LIB_SRCS}) add_library (maa STATIC ${maa_LIB_SRCS})

View File

@@ -24,17 +24,21 @@
*/ */
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h>
#include "gpio.h" #include "gpio.h"
using namespace maa; #ifdef __cplusplus
extern "C" {
#endif
void void
gpio_init(gpio_t *gpio, int pin) { gpio_init(gpio_t *gpio, int pin) {
malloc(sizeof(gpio_t));
gpio->pin = pin; gpio->pin = pin;
} }
int int
gpio_set(gpio_t *gpio) { gpio_set(int pin) {
//Stuff //Stuff
return 0; return 0;
} }
@@ -43,16 +47,22 @@ void
gpio_mode(gpio_t *gpio, gpio_mode_t mode) { gpio_mode(gpio_t *gpio, gpio_mode_t mode) {
//gpio->pin //gpio->pin
} }
void void
gpio_dir(gpio_t *gpio, gpio_dir_t dir) { gpio_dir(gpio_t *gpio, gpio_dir_t dir) {
} }
int int
gpio_read(gpio_t *gpio) { gpio_read(gpio_t *gpio) {
return 0; return 0;
} }
void void
gpio_write(gpio_t *gpio, int value){ gpio_write(gpio_t *gpio, int value){
} }
#ifdef __cplusplus
}
#endif

View File

@@ -4,3 +4,4 @@
%include "maa.h" %include "maa.h"
%include "i2c.h" %include "i2c.h"
%include "gpio.h"