beaglebone.h: added Beaglebone Black Platform
[contrib/mraa.git] / include / mraa_adv_func.h
index 6a71125..8874e0e 100644 (file)
 #include "types.h"
 
 typedef struct {
-    mraa_boolean_t gpio_init_pre:1;
-    mraa_boolean_t gpio_init_post:1;
-    mraa_boolean_t gpio_mode_replace:1;
-    mraa_boolean_t gpio_mode_pre:1;
-    mraa_boolean_t gpio_mode_post:1;
-    mraa_boolean_t gpio_dir_replace:1;
-    mraa_boolean_t gpio_dir_pre:1;
-    mraa_boolean_t gpio_dir_post:1;
-    mraa_boolean_t gpio_write_pre:1;
-    mraa_boolean_t gpio_write_post:1;
-    mraa_boolean_t gpio_mmaped_write_replace:1;
-    mraa_boolean_t gpio_mmaped_write_pre:1;
-    mraa_boolean_t gpio_mmaped_write_post:1;
-} mraa_adv_def_t;
+    mraa_result_t (*gpio_init_pre) (int pin);
+    mraa_result_t (*gpio_init_post) (mraa_gpio_context dev);
 
-typedef struct {
-    mraa_adv_def_t defined;
-    int (*gpio_init_pre) (int pin);
-    void (*gpio_init_post) (mraa_gpio_context dev);
+    mraa_result_t (*gpio_close_pre) (mraa_gpio_context dev);
 
     mraa_result_t (*gpio_mode_replace) (mraa_gpio_context dev, gpio_mode_t mode);
     mraa_result_t (*gpio_mode_pre) (mraa_gpio_context dev, gpio_mode_t mode);
@@ -59,8 +44,24 @@ typedef struct {
 
     mraa_result_t (*gpio_write_pre) (mraa_gpio_context dev, int value);
     mraa_result_t (*gpio_write_post) (mraa_gpio_context dev, int value);
+    mraa_result_t (*gpio_mmap_setup) (mraa_gpio_context dev, mraa_boolean_t en);
+
+    mraa_result_t (*i2c_init_pre) (unsigned int bus);
+    mraa_result_t (*i2c_init_post) (mraa_i2c_context dev);
+    mraa_result_t (*i2c_set_frequency_replace) (mraa_i2c_context dev, mraa_i2c_mode_t mode);
+
+    mraa_result_t (*aio_get_valid_fp) (mraa_aio_context dev);
+    mraa_result_t (*aio_init_pre) (unsigned int aio);
+    mraa_result_t (*aio_init_post) (mraa_aio_context dev);
+
+    mraa_pwm_context (*pwm_init_replace) (int pin);
+    mraa_result_t (*pwm_init_pre) (int pin);
+    mraa_result_t (*pwm_init_post) (mraa_pwm_context pwm);
+    mraa_result_t (*pwm_period_replace) (mraa_pwm_context dev, int period);
+
+    mraa_result_t (*spi_init_pre) (int bus);
+    mraa_result_t (*spi_init_post) (mraa_spi_context spi);
 
-    mraa_result_t (*gpio_mmaped_write_replace) (mraa_gpio_context dev, int value);
-    mraa_result_t (*gpio_mmaped_write_pre) (mraa_gpio_context dev, int value);
-    mraa_result_t (*gpio_mmaped_write_post) (mraa_gpio_context dev, int value);
-} mraa_adv_func;
+    mraa_result_t (*uart_init_pre) (int index);
+    mraa_result_t (*uart_init_post) (mraa_uart_context uart);
+} mraa_adv_func_t;