MeterLogger
Macros | Typedefs | Enumerations | Functions
gpio.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define GPIO_PIN_ADDR(i)   (GPIO_PIN0_ADDRESS + i*4)
 
#define GPIO_ID_IS_PIN_REGISTER(reg_id)   ((reg_id >= GPIO_ID_PIN0) && (reg_id <= GPIO_ID_PIN(GPIO_PIN_COUNT-1)))
 
#define GPIO_REGID_TO_PINIDX(reg_id)   ((reg_id) - GPIO_ID_PIN0)
 
#define GPIO_OUTPUT_SET(gpio_no, bit_value)   gpio_output_set((bit_value)<<gpio_no, ((~(bit_value))&0x01)<<gpio_no, 1<<gpio_no,0)
 
#define GPIO_DIS_OUTPUT(gpio_no)   gpio_output_set(0,0,0, 1<<gpio_no)
 
#define GPIO_INPUT_GET(gpio_no)   ((gpio_input_get()>>gpio_no)&BIT0)
 

Typedefs

typedef void(* gpio_intr_handler_fn_t) (uint32 intr_mask, void *arg)
 

Enumerations

enum  GPIO_INT_TYPE {
  GPIO_PIN_INTR_DISABLE = 0, GPIO_PIN_INTR_POSEDGE = 1, GPIO_PIN_INTR_NEGEDGE = 2, GPIO_PIN_INTR_ANYEDGE = 3,
  GPIO_PIN_INTR_LOLEVEL = 4, GPIO_PIN_INTR_HILEVEL = 5
}
 

Functions

void gpio_init (void)
 
void gpio_output_set (uint32 set_mask, uint32 clear_mask, uint32 enable_mask, uint32 disable_mask)
 
uint32 gpio_input_get (void)
 
void gpio_register_set (uint32 reg_id, uint32 value)
 
uint32 gpio_register_get (uint32 reg_id)
 
void gpio_intr_handler_register (gpio_intr_handler_fn_t fn, void *arg)
 
uint32 gpio_intr_pending (void)
 
void gpio_intr_ack (uint32 ack_mask)
 
void gpio_pin_wakeup_enable (uint32 i, GPIO_INT_TYPE intr_state)
 
void gpio_pin_wakeup_disable ()
 
void gpio_pin_intr_state_set (uint32 i, GPIO_INT_TYPE intr_state)
 

Macro Definition Documentation

◆ GPIO_DIS_OUTPUT

#define GPIO_DIS_OUTPUT (   gpio_no)    gpio_output_set(0,0,0, 1<<gpio_no)

Definition at line 46 of file gpio.h.

◆ GPIO_ID_IS_PIN_REGISTER

#define GPIO_ID_IS_PIN_REGISTER (   reg_id)    ((reg_id >= GPIO_ID_PIN0) && (reg_id <= GPIO_ID_PIN(GPIO_PIN_COUNT-1)))

Definition at line 30 of file gpio.h.

◆ GPIO_INPUT_GET

#define GPIO_INPUT_GET (   gpio_no)    ((gpio_input_get()>>gpio_no)&BIT0)

Definition at line 47 of file gpio.h.

◆ GPIO_OUTPUT_SET

#define GPIO_OUTPUT_SET (   gpio_no,
  bit_value 
)    gpio_output_set((bit_value)<<gpio_no, ((~(bit_value))&0x01)<<gpio_no, 1<<gpio_no,0)

Definition at line 44 of file gpio.h.

◆ GPIO_PIN_ADDR

#define GPIO_PIN_ADDR (   i)    (GPIO_PIN0_ADDRESS + i*4)

Definition at line 28 of file gpio.h.

◆ GPIO_REGID_TO_PINIDX

#define GPIO_REGID_TO_PINIDX (   reg_id)    ((reg_id) - GPIO_ID_PIN0)

Definition at line 33 of file gpio.h.

Typedef Documentation

◆ gpio_intr_handler_fn_t

typedef void(* gpio_intr_handler_fn_t) (uint32 intr_mask, void *arg)

Definition at line 50 of file gpio.h.

Enumeration Type Documentation

◆ GPIO_INT_TYPE

Enumerator
GPIO_PIN_INTR_DISABLE 
GPIO_PIN_INTR_POSEDGE 
GPIO_PIN_INTR_NEGEDGE 
GPIO_PIN_INTR_ANYEDGE 
GPIO_PIN_INTR_LOLEVEL 
GPIO_PIN_INTR_HILEVEL 

Definition at line 35 of file gpio.h.

Function Documentation

◆ gpio_init()

void gpio_init ( void  )

◆ gpio_input_get()

uint32 gpio_input_get ( void  )

◆ gpio_intr_ack()

void gpio_intr_ack ( uint32  ack_mask)

◆ gpio_intr_handler_register()

void gpio_intr_handler_register ( gpio_intr_handler_fn_t  fn,
void *  arg 
)

◆ gpio_intr_pending()

uint32 gpio_intr_pending ( void  )

◆ gpio_output_set()

void gpio_output_set ( uint32  set_mask,
uint32  clear_mask,
uint32  enable_mask,
uint32  disable_mask 
)

Referenced by ac_motor_valve_open(), ac_out_off_timer_func(), ac_pwm_timer_func(), ac_test(), ac_test_timer_func(), ac_thermo_close(), ac_thermo_open(), led_init(), led_off(), and led_on().

Here is the caller graph for this function:

◆ gpio_pin_intr_state_set()

void gpio_pin_intr_state_set ( uint32  i,
GPIO_INT_TYPE  intr_state 
)

◆ gpio_pin_wakeup_disable()

void gpio_pin_wakeup_disable ( )

◆ gpio_pin_wakeup_enable()

void gpio_pin_wakeup_enable ( uint32  i,
GPIO_INT_TYPE  intr_state 
)

◆ gpio_register_get()

uint32 gpio_register_get ( uint32  reg_id)

◆ gpio_register_set()

void gpio_register_set ( uint32  reg_id,
uint32  value 
)