raspberry_pi.c: update platform check for the PI 2 Version B
[contrib/mraa.git] / src / mraa.i
index 5b56d66..7f18133 100644 (file)
@@ -1,56 +1,59 @@
-%include carrays.i
+%rename("%(strip:[MRAA_])s", %$isenumitem) "";
+
+%include stdint.i
+%include std_string.i
+%include exception.i
 
 #ifdef DOXYGEN
-    %include common_doc.i
-    %include gpio_class_doc.i
-    %include i2c_class_doc.i
-    %include pwm_class_doc.i
-    %include aio_class_doc.i
-    %include spi_class_doc.i
+  //and doesn't seem to work correctly in SWIG's preprocessor
+  #ifdef SWIGPYTHON
+        %include common_hpp_doc.i
+        %include gpio_class_doc.i
+        %include i2c_class_doc.i
+        %include pwm_class_doc.i
+        %include aio_class_doc.i
+        %include spi_class_doc.i
+        %include uart_class_doc.i
+    #endif
 #endif
 
 %{
-    #include "common.h"
+    #include "common.hpp"
     #include "gpio.hpp"
     #include "pwm.hpp"
     #include "i2c.hpp"
     #include "spi.hpp"
     #include "aio.hpp"
+    #include "uart.hpp"
 %}
 
-%init %{
-    //Adding mraa_init() to the module initialisation process
-    mraa_init();
-%}
-
-%rename(getVersion) mraa_get_version;
-
-%rename(setPriority) mraa_set_priority;
-
-%rename(printError) mraa_result_print(mraa_result_t error);
-
-%rename(getPlatform) mraa_get_platform_type;
+%exception {
+    try {
+        $action
+    } catch(const std::invalid_argument& e) {
+        SWIG_exception(SWIG_ValueError, e.what());
+    } catch(...) {
+        SWIG_exception(SWIG_RuntimeError, "Unknown exception");
+    }
+}
 
-%typemap(in) uint8_t = char;
+%include "common.hpp"
 
 %include "types.h"
 
-#### GPIO ####
+%ignore Gpio::nop(uv_work_t* req);
+%ignore Gpio::v8isr(uv_work_t* req);
+%ignore Gpio::v8isr(uv_work_t* req, int status);
+%ignore Gpio::uvwork(void *ctx);
 
 %include "gpio.hpp"
 
-#### i2c ####
-
 %include "i2c.hpp"
 
-#### PWM ####
-
 %include "pwm.hpp"
 
-#### SPI ####
-
 %include "spi.hpp"
 
-#### AIO ####
-
 %include "aio.hpp"
+
+%include "uart.hpp"