MiraOS GPIO driver.  
More...
#include <stdint.h>
#include "hcl_typedefs.h"
 
Go to the source code of this file.
 | 
| void  | mira_gpio_init (MiraGpioPorts port, uint8_t pin, MiraGpioPinMode mode, MiraGpioPullMode pull_mode) | 
|   | Initialize a GPIO pin.  More...
  | 
|   | 
| uint8_t  | mira_gpio_read (MiraGpioPorts port, uint8_t pin) | 
|   | Read an input pin.  More...
  | 
|   | 
| void  | mira_gpio_set (MiraGpioPorts port, uint8_t pin) | 
|   | Set an output pin (logic high output).  More...
  | 
|   | 
| void  | mira_gpio_clear (MiraGpioPorts port, uint8_t pin) | 
|   | Clear an output pin (logic low output).  More...
  | 
|   | 
| void  | mira_gpio_setup_interrupt (MiraGpioPorts port, uint8_t pin, MiraGpioInterruptType irq_type, MiraGpioCallbackType callback) | 
|   | Configure an GPIO interrupt.  More...
  | 
|   | 
| void  | mira_gpio_enable_interrupt (MiraGpioPorts port, uint8_t pin) | 
|   | Enables an GPIO interrupt.  More...
  | 
|   | 
| void  | mira_gpio_disable_interrupt (MiraGpioPorts port, uint8_t pin) | 
|   | Disables an GPIO interrupt.  More...
  | 
|   | 
MiraOS GPIO driver. 
- Author
 - LumenRadio AB 
 
- Date
 - 5 March 2016 The MiraOS library provides functions for controlling the Mira radio module, sending/receiving messages, controlling peripherals, etc. 
 
- See also
 - http://docs.lumenrad.io/mira 
 
 
      
        
          | typedef void(*  MiraGpioCallbackType) (uint8_t port, uint8_t pin) | 
        
      
 
Type definition for callbacks invoked by the GPIO ISRs. 
This is the prototype of a function pointer passed to mira_gpio_setup_interrupt(). These callbacks are registered on a port/pin basis. When a GPIO port generates an interrupt, if a callback has been registered for the port/pin combination, the ISR will invoke it. The ISR will pass the port/pin as arguments in that call, so that a developer can re-use the same callback for multiple port/pin combinations
- Parameters
 - 
  
    | port | The port that triggered the GPIO interrupt.  | 
    | pin | The pin that triggered the interrupt | 
  
   
- Returns
 - void 
 
 
 
GPIO edge trigger. 
| Enumerator | 
|---|
| MiraGpioIrqRisingEdge  | 
 Interrupt triggers on rising edge  
 | 
| MiraGpioIrqFallingEdge  | 
 Interrupt triggers on falling edge  
 | 
| MiraGpioIrqBothEdges  | 
 Interrupt triggers on both rising and falling edges  
 | 
 
 
GPIO pin mode. 
| Enumerator | 
|---|
| MiraInputPin  | 
 | 
| MiraOutputPin  | 
 | 
 
 
GPIO ports. 
| Enumerator | 
|---|
| MiraGpioPortA  | 
 | 
| MiraGpioPortB  | 
 | 
| MiraGpioPortC  | 
 | 
| MiraGpioPortD  | 
 | 
 
 
GPIO pin pullup/pulldown mode. 
| Enumerator | 
|---|
| MiraPullUp  | 
 | 
| MiraPullDown  | 
 | 
| MiraNoPull  | 
 | 
 
 
Clear an output pin (logic low output). 
- Parameters
 - 
  
    | port | The port where the pin is located (Port A, B, C)  | 
    | pin | Pin number within the port | 
  
   
- Returns
 - void 
 
 
 
      
        
          | void mira_gpio_disable_interrupt  | 
          ( | 
          MiraGpioPorts  | 
          port,  | 
        
        
           | 
           | 
          uint8_t  | 
          pin  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Disables an GPIO interrupt. 
- Parameters
 - 
  
    | port | The port where the pin is located (Port A, B, C)  | 
    | pin | Pin number within the port | 
  
   
- Returns
 - void 
 
 
 
      
        
          | void mira_gpio_enable_interrupt  | 
          ( | 
          MiraGpioPorts  | 
          port,  | 
        
        
           | 
           | 
          uint8_t  | 
          pin  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Enables an GPIO interrupt. 
- Parameters
 - 
  
    | port | The port where the pin is located (Port A, B, C)  | 
    | pin | Pin number within the port | 
  
   
- Returns
 - void 
 
 
 
Initialize a GPIO pin. 
- Parameters
 - 
  
    | port | The port where the pin is located (Port A, B, C)  | 
    | pin | Pin number within the port  | 
    | mode | Input or output  | 
    | pull_mode | Pull-up/pull-down mode | 
  
   
- Returns
 - void 
 
 
 
Read an input pin. 
- Parameters
 - 
  
    | port | The port where the pin is located (Port A, B, C)  | 
    | pin | Pin number within the port | 
  
   
- Returns
 - logic level at input pin 
 
 
 
Set an output pin (logic high output). 
- Parameters
 - 
  
    | port | The port where the pin is located (Port A, B, C)  | 
    | pin | Pin number within the port | 
  
   
- Returns
 - void 
 
 
 
Configure an GPIO interrupt. 
- Parameters
 - 
  
    | port | The port where the pin is located (Port A, B, C)  | 
    | pin | Pin number within the port  | 
    | irq_type | The interrupt type (falling, rising or both edges)  | 
    | callback | The callback function that will be invoked by the ISR | 
  
   
- Returns
 - void