SAME54P20A Test Project
Data Structures | Macros
pdec.h File Reference

Component description for PDEC. More...

Go to the source code of this file.

Data Structures

union  PDEC_CTRLA_Type
 
union  PDEC_CTRLBCLR_Type
 
union  PDEC_CTRLBSET_Type
 
union  PDEC_EVCTRL_Type
 
union  PDEC_INTENCLR_Type
 
union  PDEC_INTENSET_Type
 
union  PDEC_INTFLAG_Type
 
union  PDEC_STATUS_Type
 
union  PDEC_DBGCTRL_Type
 
union  PDEC_SYNCBUSY_Type
 
union  PDEC_PRESC_Type
 
union  PDEC_FILTER_Type
 
union  PDEC_PRESCBUF_Type
 
union  PDEC_FILTERBUF_Type
 
union  PDEC_COUNT_Type
 
union  PDEC_CC_Type
 
union  PDEC_CCBUF_Type
 
struct  Pdec
 PDEC hardware registers. More...
 

Macros

#define PDEC_U2263
 
#define REV_PDEC   0x100
 
#define PDEC_CTRLA_OFFSET   0x00
 (PDEC_CTRLA offset) Control A
 
#define PDEC_CTRLA_RESETVALUE   _U_(0x00000000)
 (PDEC_CTRLA reset_value) Control A
 
#define PDEC_CTRLA_SWRST_Pos   0
 (PDEC_CTRLA) Software Reset
 
#define PDEC_CTRLA_SWRST   (_U_(0x1) << PDEC_CTRLA_SWRST_Pos)
 
#define PDEC_CTRLA_ENABLE_Pos   1
 (PDEC_CTRLA) Enable
 
#define PDEC_CTRLA_ENABLE   (_U_(0x1) << PDEC_CTRLA_ENABLE_Pos)
 
#define PDEC_CTRLA_MODE_Pos   2
 (PDEC_CTRLA) Operation Mode
 
#define PDEC_CTRLA_MODE_Msk   (_U_(0x3) << PDEC_CTRLA_MODE_Pos)
 
#define PDEC_CTRLA_MODE(value)   (PDEC_CTRLA_MODE_Msk & ((value) << PDEC_CTRLA_MODE_Pos))
 
#define PDEC_CTRLA_MODE_QDEC_Val   _U_(0x0)
 (PDEC_CTRLA) QDEC operating mode
 
#define PDEC_CTRLA_MODE_HALL_Val   _U_(0x1)
 (PDEC_CTRLA) HALL operating mode
 
#define PDEC_CTRLA_MODE_COUNTER_Val   _U_(0x2)
 (PDEC_CTRLA) COUNTER operating mode
 
#define PDEC_CTRLA_MODE_QDEC   (PDEC_CTRLA_MODE_QDEC_Val << PDEC_CTRLA_MODE_Pos)
 
#define PDEC_CTRLA_MODE_HALL   (PDEC_CTRLA_MODE_HALL_Val << PDEC_CTRLA_MODE_Pos)
 
#define PDEC_CTRLA_MODE_COUNTER   (PDEC_CTRLA_MODE_COUNTER_Val << PDEC_CTRLA_MODE_Pos)
 
#define PDEC_CTRLA_RUNSTDBY_Pos   6
 (PDEC_CTRLA) Run in Standby
 
#define PDEC_CTRLA_RUNSTDBY   (_U_(0x1) << PDEC_CTRLA_RUNSTDBY_Pos)
 
#define PDEC_CTRLA_CONF_Pos   8
 (PDEC_CTRLA) PDEC Configuration
 
#define PDEC_CTRLA_CONF_Msk   (_U_(0x7) << PDEC_CTRLA_CONF_Pos)
 
#define PDEC_CTRLA_CONF(value)   (PDEC_CTRLA_CONF_Msk & ((value) << PDEC_CTRLA_CONF_Pos))
 
#define PDEC_CTRLA_CONF_X4_Val   _U_(0x0)
 (PDEC_CTRLA) Quadrature decoder direction
 
#define PDEC_CTRLA_CONF_X4S_Val   _U_(0x1)
 (PDEC_CTRLA) Secure Quadrature decoder direction
 
#define PDEC_CTRLA_CONF_X2_Val   _U_(0x2)
 (PDEC_CTRLA) Decoder direction
 
#define PDEC_CTRLA_CONF_X2S_Val   _U_(0x3)
 (PDEC_CTRLA) Secure decoder direction
 
#define PDEC_CTRLA_CONF_AUTOC_Val   _U_(0x4)
 (PDEC_CTRLA) Auto correction mode
 
#define PDEC_CTRLA_CONF_X4   (PDEC_CTRLA_CONF_X4_Val << PDEC_CTRLA_CONF_Pos)
 
#define PDEC_CTRLA_CONF_X4S   (PDEC_CTRLA_CONF_X4S_Val << PDEC_CTRLA_CONF_Pos)
 
#define PDEC_CTRLA_CONF_X2   (PDEC_CTRLA_CONF_X2_Val << PDEC_CTRLA_CONF_Pos)
 
#define PDEC_CTRLA_CONF_X2S   (PDEC_CTRLA_CONF_X2S_Val << PDEC_CTRLA_CONF_Pos)
 
#define PDEC_CTRLA_CONF_AUTOC   (PDEC_CTRLA_CONF_AUTOC_Val << PDEC_CTRLA_CONF_Pos)
 
#define PDEC_CTRLA_ALOCK_Pos   11
 (PDEC_CTRLA) Auto Lock
 
#define PDEC_CTRLA_ALOCK   (_U_(0x1) << PDEC_CTRLA_ALOCK_Pos)
 
#define PDEC_CTRLA_SWAP_Pos   14
 (PDEC_CTRLA) PDEC Phase A and B Swap
 
