Macros | Typedefs | Functions
ioport_pio.h File Reference

SAM architecture specific IOPORT service implementation header file. More...

#include <sysclk.h>
Include dependency graph for ioport_pio.h:

Go to the source code of this file.

Macros

#define IOPORT_BASE_ADDRESS   (uintptr_t)PIOA
 
#define IOPORT_CREATE_PIN(port, pin)   ((IOPORT_ ## port) * 32 + (pin))
 Create IOPORT pin number. More...
 
#define IOPORT_PIO_OFFSET   ((uintptr_t)PIOB - (uintptr_t)PIOA)
 
#define IOPORT_PIOA   0
 
#define IOPORT_PIOB   1
 
#define IOPORT_PIOC   2
 
#define IOPORT_PIOD   3
 
#define IOPORT_PIOE   4
 
#define IOPORT_PIOF   5
 
IOPORT Mode bit definitions
#define IOPORT_MODE_MUX_MASK   (0x7 << 0)
 
#define IOPORT_MODE_MUX_BIT0   ( 1 << 0)
 
#define IOPORT_MODE_MUX_A   ( 0 << 0)
 
#define IOPORT_MODE_MUX_B   ( 1 << 0)
 
#define IOPORT_MODE_PULLUP   ( 1 << 3)
 
#define IOPORT_MODE_OPEN_DRAIN   ( 1 << 5)
 
#define IOPORT_MODE_GLITCH_FILTER   ( 1 << 6)
 
#define IOPORT_MODE_DEBOUNCE   ( 1 << 7)
 

Typedefs

typedef uint32_t ioport_mode_t
 
typedef uint32_t ioport_pin_t
 
typedef uint32_t ioport_port_mask_t
 
typedef uint32_t ioport_port_t
 

Functions

static __always_inline void arch_ioport_disable_pin (ioport_pin_t pin)
 
static __always_inline void arch_ioport_disable_port (ioport_port_t port, ioport_port_mask_t mask)
 
static __always_inline void arch_ioport_enable_pin (ioport_pin_t pin)
 
static __always_inline void arch_ioport_enable_port (ioport_port_t port, ioport_port_mask_t mask)
 
static __always_inline bool arch_ioport_get_pin_level (ioport_pin_t pin)
 
static __always_inline ioport_port_mask_t arch_ioport_get_port_level (ioport_port_t port, ioport_port_mask_t mask)
 
static __always_inline void arch_ioport_init (void)
 
static __always_inline Pioarch_ioport_pin_to_base (ioport_pin_t pin)
 
static __always_inline ioport_port_mask_t arch_ioport_pin_to_mask (ioport_pin_t pin)
 
static __always_inline ioport_port_t arch_ioport_pin_to_port_id (ioport_pin_t pin)
 
static __always_inline Pioarch_ioport_port_to_base (ioport_port_t port)
 
static __always_inline void arch_ioport_set_pin_dir (ioport_pin_t pin, enum ioport_direction dir)
 
static __always_inline void arch_ioport_set_pin_level (ioport_pin_t pin, bool level)
 
static __always_inline void arch_ioport_set_pin_mode (ioport_pin_t pin, ioport_mode_t mode)
 
static __always_inline void arch_ioport_set_pin_sense_mode (ioport_pin_t pin, enum ioport_sense pin_sense)
 
static __always_inline void arch_ioport_set_port_dir (ioport_port_t port, ioport_port_mask_t mask, enum ioport_direction group_direction)
 
static __always_inline void arch_ioport_set_port_level (ioport_port_t port, ioport_port_mask_t mask, enum ioport_value level)
 
static __always_inline void arch_ioport_set_port_mode (ioport_port_t port, ioport_port_mask_t mask, ioport_mode_t mode)
 
static __always_inline void arch_ioport_set_port_sense_mode (ioport_port_t port, ioport_port_mask_t mask, enum ioport_sense pin_sense)
 
static __always_inline void arch_ioport_toggle_pin_level (ioport_pin_t pin)
 
static __always_inline void arch_ioport_toggle_port_level (ioport_port_t port, ioport_port_mask_t mask)
 

Detailed Description

SAM architecture specific IOPORT service implementation header file.

Copyright (c) 2012-2018 Microchip Technology Inc. and its subsidiaries.

Definition in file ioport_pio.h.

Macro Definition Documentation

◆ IOPORT_BASE_ADDRESS

#define IOPORT_BASE_ADDRESS   (uintptr_t)PIOA

Definition at line 42 of file ioport_pio.h.

◆ IOPORT_PIO_OFFSET

#define IOPORT_PIO_OFFSET   ((uintptr_t)PIOB - (uintptr_t)PIOA)

Definition at line 43 of file ioport_pio.h.

◆ IOPORT_PIOA

#define IOPORT_PIOA   0

Definition at line 45 of file ioport_pio.h.

◆ IOPORT_PIOB

#define IOPORT_PIOB   1

Definition at line 46 of file ioport_pio.h.

◆ IOPORT_PIOC

#define IOPORT_PIOC   2

Definition at line 47 of file ioport_pio.h.

◆ IOPORT_PIOD

#define IOPORT_PIOD   3

Definition at line 48 of file ioport_pio.h.

◆ IOPORT_PIOE

#define IOPORT_PIOE   4

Definition at line 49 of file ioport_pio.h.

