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,21 +23,28 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
namespace maa {
#ifdef __cplusplus
extern "C" {
#endif
struct gpio_t {
int pin;
int pinMap;
char path[32];
};
typedef char gpio_mode_t[8];
typedef char gpio_dir_t[8];
typedef struct gpio_struct
{
int pin;
int pinMap;
char path[64];
} gpio_t;
void gpio_init(gpio_t *gpio, int pin);
int gpio_set(int pin);
void gpio_mode(gpio_t *gpio, gpio_mode_t mode);
void gpio_dir(gpio_t *gpio, gpio_dir_t dir);
typedef char gpio_mode_t[16];
typedef char gpio_dir_t[16];
int gpio_read(gpio_t *gpio);
void gpio_write(gpio_t *gpio, int value);
void gpio_init(gpio_t *gpio, int pin);
int gpio_set(int pin);
void gpio_mode(gpio_t *gpio, gpio_mode_t mode);
void gpio_dir(gpio_t *gpio, gpio_dir_t dir);
int gpio_read(gpio_t *gpio);
void gpio_write(gpio_t *gpio, int value);
#ifdef __cplusplus
}
#endif

View File

@@ -25,6 +25,7 @@
#pragma once
#include "i2c.h"
#include "gpio.h"
#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/i2c/i2c.cxx
${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})

View File

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

View File

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