#define PDEC_CTRLA_SWAP   (_U_(0x1) << PDEC_CTRLA_SWAP_Pos)
 
#define PDEC_CTRLA_PEREN_Pos   15
 (PDEC_CTRLA) Period Enable
 
#define PDEC_CTRLA_PEREN   (_U_(0x1) << PDEC_CTRLA_PEREN_Pos)
 
#define PDEC_CTRLA_PINEN0_Pos   16
 (PDEC_CTRLA) PDEC Input From Pin 0 Enable
 
#define PDEC_CTRLA_PINEN0   (_U_(1) << PDEC_CTRLA_PINEN0_Pos)
 
#define PDEC_CTRLA_PINEN1_Pos   17
 (PDEC_CTRLA) PDEC Input From Pin 1 Enable
 
#define PDEC_CTRLA_PINEN1   (_U_(1) << PDEC_CTRLA_PINEN1_Pos)
 
#define PDEC_CTRLA_PINEN2_Pos   18
 (PDEC_CTRLA) PDEC Input From Pin 2 Enable
 
#define PDEC_CTRLA_PINEN2   (_U_(1) << PDEC_CTRLA_PINEN2_Pos)
 
#define PDEC_CTRLA_PINEN_Pos   16
 (PDEC_CTRLA) PDEC Input From Pin x Enable
 
#define PDEC_CTRLA_PINEN_Msk   (_U_(0x7) << PDEC_CTRLA_PINEN_Pos)
 
#define PDEC_CTRLA_PINEN(value)   (PDEC_CTRLA_PINEN_Msk & ((value) << PDEC_CTRLA_PINEN_Pos))
 
#define PDEC_CTRLA_PINVEN0_Pos   20
 (PDEC_CTRLA) IO Pin 0 Invert Enable
 
#define PDEC_CTRLA_PINVEN0   (_U_(1) << PDEC_CTRLA_PINVEN0_Pos)
 
#define PDEC_CTRLA_PINVEN1_Pos   21
 (PDEC_CTRLA) IO Pin 1 Invert Enable
 
#define PDEC_CTRLA_PINVEN1   (_U_(1) << PDEC_CTRLA_PINVEN1_Pos)
 
#define PDEC_CTRLA_PINVEN2_Pos   22
 (PDEC_CTRLA) IO Pin 2 Invert Enable
 
#define PDEC_CTRLA_PINVEN2   (_U_(1) << PDEC_CTRLA_PINVEN2_Pos)
 
#define PDEC_CTRLA_PINVEN_Pos   20
 (PDEC_CTRLA) IO Pin x Invert Enable
 
#define PDEC_CTRLA_PINVEN_Msk   (_U_(0x7) << PDEC_CTRLA_PINVEN_Pos)
 
#define PDEC_CTRLA_PINVEN(value)   (PDEC_CTRLA_PINVEN_Msk & ((value) << PDEC_CTRLA_PINVEN_Pos))
 
#define PDEC_CTRLA_ANGULAR_Pos   24
 (PDEC_CTRLA) Angular Counter Length
 
#define PDEC_CTRLA_ANGULAR_Msk   (_U_(0x7) << PDEC_CTRLA_ANGULAR_Pos)
 
#define PDEC_CTRLA_ANGULAR(value)   (PDEC_CTRLA_ANGULAR_Msk & ((value) << PDEC_CTRLA_ANGULAR_Pos))
 
#define PDEC_CTRLA_MAXCMP_Pos   28
 (PDEC_CTRLA) Maximum Consecutive Missing Pulses
 
#define PDEC_CTRLA_MAXCMP_Msk   (_U_(0xF) << PDEC_CTRLA_MAXCMP_Pos)
 
#define PDEC_CTRLA_MAXCMP(value)   (PDEC_CTRLA_MAXCMP_Msk & ((value) << PDEC_CTRLA_MAXCMP_Pos))
 
#define PDEC_CTRLA_MASK   _U_(0xF777CF4F)
 (PDEC_CTRLA) MASK Register
 
#define PDEC_CTRLBCLR_OFFSET   0x04
 (PDEC_CTRLBCLR offset) Control B Clear
 
#define PDEC_CTRLBCLR_RESETVALUE   _U_(0x00)
 (PDEC_CTRLBCLR reset_value) Control B Clear
 
#define PDEC_CTRLBCLR_LUPD_Pos   1
 (PDEC_CTRLBCLR) Lock Update
 
#define PDEC_CTRLBCLR_LUPD   (_U_(0x1) << PDEC_CTRLBCLR_LUPD_Pos)
 
#define PDEC_CTRLBCLR_CMD_Pos   5
 (PDEC_CTRLBCLR) Command
 
#define PDEC_CTRLBCLR_CMD_Msk   (_U_(0x7) << PDEC_CTRLBCLR_CMD_Pos)
 
#define PDEC_CTRLBCLR_CMD(value)   (PDEC_CTRLBCLR_CMD_Msk & ((value) << PDEC_CTRLBCLR_CMD_Pos))
 
#define PDEC_CTRLBCLR_CMD_NONE_Val   _U_(0x0)
 (PDEC_CTRLBCLR) No action
 
#define PDEC_CTRLBCLR_CMD_RETRIGGER_Val   _U_(0x1)
 (PDEC_CTRLBCLR) Force a counter restart or retrigger
 
#define PDEC_CTRLBCLR_CMD_UPDATE_Val   _U_(0x2)
 (PDEC_CTRLBCLR) Force update of double buffered registers
 
#define PDEC_CTRLBCLR_CMD_READSYNC_Val   _U_(0x3)
 (PDEC_CTRLBCLR) Force a read synchronization of COUNT
 
#define PDEC_CTRLBCLR_CMD_START_Val   _U_(0x4)
 (PDEC_CTRLBCLR) Start QDEC/HALL
 
#define PDEC_CTRLBCLR_CMD_STOP_Val   _U_(0x5)
 (PDEC_CTRLBCLR) Stop QDEC/HALL
 
