gpio: enable very basic gpio control from swig
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
35
api/gpio.h
35
api/gpio.h
@@ -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
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "i2c.h"
|
||||
#include "gpio.h"
|
||||
|
||||
#define MAA_LIBRARY_VERSION 1
|
||||
|
||||
|
||||
8
examples/python/hello_gpio.py
Normal file
8
examples/python/hello_gpio.py
Normal 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)
|
||||
@@ -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})
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user