summaryrefslogtreecommitdiff
path: root/peripheral/libmraa/src/python/mraa.i
diff options
context:
space:
mode:
Diffstat (limited to 'peripheral/libmraa/src/python/mraa.i')
-rw-r--r--peripheral/libmraa/src/python/mraa.i154
1 files changed, 0 insertions, 154 deletions
diff --git a/peripheral/libmraa/src/python/mraa.i b/peripheral/libmraa/src/python/mraa.i
deleted file mode 100644
index 64d086e..0000000
--- a/peripheral/libmraa/src/python/mraa.i
+++ /dev/null
@@ -1,154 +0,0 @@
-%module(docstring="Python interface to libmraa") mraa
-
-%feature("autodoc", "3");
-
-%include typemaps.i
-%include carrays.i
-
-%array_class(uint8_t, uint8Array);
-
-// uart write()
-%typemap(in) (const char* data, int length) {
- if (PyByteArray_Check($input)) {
- // whilst this may seem 'hopeful' it turns out this is safe
- $1 = (char*) PyByteArray_AsString($input);
- $2 = PyByteArray_Size($input);
- } else {
- PyErr_SetString(PyExc_ValueError, "bytearray expected");
- return NULL;
- }
-}
-
-// i2c write()
-%typemap(in) (const uint8_t *data, int length) {
- if (PyByteArray_Check($input)) {
- // whilst this may seem 'hopeful' it turns out this is safe
- $1 = (uint8_t*) PyByteArray_AsString($input);
- $2 = PyByteArray_Size($input);
- } else {
- PyErr_SetString(PyExc_ValueError, "bytearray expected");
- return NULL;
- }
-}
-
-// Spi write()
-%typemap(in) (uint8_t *txBuf, int length) {
- if (PyByteArray_Check($input)) {
- // whilst this may seem 'hopeful' it turns out this is safe
- $1 = (uint8_t*) PyByteArray_AsString($input);
- $2 = PyByteArray_Size($input);
- } else {
- PyErr_SetString(PyExc_ValueError, "bytearray expected");
- return NULL;
- }
-}
-
-namespace mraa {
-class I2c;
-%typemap(out) uint8_t*
-{
- // need to loop over length
- $result = PyByteArray_FromStringAndSize((char*) $1, arg2);
- free($1);
-}
-
-class Spi;
-%typemap(out) uint8_t*
-{
- // need to loop over length
- $result = PyByteArray_FromStringAndSize((char*) $1, arg3);
- free($1);
-}
-}
-
-%newobject I2c::read(uint8_t *data, int length);
-%newobject Spi::write(uint8_t *data, int length);
-%newobject Uart::read(char* data, int length);
-%newobject Spi::transfer(uint8_t *txBuf, uint8_t *rxBuf, int length);
-
-// Uart::read()
-
-%typemap(in) (char* data, int length) {
- if (!PyInt_Check($input)) {
- PyErr_SetString(PyExc_ValueError, "Expecting an integer");
- return NULL;
- }
- $2 = PyInt_AsLong($input);
- if ($2 < 0) {
- PyErr_SetString(PyExc_ValueError, "Positive integer expected");
- return NULL;
- }
- $1 = (char*) malloc($2 * sizeof(char));
-}
-
-%typemap(argout) (char* data, int length) {
- Py_XDECREF($result); /* Blow away any previous result */
- if (result < 0) { /* Check for I/O error */
- free($1);
- PyErr_SetFromErrno(PyExc_IOError);
- return NULL;
- }
- // Append output value $1 to $result
- $result = PyByteArray_FromStringAndSize((char*) $1, result);
- free($1);
-}
-
-// I2c::read()
-
-%typemap(in) (uint8_t *data, int length) {
- if (!PyInt_Check($input)) {
- PyErr_SetString(PyExc_ValueError, "Expecting an integer");
- return NULL;
- }
- $2 = PyInt_AsLong($input);
- if ($2 < 0) {
- PyErr_SetString(PyExc_ValueError, "Positive integer expected");
- return NULL;
- }
- $1 = (uint8_t*) malloc($2 * sizeof(uint8_t));
-}
-
-%typemap(argout) (uint8_t *data, int length) {
- Py_XDECREF($result); /* Blow away any previous result */
- if (result < 0) { /* Check for I/O error */
- free($1);
- PyErr_SetFromErrno(PyExc_IOError);
- return NULL;
- }
- // Append output value $1 to $result
- $result = PyByteArray_FromStringAndSize((char*) $1, result);
- free($1);
-}
-
-// Spi::transfer()
-
-%typemap(in) (uint8_t* txBuf, uint8_t* rxBuf, int length) {
- if (!PyInt_Check($input)) {
- PyErr_SetString(PyExc_ValueError, "Expecting an integer");
- return NULL;
- }
- $3 = PyInt_AsLong($input);
- if ($3 < 0) {
- PyErr_SetString(PyExc_ValueError, "Positive integer expected");
- return NULL;
- }
- $2 = (uint8_t*) malloc($3 * sizeof(uint8_t));
-}
-
-%typemap(argout) (uint8_t* txBuf, uint8_t* rxBuf, int length) {
- Py_XDECREF($result); /* Blow away any previous result */
- if (result != MRAA_SUCCESS) { /* Check for I/O error */
- free($2);
- PyErr_SetFromErrno(PyExc_IOError);
- return NULL;
- }
- $result = PyByteArray_FromStringAndSize((char*) $2, $3);
- free($2);
-}
-
-%include ../mraa.i
-
-%init %{
- //Adding mraa_init() to the module initialisation process
- mraa_init();
-%}