#define PDEC_CTRLBCLR_CMD_NONE   (PDEC_CTRLBCLR_CMD_NONE_Val << PDEC_CTRLBCLR_CMD_Pos)
 
#define PDEC_CTRLBCLR_CMD_RETRIGGER   (PDEC_CTRLBCLR_CMD_RETRIGGER_Val << PDEC_CTRLBCLR_CMD_Pos)
 
#define PDEC_CTRLBCLR_CMD_UPDATE   (PDEC_CTRLBCLR_CMD_UPDATE_Val << PDEC_CTRLBCLR_CMD_Pos)
 
#define PDEC_CTRLBCLR_CMD_READSYNC   (PDEC_CTRLBCLR_CMD_READSYNC_Val << PDEC_CTRLBCLR_CMD_Pos)
 
#define PDEC_CTRLBCLR_CMD_START   (PDEC_CTRLBCLR_CMD_START_Val << PDEC_CTRLBCLR_CMD_Pos)
 
#define PDEC_CTRLBCLR_CMD_STOP   (PDEC_CTRLBCLR_CMD_STOP_Val << PDEC_CTRLBCLR_CMD_Pos)
 
#define PDEC_CTRLBCLR_MASK   _U_(0xE2)
 (PDEC_CTRLBCLR) MASK Register
 
#define PDEC_CTRLBSET_OFFSET   0x05
 (PDEC_CTRLBSET offset) Control B Set
 
#define PDEC_CTRLBSET_RESETVALUE   _U_(0x00)
 (PDEC_CTRLBSET reset_value) Control B Set
 
#define PDEC_CTRLBSET_LUPD_Pos   1
 (PDEC_CTRLBSET) Lock Update
 
#define PDEC_CTRLBSET_LUPD   (_U_(0x1) << PDEC_CTRLBSET_LUPD_Pos)
 
#define PDEC_CTRLBSET_CMD_Pos   5
 (PDEC_CTRLBSET) Command
 
#define PDEC_CTRLBSET_CMD_Msk   (_U_(0x7) << PDEC_CTRLBSET_CMD_Pos)
 
#define PDEC_CTRLBSET_CMD(value)   (PDEC_CTRLBSET_CMD_Msk & ((value) << PDEC_CTRLBSET_CMD_Pos))
 
#define PDEC_CTRLBSET_CMD_NONE_Val   _U_(0x0)
 (PDEC_CTRLBSET) No action
 
#define PDEC_CTRLBSET_CMD_RETRIGGER_Val   _U_(0x1)
 (PDEC_CTRLBSET) Force a counter restart or retrigger
 
#define PDEC_CTRLBSET_CMD_UPDATE_Val   _U_(0x2)
 (PDEC_CTRLBSET) Force update of double buffered registers
 
#define PDEC_CTRLBSET_CMD_READSYNC_Val   _U_(0x3)
 (PDEC_CTRLBSET) Force a read synchronization of COUNT
 
#define PDEC_CTRLBSET_CMD_START_Val   _U_(0x4)
 (PDEC_CTRLBSET) Start QDEC/HALL
 
#define PDEC_CTRLBSET_CMD_STOP_Val   _U_(0x5)
 (PDEC_CTRLBSET) Stop QDEC/HALL
 
#define PDEC_CTRLBSET_CMD_NONE   (PDEC_CTRLBSET_CMD_NONE_Val << PDEC_CTRLBSET_CMD_Pos)
 
#define PDEC_CTRLBSET_CMD_RETRIGGER   (PDEC_CTRLBSET_CMD_RETRIGGER_Val << PDEC_CTRLBSET_CMD_Pos)
 
#define PDEC_CTRLBSET_CMD_UPDATE   (PDEC_CTRLBSET_CMD_UPDATE_Val << PDEC_CTRLBSET_CMD_Pos)
 
#define PDEC_CTRLBSET_CMD_READSYNC   (PDEC_CTRLBSET_CMD_READSYNC_Val << PDEC_CTRLBSET_CMD_Pos)
 
#define PDEC_CTRLBSET_CMD_START   (PDEC_CTRLBSET_CMD_START_Val << PDEC_CTRLBSET_CMD_Pos)
 
#define PDEC_CTRLBSET_CMD_STOP   (PDEC_CTRLBSET_CMD_STOP_Val << PDEC_CTRLBSET_CMD_Pos)
 
#define PDEC_CTRLBSET_MASK   _U_(0xE2)
 (PDEC_CTRLBSET) MASK Register
 
#define PDEC_EVCTRL_OFFSET   0x06
 (PDEC_EVCTRL offset) Event Control
 
#define PDEC_EVCTRL_RESETVALUE   _U_(0x0000)
 (PDEC_EVCTRL reset_value) Event Control
 
#define PDEC_EVCTRL_EVACT_Pos   0
 (PDEC_EVCTRL) Event Action
 
#define PDEC_EVCTRL_EVACT_Msk   (_U_(0x3) << PDEC_EVCTRL_EVACT_Pos)
 
#define PDEC_EVCTRL_EVACT(value)   (PDEC_EVCTRL_EVACT_Msk & ((value) << PDEC_EVCTRL_EVACT_Pos))
 
#define PDEC_EVCTRL_EVACT_OFF_Val   _U_(0x0)
 (PDEC_EVCTRL) Event action disabled
 
#define PDEC_EVCTRL_EVACT_RETRIGGER_Val   _U_(0x1)
 (PDEC_EVCTRL) Start, restart or retrigger on event
 
#define PDEC_EVCTRL_EVACT_COUNT_Val   _U_(0x2)
 (PDEC_EVCTRL) Count on event
 
#define PDEC_EVCTRL_EVACT_OFF   (PDEC_EVCTRL_EVACT_OFF_Val << PDEC_EVCTRL_EVACT_Pos)
 
