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.
|
* 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 pinMap;
|
int pin;
|
||||||
char path[32];
|
int pinMap;
|
||||||
};
|
char path[64];
|
||||||
typedef char gpio_mode_t[8];
|
} gpio_t;
|
||||||
typedef char gpio_dir_t[8];
|
|
||||||
|
|
||||||
void gpio_init(gpio_t *gpio, int pin);
|
typedef char gpio_mode_t[16];
|
||||||
int gpio_set(int pin);
|
typedef char gpio_dir_t[16];
|
||||||
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_init(gpio_t *gpio, int pin);
|
||||||
void gpio_write(gpio_t *gpio, int value);
|
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
|
#pragma once
|
||||||
|
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
|
#include "gpio.h"
|
||||||
|
|
||||||
#define MAA_LIBRARY_VERSION 1
|
#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/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})
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in New Issue
Block a user