Merge branch 'hook'
authorThomas Ingleby <thomas.c.ingleby@intel.com>
Fri, 11 Jul 2014 10:56:45 +0000 (11:56 +0100)
committerThomas Ingleby <thomas.c.ingleby@intel.com>
Fri, 11 Jul 2014 10:56:45 +0000 (11:56 +0100)
Conflicts:
include/intel_galileo_rev_d.h
include/intel_galileo_rev_g.h
include/mraa_adv_func.h
include/mraa_internal.h
src/gpio/gpio.c
src/mraa.c

1  2 
CMakeLists.txt
include/mraa_internal.h
src/gpio/gpio.c
src/mraa.c

diff --cc CMakeLists.txt
Simple merge
  
  #pragma once
  
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
  #include "common.h"
 -#include "mraa_adv_func.h"
  #include "mraa_internal_types.h"
  
+ extern mraa_adv_func advance_func;
  /** Setup gpio
   *
   * Will check input is valid for gpio and will also setup required multiplexers.
@@@ -78,9 -85,6 +84,13 @@@ mraa_mmap_pin_t* mraa_setup_mmap_gpio(i
   */
  mraa_result_t mraa_swap_complex_gpio(int pin, int out);
  
 +/** Setup uart muxes to exposes the pins physically.
 + *
 + * @param index of the uart in the board definition to expose physically
 + * @return mraa_result_t of operation
 + */
 +mraa_result_t mraa_setup_uart(int index);
++
+ #ifdef __cplusplus
+ }
+ #endif
diff --cc src/gpio/gpio.c
@@@ -67,6 -67,11 +67,12 @@@ mraa_gpio_init(int pin
  mraa_gpio_context
  mraa_gpio_init_raw(int pin)
  {
+     if (advance_func.gpio_init_pre != NULL) {
+         printf("Actually entering\n");
+         if (advance_func.gpio_init_pre(pin) != MRAA_SUCCESS)
+             return NULL;
+     }
++
      if (pin < 0)
          return NULL;
  
@@@ -347,6 -375,13 +376,14 @@@ mraa_gpio_mode(mraa_gpio_context dev, g
  mraa_result_t
  mraa_gpio_dir(mraa_gpio_context dev, gpio_dir_t dir)
  {
+     if (advance_func.gpio_dir_replace != NULL)
+         return advance_func.gpio_dir_replace(dev,dir);
+     if (advance_func.gpio_dir_pre != NULL) {
+         mraa_result_t pre_ret = (advance_func.gpio_dir_pre(dev,dir));
+         if(pre_ret != MRAA_SUCCESS)
+             return pre_ret;
+     }
++
      if (dev == NULL) {
          return MRAA_ERROR_INVALID_HANDLE;
      }
diff --cc src/mraa.c
Simple merge