#define PDEC_EVCTRL_EVACT_RETRIGGER   (PDEC_EVCTRL_EVACT_RETRIGGER_Val << PDEC_EVCTRL_EVACT_Pos)
 
#define PDEC_EVCTRL_EVACT_COUNT   (PDEC_EVCTRL_EVACT_COUNT_Val << PDEC_EVCTRL_EVACT_Pos)
 
#define PDEC_EVCTRL_EVINV_Pos   2
 (PDEC_EVCTRL) Inverted Event Input Enable
 
#define PDEC_EVCTRL_EVINV_Msk   (_U_(0x7) << PDEC_EVCTRL_EVINV_Pos)
 
#define PDEC_EVCTRL_EVINV(value)   (PDEC_EVCTRL_EVINV_Msk & ((value) << PDEC_EVCTRL_EVINV_Pos))
 
#define PDEC_EVCTRL_EVEI_Pos   5
 (PDEC_EVCTRL) Event Input Enable
 
#define PDEC_EVCTRL_EVEI_Msk   (_U_(0x7) << PDEC_EVCTRL_EVEI_Pos)
 
#define PDEC_EVCTRL_EVEI(value)   (PDEC_EVCTRL_EVEI_Msk & ((value) << PDEC_EVCTRL_EVEI_Pos))
 
#define PDEC_EVCTRL_OVFEO_Pos   8
 (PDEC_EVCTRL) Overflow/Underflow Output Event Enable
 
#define PDEC_EVCTRL_OVFEO   (_U_(0x1) << PDEC_EVCTRL_OVFEO_Pos)
 
#define PDEC_EVCTRL_ERREO_Pos   9
 (PDEC_EVCTRL) Error Output Event Enable
 
#define PDEC_EVCTRL_ERREO   (_U_(0x1) << PDEC_EVCTRL_ERREO_Pos)
 
#define PDEC_EVCTRL_DIREO_Pos   10
 (PDEC_EVCTRL) Direction Output Event Enable
 
#define PDEC_EVCTRL_DIREO   (_U_(0x1) << PDEC_EVCTRL_DIREO_Pos)
 
#define PDEC_EVCTRL_VLCEO_Pos   11
 (PDEC_EVCTRL) Velocity Output Event Enable
 
#define PDEC_EVCTRL_VLCEO   (_U_(0x1) << PDEC_EVCTRL_VLCEO_Pos)
 
#define PDEC_EVCTRL_MCEO0_Pos   12
 (PDEC_EVCTRL) Match Channel 0 Event Output Enable
 
#define PDEC_EVCTRL_MCEO0   (_U_(1) << PDEC_EVCTRL_MCEO0_Pos)
 
#define PDEC_EVCTRL_MCEO1_Pos   13
 (PDEC_EVCTRL) Match Channel 1 Event Output Enable
 
#define PDEC_EVCTRL_MCEO1   (_U_(1) << PDEC_EVCTRL_MCEO1_Pos)
 
#define PDEC_EVCTRL_MCEO_Pos   12
 (PDEC_EVCTRL) Match Channel x Event Output Enable
 
#define PDEC_EVCTRL_MCEO_Msk   (_U_(0x3) << PDEC_EVCTRL_MCEO_Pos)
 
#define PDEC_EVCTRL_MCEO(value)   (PDEC_EVCTRL_MCEO_Msk & ((value) << PDEC_EVCTRL_MCEO_Pos))
 
#define PDEC_EVCTRL_MASK   _U_(0x3FFF)
 (PDEC_EVCTRL) MASK Register
 
#define PDEC_INTENCLR_OFFSET   0x08
 (PDEC_INTENCLR offset) Interrupt Enable Clear
 
#define PDEC_INTENCLR_RESETVALUE   _U_(0x00)
 (PDEC_INTENCLR reset_value) Interrupt Enable Clear
 
#define PDEC_INTENCLR_OVF_Pos   0
 (PDEC_INTENCLR) Overflow/Underflow Interrupt Disable
 
#define PDEC_INTENCLR_OVF   (_U_(0x1) << PDEC_INTENCLR_OVF_Pos)
 
#define PDEC_INTENCLR_ERR_Pos   1
 (PDEC_INTENCLR) Error Interrupt Disable
 
#define PDEC_INTENCLR_ERR   (_U_(0x1) << PDEC_INTENCLR_ERR_Pos)
 
#define PDEC_INTENCLR_DIR_Pos   2
 (PDEC_INTENCLR) Direction Interrupt Disable
 
#define PDEC_INTENCLR_DIR   (_U_(0x1) << PDEC_INTENCLR_DIR_Pos)
 
#define PDEC_INTENCLR_VLC_Pos   3
 (PDEC_INTENCLR) Velocity Interrupt Disable
 
#define PDEC_INTENCLR_VLC   (_U_(0x1) << PDEC_INTENCLR_VLC_Pos)
 
#define PDEC_INTENCLR_MC0_Pos   4
 (PDEC_INTENCLR) Channel 0 Compare Match Disable
 
#define PDEC_INTENCLR_MC0   (_U_(1) << PDEC_INTENCLR_MC0_Pos)
 
#define PDEC_INTENCLR_MC1_Pos   5
 (PDEC_INTENCLR) Channel 1 Compare Match Disable
 
#define PDEC_INTENCLR_MC1   (_U_(1) << PDEC_INTENCLR_MC1_Pos)
 
#define PDEC_INTENCLR_MC_Pos   4
 (PDEC_INTENCLR) Channel x Compare Match Disable
 
#define PDEC_INTENCLR_MC_Msk   (_U_(0x3) << PDEC_INTENCLR_MC_Pos)
 
#define PDEC_INTENCLR_MC(value)   (PDEC_INTENCLR_MC_Msk & ((value) << PDEC_INTENCLR_MC_Pos))
 