◆ IOPORT_PIOF

#define IOPORT_PIOF   5

Definition at line 50 of file ioport_pio.h.

Typedef Documentation

◆ ioport_mode_t

typedef uint32_t ioport_mode_t

Definition at line 92 of file ioport_pio.h.

◆ ioport_pin_t

typedef uint32_t ioport_pin_t

Definition at line 93 of file ioport_pio.h.

◆ ioport_port_mask_t

typedef uint32_t ioport_port_mask_t

Definition at line 95 of file ioport_pio.h.

◆ ioport_port_t

typedef uint32_t ioport_port_t

Definition at line 94 of file ioport_pio.h.

Function Documentation

◆ arch_ioport_disable_pin()

static __always_inline void arch_ioport_disable_pin ( ioport_pin_t  pin)
static

Definition at line 171 of file ioport_pio.h.

◆ arch_ioport_disable_port()

static __always_inline void arch_ioport_disable_port ( ioport_port_t  port,
ioport_port_mask_t  mask 
)
static

Definition at line 159 of file ioport_pio.h.

◆ arch_ioport_enable_pin()

static __always_inline void arch_ioport_enable_pin ( ioport_pin_t  pin)
static

Definition at line 165 of file ioport_pio.h.

◆ arch_ioport_enable_port()

static __always_inline void arch_ioport_enable_port ( ioport_port_t  port,
ioport_port_mask_t  mask 
)
static

Definition at line 153 of file ioport_pio.h.

◆ arch_ioport_get_pin_level()

static __always_inline bool arch_ioport_get_pin_level ( ioport_pin_t  pin)
static

Definition at line 302 of file ioport_pio.h.

◆ arch_ioport_get_port_level()

static __always_inline ioport_port_mask_t arch_ioport_get_port_level ( ioport_port_t  port,
ioport_port_mask_t  mask 
)
static

Definition at line 307 of file ioport_pio.h.

◆ arch_ioport_init()

static __always_inline void arch_ioport_init ( void  )
static

Definition at line 131 of file ioport_pio.h.

◆ arch_ioport_pin_to_base()

static __always_inline Pio* arch_ioport_pin_to_base ( ioport_pin_t  pin)
static

Definition at line 121 of file ioport_pio.h.

◆ arch_ioport_pin_to_mask()

static __always_inline ioport_port_mask_t arch_ioport_pin_to_mask ( ioport_pin_t  pin)
static

Definition at line 126 of file ioport_pio.h.

◆ arch_ioport_pin_to_port_id()

static __always_inline ioport_port_t arch_ioport_pin_to_port_id ( ioport_pin_t  pin)
static

Definition at line 97 of file ioport_pio.h.

◆ arch_ioport_port_to_base()

static __always_inline Pio* arch_ioport_port_to_base ( ioport_port_t  port)
static

Definition at line 102 of file ioport_pio.h.

◆ arch_ioport_set_pin_dir()

static __always_inline void arch_ioport_set_pin_dir ( ioport_pin_t  pin,
enum ioport_direction  dir 
)
static

Definition at line 264 of file ioport_pio.h.

◆ arch_ioport_set_pin_level()

static __always_inline void arch_ioport_set_pin_level ( ioport_pin_t  pin,
bool  level 
)
static

Definition at line 278 of file ioport_pio.h.

◆ arch_ioport_set_pin_mode()

static __always_inline void arch_ioport_set_pin_mode ( ioport_pin_t  pin,
ioport_mode_t  mode 
)
static

Definition at line 243 of file ioport_pio.h.

◆ arch_ioport_set_pin_sense_mode()

static __always_inline void arch_ioport_set_pin_sense_mode ( ioport_pin_t  pin,
enum ioport_sense  pin_sense 
)
static

Definition at line 366 of file ioport_pio.h.

◆ arch_ioport_set_port_dir()

static __always_inline void arch_ioport_set_port_dir ( ioport_port_t  port,
ioport_port_mask_t  mask,
enum ioport_direction  group_direction 
)
static

Definition at line 250 of file ioport_pio.h.

◆ arch_ioport_set_port_level()

static __always_inline void arch_ioport_set_port_level ( ioport_port_t  port,
ioport_port_mask_t  mask,
enum ioport_value  level 
)
static

Definition at line 290 of file ioport_pio.h.

◆ arch_ioport_set_port_mode()

static __always_inline void arch_ioport_set_port_mode ( ioport_port_t  port,
ioport_port_mask_t  mask,
ioport_mode_t  mode 
)
static

Definition at line 177 of file ioport_pio.h.

◆ arch_ioport_set_port_sense_mode()

static __always_inline void arch_ioport_set_port_sense_mode ( ioport_port_t  port,
ioport_port_mask_t  mask,
enum ioport_sense  pin_sense 
)
static

Definition at line 331 of file ioport_pio.h.

◆ arch_ioport_toggle_pin_level()

static __always_inline void arch_ioport_toggle_pin_level ( ioport_pin_t  pin)
static

Definition at line 313 of file ioport_pio.h.

◆ arch_ioport_toggle_port_level()

static __always_inline void arch_ioport_toggle_port_level ( ioport_port_t  port,
ioport_port_mask_t  mask 
)
static

Definition at line 325 of file ioport_pio.h.



inertial_sense_ros
Author(s):
autogenerated on Sun Feb 28 2021 03:17:59