Added confuse script and moved cmake files
[libftdi] / bindings / ftdi1.i
index d6fc05c..1e820dd 100644 (file)
@@ -3,15 +3,21 @@
 %module(docstring="Python interface to libftdi1") ftdi1
 %feature("autodoc","1");
 
+#ifdef DOXYGEN
+%include "ftdi1_doc.i"
+#endif
+
 %{
 #include "Python.h"
 
-inline PyObject* convertString( const char *v, Py_ssize_t len )
+PyObject* convertString( const char *v, Py_ssize_t len )
+{
 #if PY_MAJOR_VERSION >= 3
-{ return PyBytes_FromStringAndSize(v, len); }
+  return PyBytes_FromStringAndSize(v, len);
 #else
-{ return PyString_FromStringAndSize(v, len); }
+  return PyString_FromStringAndSize(v, len);
 #endif
+}
 %}
 
 %include <typemaps.i>
@@ -73,11 +79,13 @@ inline PyObject* convertString( const char *v, Py_ssize_t len )
 "read_pins(context) -> (return_code, pins)"
 %enddef
 %feature("autodoc", ftdi_read_pins_docstring) ftdi_read_pins;
-%apply char *OUTPUT { unsigned char *pins };
+%typemap(in,numinputs=0) unsigned char *pins ($*ltype temp) %{ $1 = &temp; %}
+%typemap(argout) (unsigned char *pins) %{ $result = SWIG_Python_AppendOutput($result, convertString((char*)$1, 1)); %}
     int ftdi_read_pins(struct ftdi_context *ftdi, unsigned char *pins);
 %clear unsigned char *pins;
 
-%apply char *OUTPUT { unsigned char *latency };
+%typemap(in,numinputs=0) unsigned char *latency ($*ltype temp) %{ $1 = &temp; %}
+%typemap(argout) (unsigned char *latency) %{ $result = SWIG_Python_AppendOutput($result, convertString((char*)$1, 1)); %}
     int ftdi_get_latency_timer(struct ftdi_context *ftdi, unsigned char *latency);
 %clear unsigned char *latency;
 
@@ -108,7 +116,7 @@ inline PyObject* convertString( const char *v, Py_ssize_t len )
 %feature("autodoc", ftdi_read_eeprom_docstring) ftdi_read_eeprom;
 
 %define ftdi_read_chipid_docstring
-"read_pins(context) -> (return_code, chipid)"
+"ftdi_read_chipid(context) -> (return_code, chipid)"
 %enddef
 %feature("autodoc", ftdi_read_chipid_docstring) ftdi_read_chipid;
 %apply int *OUTPUT { unsigned int *chipid };
@@ -124,3 +132,7 @@ inline PyObject* convertString( const char *v, Py_ssize_t len )
 %{
 #include <ftdi_i.h>
 %}
+
+%pythoncode %{
+__version__ = get_library_version().version_str
+%}