#define PDEC_INTENCLR_MASK   _U_(0x3F)
 (PDEC_INTENCLR) MASK Register
 
#define PDEC_INTENSET_OFFSET   0x09
 (PDEC_INTENSET offset) Interrupt Enable Set
 
#define PDEC_INTENSET_RESETVALUE   _U_(0x00)
 (PDEC_INTENSET reset_value) Interrupt Enable Set
 
#define PDEC_INTENSET_OVF_Pos   0
 (PDEC_INTENSET) Overflow/Underflow Interrupt Enable
 
#define PDEC_INTENSET_OVF   (_U_(0x1) << PDEC_INTENSET_OVF_Pos)
 
#define PDEC_INTENSET_ERR_Pos   1
 (PDEC_INTENSET) Error Interrupt Enable
 
#define PDEC_INTENSET_ERR   (_U_(0x1) << PDEC_INTENSET_ERR_Pos)
 
#define PDEC_INTENSET_DIR_Pos   2
 (PDEC_INTENSET) Direction Interrupt Enable
 
#define PDEC_INTENSET_DIR   (_U_(0x1) << PDEC_INTENSET_DIR_Pos)
 
#define PDEC_INTENSET_VLC_Pos   3
 (PDEC_INTENSET) Velocity Interrupt Enable
 
#define PDEC_INTENSET_VLC   (_U_(0x1) << PDEC_INTENSET_VLC_Pos)
 
#define PDEC_INTENSET_MC0_Pos   4
 (PDEC_INTENSET) Channel 0 Compare Match Enable
 
#define PDEC_INTENSET_MC0   (_U_(1) << PDEC_INTENSET_MC0_Pos)
 
#define PDEC_INTENSET_MC1_Pos   5
 (PDEC_INTENSET) Channel 1 Compare Match Enable
 
#define PDEC_INTENSET_MC1   (_U_(1) << PDEC_INTENSET_MC1_Pos)
 
#define PDEC_INTENSET_MC_Pos   4
 (PDEC_INTENSET) Channel x Compare Match Enable
 
#define PDEC_INTENSET_MC_Msk   (_U_(0x3) << PDEC_INTENSET_MC_Pos)
 
#define PDEC_INTENSET_MC(value)   (PDEC_INTENSET_MC_Msk & ((value) << PDEC_INTENSET_MC_Pos))
 
#define PDEC_INTENSET_MASK   _U_(0x3F)
 (PDEC_INTENSET) MASK Register
 
#define PDEC_INTFLAG_OFFSET   0x0A
 (PDEC_INTFLAG offset) Interrupt Flag Status and Clear
 
#define PDEC_INTFLAG_RESETVALUE   _U_(0x00)
 (PDEC_INTFLAG reset_value) Interrupt Flag Status and Clear
 
#define PDEC_INTFLAG_OVF_Pos   0
 (PDEC_INTFLAG) Overflow/Underflow
 
#define PDEC_INTFLAG_OVF   (_U_(0x1) << PDEC_INTFLAG_OVF_Pos)
 
#define PDEC_INTFLAG_ERR_Pos   1
 (PDEC_INTFLAG) Error
 
#define PDEC_INTFLAG_ERR   (_U_(0x1) << PDEC_INTFLAG_ERR_Pos)
 
#define PDEC_INTFLAG_DIR_Pos   2
 (PDEC_INTFLAG) Direction Change
 
#define PDEC_INTFLAG_DIR   (_U_(0x1) << PDEC_INTFLAG_DIR_Pos)
 
#define PDEC_INTFLAG_VLC_Pos   3
 (PDEC_INTFLAG) Velocity
 
#define PDEC_INTFLAG_VLC   (_U_(0x1) << PDEC_INTFLAG_VLC_Pos)
 
#define PDEC_INTFLAG_MC0_Pos   4
 (PDEC_INTFLAG) Channel 0 Compare Match
 
#define PDEC_INTFLAG_MC0   (_U_(1) << PDEC_INTFLAG_MC0_Pos)
 
#define PDEC_INTFLAG_MC1_Pos   5
 (PDEC_INTFLAG) Channel 1 Compare Match
 
#define PDEC_INTFLAG_MC1   (_U_(1) << PDEC_INTFLAG_MC1_Pos)
 
#define PDEC_INTFLAG_MC_Pos   4
 (PDEC_INTFLAG) Channel x Compare Match
 
#define PDEC_INTFLAG_MC_Msk   (_U_(0x3) << PDEC_INTFLAG_MC_Pos)
 
#define PDEC_INTFLAG_MC(value)   (PDEC_INTFLAG_MC_Msk & ((value) << PDEC_INTFLAG_MC_Pos))
 
#define PDEC_INTFLAG_MASK   _U_(0x3F)
 (PDEC_INTFLAG) MASK Register
 
#define PDEC_STATUS_OFFSET   0x0C
 (PDEC_STATUS offset) Status
 
#define PDEC_STATUS_RESETVALUE   _U_(0x0040)
 (PDEC_STATUS reset_value) Status
 
#define PDEC_STATUS_QERR_Pos   0
 (PDEC_STATUS) Quadrature Error Flag
 
#define PDEC_STATUS_QERR   (_U_(0x1) << PDEC_STATUS_QERR_Pos)
 
#define PDEC_STATUS_IDXERR_Pos   1
 (PDEC_STATUS) Index Error Flag
 
#define PDEC_STATUS_IDXERR   (_U_(0x1) << PDEC_STATUS_IDXERR_Pos)
 
#define PDEC_STATUS_MPERR_Pos   2
 (PDEC_STATUS) Missing Pulse Error flag
 
#define PDEC_STATUS_MPERR   (_U_(0x1) << PDEC_STATUS_MPERR_Pos)
 
#define PDEC_STATUS_WINERR_Pos   4
 (PDEC_STATUS) Window Error Flag
 
#define PDEC_STATUS_WINERR   (_U_(0x1) << PDEC_STATUS_WINERR_Pos)
 
#define PDEC_STATUS_HERR_Pos   5
 (PDEC_STATUS) Hall Error Flag
 
#define PDEC_STATUS_HERR   (_U_(0x1) << PDEC_STATUS_HERR_Pos)
 
#define PDEC_STATUS_STOP_Pos   6
 (PDEC_STATUS) Stop
 
#define PDEC_STATUS_STOP   (_U_(0x1) << PDEC_STATUS_STOP_Pos)
 
#define PDEC_STATUS_DIR_Pos   7
 (PDEC_STATUS) Direction Status Flag
 
#define PDEC_STATUS_DIR   (_U_(0x1) << PDEC_STATUS_DIR_Pos)
 
#define PDEC_STATUS_PRESCBUFV_Pos   8
 (PDEC_STATUS) Prescaler Buffer Valid
 
#define PDEC_STATUS_PRESCBUFV   (_U_(0x1) << PDEC_STATUS_PRESCBUFV_Pos)
 
#define PDEC_STATUS_FILTERBUFV_Pos   9
 (PDEC_STATUS) Filter Buffer Valid
 
#define PDEC_STATUS_FILTERBUFV   (_U_(0x1) << PDEC_STATUS_FILTERBUFV_Pos)
 
#define PDEC_STATUS_CCBUFV0_Pos   12
 (PDEC_STATUS) Compare Channel 0 Buffer Valid
 
#define PDEC_STATUS_CCBUFV0   (_U_(1) << PDEC_STATUS_CCBUFV0_Pos)
 
#define PDEC_STATUS_CCBUFV1_Pos   13
 (PDEC_STATUS) Compare Channel 1 Buffer Valid
 
#define PDEC_STATUS_CCBUFV1   (_U_(1) << PDEC_STATUS_CCBUFV1_Pos)
 
#define PDEC_STATUS_CCBUFV_Pos   12
 (PDEC_STATUS) Compare Channel x Buffer Valid
 
#define PDEC_STATUS_CCBUFV_Msk   (_U_(0x3) << PDEC_STATUS_CCBUFV_Pos)
 
#define PDEC_STATUS_CCBUFV(value)   (PDEC_STATUS_CCBUFV_Msk & ((value) << PDEC_STATUS_CCBUFV_Pos))
 
#define PDEC_STATUS_MASK   _U_(0x33F7)
 (PDEC_STATUS) MASK Register
 
#define PDEC_DBGCTRL_OFFSET   0x0F
 (PDEC_DBGCTRL offset) Debug Control
 
#define PDEC_DBGCTRL_RESETVALUE   _U_(0x00)
 (PDEC_DBGCTRL reset_value) Debug Control
 
#define PDEC_DBGCTRL_DBGRUN_Pos   0
 (PDEC_DBGCTRL) Debug Run Mode
 
#define PDEC_DBGCTRL_DBGRUN   (_U_(0x1) << PDEC_DBGCTRL_DBGRUN_Pos)
 
#define PDEC_DBGCTRL_MASK   _U_(0x01)
 (PDEC_DBGCTRL) MASK Register
 
#define PDEC_SYNCBUSY_OFFSET   0x10
 (PDEC_SYNCBUSY offset) Synchronization Status
 
#define PDEC_SYNCBUSY_RESETVALUE   _U_(0x00000000)
 (PDEC_SYNCBUSY reset_value) Synchronization Status
 
#define PDEC_SYNCBUSY_SWRST_Pos   0
 (PDEC_SYNCBUSY) Software Reset Synchronization Busy
 
#define PDEC_SYNCBUSY_SWRST   (_U_(0x1) << PDEC_SYNCBUSY_SWRST_Pos)
 
#define PDEC_SYNCBUSY_ENABLE_Pos   1
 (PDEC_SYNCBUSY) Enable Synchronization Busy
 
#define PDEC_SYNCBUSY_ENABLE   (_U_(0x1) << PDEC_SYNCBUSY_ENABLE_Pos)
 
#define PDEC_SYNCBUSY_CTRLB_Pos   2
 (PDEC_SYNCBUSY) Control B Synchronization Busy
 
#define PDEC_SYNCBUSY_CTRLB   (_U_(0x1) << PDEC_SYNCBUSY_CTRLB_Pos)
 
#define PDEC_SYNCBUSY_STATUS_Pos   3
 (PDEC_SYNCBUSY) Status Synchronization Busy
 
#define PDEC_SYNCBUSY_STATUS   (_U_(0x1) << PDEC_SYNCBUSY_STATUS_Pos)
 
#define PDEC_SYNCBUSY_PRESC_Pos   4
 (PDEC_SYNCBUSY) Prescaler Synchronization Busy
 
#define PDEC_SYNCBUSY_PRESC   (_U_(0x1) << PDEC_SYNCBUSY_PRESC_Pos)
 
#define PDEC_SYNCBUSY_FILTER_Pos   5
 (PDEC_SYNCBUSY) Filter Synchronization Busy
 
#define PDEC_SYNCBUSY_FILTER   (_U_(0x1) << PDEC_SYNCBUSY_FILTER_Pos)
 
#define PDEC_SYNCBUSY_COUNT_Pos   6
 (PDEC_SYNCBUSY) Count Synchronization Busy
 
#define PDEC_SYNCBUSY_COUNT   (_U_(0x1) << PDEC_SYNCBUSY_COUNT_Pos)
 
#define PDEC_SYNCBUSY_CC0_Pos   7
 (PDEC_SYNCBUSY) Compare Channel 0 Synchronization Busy
 
#define PDEC_SYNCBUSY_CC0   (_U_(1) << PDEC_SYNCBUSY_CC0_Pos)
 
#define PDEC_SYNCBUSY_CC1_Pos   8
 (PDEC_SYNCBUSY) Compare Channel 1 Synchronization Busy
 
#define PDEC_SYNCBUSY_CC1   (_U_(1) << PDEC_SYNCBUSY_CC1_Pos)
 
#define PDEC_SYNCBUSY_CC_Pos   7
 (PDEC_SYNCBUSY) Compare Channel x Synchronization Busy
 
#define PDEC_SYNCBUSY_CC_Msk   (_U_(0x3) << PDEC_SYNCBUSY_CC_Pos)
 
#define PDEC_SYNCBUSY_CC(value)   (PDEC_SYNCBUSY_CC_Msk & ((value) << PDEC_SYNCBUSY_CC_Pos))
 
#define PDEC_SYNCBUSY_MASK   _U_(0x000001FF)
 (PDEC_SYNCBUSY) MASK Register
 
#define PDEC_PRESC_OFFSET   0x14
 (PDEC_PRESC offset) Prescaler Value
 
#define PDEC_PRESC_RESETVALUE   _U_(0x00)
 (PDEC_PRESC reset_value) Prescaler Value
 
#define PDEC_PRESC_PRESC_Pos   0
 (PDEC_PRESC) Prescaler Value
 
#define PDEC_PRESC_PRESC_Msk   (_U_(0xF) << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC(value)   (PDEC_PRESC_PRESC_Msk & ((value) << PDEC_PRESC_PRESC_Pos))
 
#define PDEC_PRESC_PRESC_DIV1_Val   _U_(0x0)
 (PDEC_PRESC) No division
 
#define PDEC_PRESC_PRESC_DIV2_Val   _U_(0x1)
 (PDEC_PRESC) Divide by 2
 
#define PDEC_PRESC_PRESC_DIV4_Val   _U_(0x2)
 (PDEC_PRESC) Divide by 4
 
#define PDEC_PRESC_PRESC_DIV8_Val   _U_(0x3)
 (PDEC_PRESC) Divide by 8
 
#define PDEC_PRESC_PRESC_DIV16_Val   _U_(0x4)
 (PDEC_PRESC) Divide by 16
 
#define PDEC_PRESC_PRESC_DIV32_Val   _U_(0x5)
 (PDEC_PRESC) Divide by 32
 
#define PDEC_PRESC_PRESC_DIV64_Val   _U_(0x6)
 (PDEC_PRESC) Divide by 64
 
#define PDEC_PRESC_PRESC_DIV128_Val   _U_(0x7)
 (PDEC_PRESC) Divide by 128
 
#define PDEC_PRESC_PRESC_DIV256_Val   _U_(0x8)
 (PDEC_PRESC) Divide by 256
 
#define PDEC_PRESC_PRESC_DIV512_Val   _U_(0x9)
 (PDEC_PRESC) Divide by 512
 
#define PDEC_PRESC_PRESC_DIV1024_Val   _U_(0xA)
 (PDEC_PRESC) Divide by 1024
 
#define PDEC_PRESC_PRESC_DIV1   (PDEC_PRESC_PRESC_DIV1_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV2   (PDEC_PRESC_PRESC_DIV2_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV4   (PDEC_PRESC_PRESC_DIV4_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV8   (PDEC_PRESC_PRESC_DIV8_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV16   (PDEC_PRESC_PRESC_DIV16_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV32   (PDEC_PRESC_PRESC_DIV32_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV64   (PDEC_PRESC_PRESC_DIV64_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV128   (PDEC_PRESC_PRESC_DIV128_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV256   (PDEC_PRESC_PRESC_DIV256_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV512   (PDEC_PRESC_PRESC_DIV512_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_PRESC_DIV1024   (PDEC_PRESC_PRESC_DIV1024_Val << PDEC_PRESC_PRESC_Pos)
 
#define PDEC_PRESC_MASK   _U_(0x0F)
 (PDEC_PRESC) MASK Register
 
#define PDEC_FILTER_OFFSET   0x15
 (PDEC_FILTER offset) Filter Value
 
#define PDEC_FILTER_RESETVALUE   _U_(0x00)
 (PDEC_FILTER reset_value) Filter Value
 
#define PDEC_FILTER_FILTER_Pos   0
 (PDEC_FILTER) Filter Value
 
#define PDEC_FILTER_FILTER_Msk   (_U_(0xFF) << PDEC_FILTER_FILTER_Pos)
 
#define PDEC_FILTER_FILTER(value)   (PDEC_FILTER_FILTER_Msk & ((value) << PDEC_FILTER_FILTER_Pos))
 
#define PDEC_FILTER_MASK   _U_(0xFF)
 (PDEC_FILTER) MASK Register
 
#define PDEC_PRESCBUF_OFFSET   0x18
 (PDEC_PRESCBUF offset) Prescaler Buffer Value
 
#define PDEC_PRESCBUF_RESETVALUE   _U_(0x00)
 (PDEC_PRESCBUF reset_value) Prescaler Buffer Value
 
#define PDEC_PRESCBUF_PRESCBUF_Pos   0
 (PDEC_PRESCBUF) Prescaler Buffer Value
 
#define PDEC_PRESCBUF_PRESCBUF_Msk   (_U_(0xF) << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF(value)   (PDEC_PRESCBUF_PRESCBUF_Msk & ((value) << PDEC_PRESCBUF_PRESCBUF_Pos))
 
#define PDEC_PRESCBUF_PRESCBUF_DIV1_Val   _U_(0x0)
 (PDEC_PRESCBUF) No division
 
#define PDEC_PRESCBUF_PRESCBUF_DIV2_Val   _U_(0x1)
 (PDEC_PRESCBUF) Divide by 2
 
#define PDEC_PRESCBUF_PRESCBUF_DIV4_Val   _U_(0x2)
 (PDEC_PRESCBUF) Divide by 4
 
#define PDEC_PRESCBUF_PRESCBUF_DIV8_Val   _U_(0x3)
 (PDEC_PRESCBUF) Divide by 8
 
#define PDEC_PRESCBUF_PRESCBUF_DIV16_Val   _U_(0x4)
 (PDEC_PRESCBUF) Divide by 16
 
#define PDEC_PRESCBUF_PRESCBUF_DIV32_Val   _U_(0x5)
 (PDEC_PRESCBUF) Divide by 32
 
#define PDEC_PRESCBUF_PRESCBUF_DIV64_Val   _U_(0x6)
 (PDEC_PRESCBUF) Divide by 64
 
#define PDEC_PRESCBUF_PRESCBUF_DIV128_Val   _U_(0x7)
 (PDEC_PRESCBUF) Divide by 128
 
#define PDEC_PRESCBUF_PRESCBUF_DIV256_Val   _U_(0x8)
 (PDEC_PRESCBUF) Divide by 256
 
#define PDEC_PRESCBUF_PRESCBUF_DIV512_Val   _U_(0x9)
 (PDEC_PRESCBUF) Divide by 512
 
#define PDEC_PRESCBUF_PRESCBUF_DIV1024_Val   _U_(0xA)
 (PDEC_PRESCBUF) Divide by 1024
 
#define PDEC_PRESCBUF_PRESCBUF_DIV1   (PDEC_PRESCBUF_PRESCBUF_DIV1_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV2   (PDEC_PRESCBUF_PRESCBUF_DIV2_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV4   (PDEC_PRESCBUF_PRESCBUF_DIV4_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV8   (PDEC_PRESCBUF_PRESCBUF_DIV8_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV16   (PDEC_PRESCBUF_PRESCBUF_DIV16_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV32   (PDEC_PRESCBUF_PRESCBUF_DIV32_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV64   (PDEC_PRESCBUF_PRESCBUF_DIV64_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV128   (PDEC_PRESCBUF_PRESCBUF_DIV128_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV256   (PDEC_PRESCBUF_PRESCBUF_DIV256_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV512   (PDEC_PRESCBUF_PRESCBUF_DIV512_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_PRESCBUF_DIV1024   (PDEC_PRESCBUF_PRESCBUF_DIV1024_Val << PDEC_PRESCBUF_PRESCBUF_Pos)
 
#define PDEC_PRESCBUF_MASK   _U_(0x0F)
 (PDEC_PRESCBUF) MASK Register
 
#define PDEC_FILTERBUF_OFFSET   0x19
 (PDEC_FILTERBUF offset) Filter Buffer Value
 
#define PDEC_FILTERBUF_RESETVALUE   _U_(0x00)
 (PDEC_FILTERBUF reset_value) Filter Buffer Value
 
#define PDEC_FILTERBUF_FILTERBUF_Pos   0
 (PDEC_FILTERBUF) Filter Buffer Value
 
#define PDEC_FILTERBUF_FILTERBUF_Msk   (_U_(0xFF) << PDEC_FILTERBUF_FILTERBUF_Pos)
 
#define PDEC_FILTERBUF_FILTERBUF(value)   (PDEC_FILTERBUF_FILTERBUF_Msk & ((value) << PDEC_FILTERBUF_FILTERBUF_Pos))
 
#define PDEC_FILTERBUF_MASK   _U_(0xFF)
 (PDEC_FILTERBUF) MASK Register
 
#define PDEC_COUNT_OFFSET   0x1C
 (PDEC_COUNT offset) Counter Value
 
#define PDEC_COUNT_RESETVALUE   _U_(0x00000000)
 (PDEC_COUNT reset_value) Counter Value
 
#define PDEC_COUNT_COUNT_Pos   0
 (PDEC_COUNT) Counter Value
 
#define PDEC_COUNT_COUNT_Msk   (_U_(0xFFFF) << PDEC_COUNT_COUNT_Pos)
 
#define PDEC_COUNT_COUNT(value)   (PDEC_COUNT_COUNT_Msk & ((value) << PDEC_COUNT_COUNT_Pos))
 
#define PDEC_COUNT_MASK   _U_(0x0000FFFF)
 (PDEC_COUNT) MASK Register
 
#define PDEC_CC_OFFSET   0x20
 (PDEC_CC offset) Channel n Compare Value
 
#define PDEC_CC_RESETVALUE   _U_(0x00000000)
 (PDEC_CC reset_value) Channel n Compare Value
 
#define PDEC_CC_CC_Pos   0
 (PDEC_CC) Channel Compare Value
 
#define PDEC_CC_CC_Msk   (_U_(0xFFFF) << PDEC_CC_CC_Pos)
 
#define PDEC_CC_CC(value)   (PDEC_CC_CC_Msk & ((value) << PDEC_CC_CC_Pos))
 
#define PDEC_CC_MASK   _U_(0x0000FFFF)
 (PDEC_CC) MASK Register
 
#define PDEC_CCBUF_OFFSET   0x30
 (PDEC_CCBUF offset) Channel Compare Buffer Value
 
#define PDEC_CCBUF_RESETVALUE   _U_(0x00000000)
 (PDEC_CCBUF reset_value) Channel Compare Buffer Value
 
#define PDEC_CCBUF_CCBUF_Pos   0
 (PDEC_CCBUF) Channel Compare Buffer Value
 
#define PDEC_CCBUF_CCBUF_Msk   (_U_(0xFFFF) << PDEC_CCBUF_CCBUF_Pos)
 
#define PDEC_CCBUF_CCBUF(value)   (PDEC_CCBUF_CCBUF_Msk & ((value) << PDEC_CCBUF_CCBUF_Pos))
 
#define PDEC_CCBUF_MASK   _U_(0x0000FFFF)
 (PDEC_CCBUF) MASK Register
 

Detailed Description

Component description for PDEC.

Copyright (c) 2019 Microchip Technology Inc.

\asf_license_start

Definition in file pdec.h.