nRF51 SDK - S120 SoftDevice
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

Hardware abstraction layer for accessing the quadrature decoder (QDEC) peripheral. More...

Enumerations

enum  nrf_qdec_task_t {
  NRF_QDEC_TASK_START = offsetof(NRF_QDEC_Type, TASKS_START),
  NRF_QDEC_TASK_STOP = offsetof(NRF_QDEC_Type, TASKS_STOP),
  NRF_QDEC_TASK_READCLRACC = offsetof(NRF_QDEC_Type, TASKS_READCLRACC)
}
 QDEC tasks. More...
 
enum  nrf_qdec_event_t {
  NRF_QDEC_EVENT_SAMPLERDY = offsetof(NRF_QDEC_Type, EVENTS_SAMPLERDY),
  NRF_QDEC_EVENT_REPORTRDY = offsetof(NRF_QDEC_Type, EVENTS_REPORTRDY),
  NRF_QDEC_EVENT_ACCOF = offsetof(NRF_QDEC_Type, EVENTS_ACCOF)
}
 QDEC events. More...
 
enum  nrf_qdec_short_mask_t {
  NRF_QDEC_SHORT_REPORTRDY_READCLRACC_MASK = QDEC_SHORTS_REPORTRDY_READCLRACC_Msk,
  NRF_QDEC_SHORT_SAMPLERDY_STOP_MASK = QDEC_SHORTS_SAMPLERDY_STOP_Msk
}
 QDEC shortcuts. More...
 
enum  nrf_qdec_int_mask_t {
  NRF_QDEC_INT_SAMPLERDY_MASK = QDEC_INTENSET_SAMPLERDY_Msk,
  NRF_QDEC_INT_REPORTRDY_MASK = QDEC_INTENSET_REPORTRDY_Msk,
  NRF_QDEC_INT_ACCOF_MASK = QDEC_INTENSET_ACCOF_Msk
}
 QDEC interrupts. More...
 
enum  nrf_qdec_enable_t {
  NRF_QDEC_DISABLE = QDEC_ENABLE_ENABLE_Disabled,
  NRF_QDEC_ENABLE = QDEC_ENABLE_ENABLE_Enabled
}
 States of the enable bit. More...
 
enum  nrf_qdec_dbfen_t {
  NRF_QDEC_DBFEN_DISABLE = QDEC_DBFEN_DBFEN_Disabled,
  NRF_QDEC_DBFEN_ENABLE = QDEC_DBFEN_DBFEN_Enabled
}
 States of the debounce filter enable bit. More...
 
enum  nrf_qdec_pio_t {
  NRF_QDEC_PIO_PSELLED,
  NRF_QDEC_PIO_PSELA,
  NRF_QDEC_PIO_PSELB
}
 QDEC peripheral input/output pins. More...
 
enum  nrf_qdec_ledpol_t {
  NRF_QDEC_LEPOL_ACTIVE_LOW = QDEC_LEDPOL_LEDPOL_ActiveLow,
  NRF_QDEC_LEPOL_ACTIVE_HIGH = QDEC_LEDPOL_LEDPOL_ActiveHigh
}
 Active LED polarity. More...
 
enum  nrf_qdec_sampleper_t {
  NRF_QDEC_SAMPLEPER_128us = QDEC_SAMPLEPER_SAMPLEPER_128us,
  NRF_QDEC_SAMPLEPER_256us = QDEC_SAMPLEPER_SAMPLEPER_256us,
  NRF_QDEC_SAMPLEPER_512us = QDEC_SAMPLEPER_SAMPLEPER_512us,
  NRF_QDEC_SAMPLEPER_1024us = QDEC_SAMPLEPER_SAMPLEPER_1024us,
  NRF_QDEC_SAMPLEPER_2048us = QDEC_SAMPLEPER_SAMPLEPER_2048us,
  NRF_QDEC_SAMPLEPER_4096us = QDEC_SAMPLEPER_SAMPLEPER_4096us,
  NRF_QDEC_SAMPLEPER_8192us = QDEC_SAMPLEPER_SAMPLEPER_8192us,
  NRF_QDEC_SAMPLEPER_16384us = QDEC_SAMPLEPER_SAMPLEPER_16384us
}
 Available sampling periods. More...
 
enum  nrf_qdec_reportper_t {
  NRF_QDEC_REPORTPER_10 = QDEC_REPORTPER_REPORTPER_10Smpl,
  NRF_QDEC_REPORTPER_40 = QDEC_REPORTPER_REPORTPER_40Smpl,
  NRF_QDEC_REPORTPER_80 = QDEC_REPORTPER_REPORTPER_80Smpl,
  NRF_QDEC_REPORTPER_120 = QDEC_REPORTPER_REPORTPER_120Smpl,
  NRF_QDEC_REPORTPER_160 = QDEC_REPORTPER_REPORTPER_160Smpl,
  NRF_QDEC_REPORTPER_200 = QDEC_REPORTPER_REPORTPER_200Smpl,
  NRF_QDEC_REPORTPER_240 = QDEC_REPORTPER_REPORTPER_240Smpl,
  NRF_QDEC_REPORTPER_280 = QDEC_REPORTPER_REPORTPER_280Smpl,
  NRF_QDEC_REPORTPER_DISABLED
}
 Available report periods. More...
 

Functions

__STATIC_INLINE void nrf_qdec_enable (void)
 Function for enabling QDEC.
 
__STATIC_INLINE void nrf_qdec_disable (void)
 Function for disabling QDEC.
 
__STATIC_INLINE uint32_t nrf_qdec_enable_get (void)
 Function for returning the enable state of QDEC. More...
 
__STATIC_INLINE void nrf_qdec_int_enable (uint32_t qdec_int_mask)
 Function for enabling QDEC interrupts by mask. More...
 
__STATIC_INLINE void nrf_qdec_int_disable (uint32_t qdec_int_mask)
 Function for disabling QDEC interrupts by mask. More...
 
__STATIC_INLINE uint32_t nrf_qdec_int_enable_check (nrf_qdec_int_mask_t qdec_int_mask)
 Function for getting the enabled interrupts of the QDEC.
 
__STATIC_INLINE void nrf_qdec_dbfen_enable (void)
 Function for enabling the debouncing filter of the QED.
 
__STATIC_INLINE void nrf_qdec_dbfen_disable (void)
 Function for disabling the debouncing filter of the QED.
 
__STATIC_INLINE uint32_t nrf_qdec_dbfen_get (void)
 Function for getting the state of the QDEC's debouncing filter. More...
 
__STATIC_INLINE uint32_t nrf_qdec_pio_assign (nrf_qdec_pio_t qdec_pio, uint32_t pin_number)
 Function for assigning QDEC pins. More...
 
__STATIC_INLINE uint32_t nrf_qdec_pio_assignment_get (nrf_qdec_pio_t qdec_pio, uint32_t *p_pin_number)
 Function for retrieving the assigned pin number for a pio function. More...
 
__STATIC_INLINE void nrf_qdec_task_trigger (nrf_qdec_task_t qdec_task)
 Function for setting a specific QDEC task. More...
 
__STATIC_INLINE uint32_t * nrf_qdec_task_address_get (nrf_qdec_task_t qdec_task)
 Function for retrieving the address of a QDEC task register. More...
 
__STATIC_INLINE void nrf_qdec_event_clear (nrf_qdec_event_t qdec_event)
 Function for clearing a specific QDEC event. More...
 
__STATIC_INLINE uint32_t nrf_qdec_event_check (nrf_qdec_event_t qdec_event)
 Function for retrieving the state of a specific QDEC event. More...
 
__STATIC_INLINE uint32_t * nrf_qdec_event_address_get (nrf_qdec_event_t qdec_event)
 Function for retrieving the address of a specific QDEC event register. More...
 
__STATIC_INLINE void nrf_qdec_shorts_enable (uint32_t qdec_short_mask)
 Function for setting QDEC shortcuts. More...
 
__STATIC_INLINE void nrf_qdec_shorts_disable (uint32_t qdec_short_mask)
 Function for clearing shortcuts of the QDEC by mask. More...
 
__STATIC_INLINE int32_t nrf_qdec_sampleper_reg_get (void)
 Function for retrieving the value of QDEC's SAMPLEPER register. More...
 
__STATIC_INLINE uint32_t nrf_qdec_sampleper_to_value (uint32_t sampleper)
 Function for converting the value of QDEC's SAMPLE PERIOD to microseconds. More...
 
__STATIC_INLINE void nrf_qdec_sampleper_set (nrf_qdec_sampleper_t sample_per)
 Function for setting the value of QDEC's SAMPLEPER register. More...
 
__STATIC_INLINE int32_t nrf_qdec_sample_get (void)
 Function for retrieving the value of QDEC's SAMPLE register. More...
 
__STATIC_INLINE int32_t nrf_qdec_acc_get (void)
 Function for retrieving the value of QDEC's ACC register. More...
 
__STATIC_INLINE int32_t nrf_qdec_accread_get (void)
 Function for retrieving the value of QDEC's ACCREAD register. More...
 
__STATIC_INLINE uint32_t nrf_qdec_accdbl_get (void)
 Function for retrieving the value of QDEC's ACCDBL register. More...
 
__STATIC_INLINE uint32_t nrf_qdec_accdblread_get (void)
 Function for retrieving the value of QDEC's ACCDBLREAD register. More...
 
__STATIC_INLINE void nrf_qdec_ledpre_set (uint32_t time_us)
 Function for setting how long the LED is switched on before sampling. More...
 
__STATIC_INLINE uint32_t nrf_qdec_ledpre_get (void)
 Function for retrieving how long the LED is switched on before sampling. More...
 
__STATIC_INLINE void nrf_qdec_reportper_set (nrf_qdec_reportper_t reportper)
 Function for setting the report period (in samples). More...
 
__STATIC_INLINE uint32_t nrf_qdec_reportper_reg_get (void)
 Function for retrieving the report period. More...
 
__STATIC_INLINE uint32_t nrf_qdec_reportper_to_value (uint32_t reportper)
 Function for retrieving the value of QDEC's SAMPLEPER register. More...
 
__STATIC_INLINE void nrf_qdec_ledpol_set (nrf_qdec_ledpol_t pol)
 Function for setting the active level for the LED. More...
 
__STATIC_INLINE uint32_t nrf_qdec_ledpol_get (void)
 Function for retrieving the active level for the LED. More...
 

Detailed Description

Hardware abstraction layer for accessing the quadrature decoder (QDEC) peripheral.

Enumeration Type Documentation

States of the debounce filter enable bit.

Enumerator
NRF_QDEC_DBFEN_DISABLE 

Mask for disabling the debounce filter.

NRF_QDEC_DBFEN_ENABLE 

Mask for enabling the debounce filter.

States of the enable bit.

Enumerator
NRF_QDEC_DISABLE 

Mask for disabling the QDEC periperal. When disabled, the QDEC decoder pins are not active.

NRF_QDEC_ENABLE 

Mask for enabling the QDEC periperal. When enabled, the QDEC pins are active.

QDEC events.

Enumerator
NRF_QDEC_EVENT_SAMPLERDY 

Event generated for every new sample.

NRF_QDEC_EVENT_REPORTRDY 

Event generated for every new report.

NRF_QDEC_EVENT_ACCOF 

Event generated for every accumulator overflow.

QDEC interrupts.

Enumerator
NRF_QDEC_INT_SAMPLERDY_MASK 

Mask for enabling or disabling an interrupt on SAMPLERDY event.

NRF_QDEC_INT_REPORTRDY_MASK 

Mask for enabling or disabling an interrupt on REPORTRDY event.

NRF_QDEC_INT_ACCOF_MASK 

Mask for enabling or disabling an interrupt on ACCOF event.

Active LED polarity.

Enumerator
NRF_QDEC_LEPOL_ACTIVE_LOW 

QDEC LED active on output pin low.

NRF_QDEC_LEPOL_ACTIVE_HIGH 

QDEC LED active on output pin high.

QDEC peripheral input/output pins.

Enumerator
NRF_QDEC_PIO_PSELLED 

QDEC LED output pin.

NRF_QDEC_PIO_PSELA 

QDEC A input pin.

NRF_QDEC_PIO_PSELB 

QDEC B input pin.

Available report periods.

Enumerator
NRF_QDEC_REPORTPER_10 

QDEC report period 10 samples.

NRF_QDEC_REPORTPER_40 

QDEC report period 40 samples.

NRF_QDEC_REPORTPER_80 

QDEC report period 80 samples.

NRF_QDEC_REPORTPER_120 

QDEC report period 120 samples.

NRF_QDEC_REPORTPER_160 

QDEC report period 160 samples.

NRF_QDEC_REPORTPER_200 

QDEC report period 200 samples.

NRF_QDEC_REPORTPER_240 

QDEC report period 240 samples.

NRF_QDEC_REPORTPER_280 

QDEC report period 280 samples.

NRF_QDEC_REPORTPER_DISABLED 

QDEC reporting disabled.

Available sampling periods.

Enumerator
NRF_QDEC_SAMPLEPER_128us 

QDEC sampling period 128 microseconds.

NRF_QDEC_SAMPLEPER_256us 

QDEC sampling period 256 microseconds.

NRF_QDEC_SAMPLEPER_512us 

QDEC sampling period 512 microseconds.

NRF_QDEC_SAMPLEPER_1024us 

QDEC sampling period 1024 microseconds.

NRF_QDEC_SAMPLEPER_2048us 

QDEC sampling period 2048 microseconds.

NRF_QDEC_SAMPLEPER_4096us 

QDEC sampling period 4096 microseconds.

NRF_QDEC_SAMPLEPER_8192us 

QDEC sampling period 8192 microseconds.

NRF_QDEC_SAMPLEPER_16384us 

QDEC sampling period 16384 microseconds.

QDEC shortcuts.

Enumerator
NRF_QDEC_SHORT_REPORTRDY_READCLRACC_MASK 

Shortcut between REPORTRDY event and READCLRACC task.

NRF_QDEC_SHORT_SAMPLERDY_STOP_MASK 

Shortcut between SAMPLERDY event and STOP task.

QDEC tasks.

Enumerator
NRF_QDEC_TASK_START 

Starting the quadrature decoder.

NRF_QDEC_TASK_STOP 

Stopping the quadrature decoder.

NRF_QDEC_TASK_READCLRACC 

Reading and clearing ACC and ACCDBL registers.

Function Documentation

__STATIC_INLINE int32_t nrf_qdec_acc_get ( void  )

Function for retrieving the value of QDEC's ACC register.

Returns
Value of the ACC register.
__STATIC_INLINE uint32_t nrf_qdec_accdbl_get ( void  )

Function for retrieving the value of QDEC's ACCDBL register.

Returns
Value of the ACCDBL register.
__STATIC_INLINE uint32_t nrf_qdec_accdblread_get ( void  )

Function for retrieving the value of QDEC's ACCDBLREAD register.

Returns
Value of the ACCDBLREAD register.
__STATIC_INLINE int32_t nrf_qdec_accread_get ( void  )

Function for retrieving the value of QDEC's ACCREAD register.

Returns
Value of the ACCREAD register.
__STATIC_INLINE uint32_t nrf_qdec_dbfen_get ( void  )

Function for getting the state of the QDEC's debouncing filter.

Return values
NRF_QDEC_DBFEN_DISABLEIf the debouncing filter is disabled.
NRF_QDEC_DBFEN_ENABLEIf the debouncing filter is enabled.
__STATIC_INLINE uint32_t nrf_qdec_enable_get ( void  )

Function for returning the enable state of QDEC.

Returns
State of the register.
__STATIC_INLINE uint32_t* nrf_qdec_event_address_get ( nrf_qdec_event_t  qdec_event)

Function for retrieving the address of a specific QDEC event register.

Parameters
[in]qdec_eventQDEC event.
Returns
Address of the specified QDEC event.
__STATIC_INLINE uint32_t nrf_qdec_event_check ( nrf_qdec_event_t  qdec_event)

Function for retrieving the state of a specific QDEC event.

Returns
State of the QDEC event.
__STATIC_INLINE void nrf_qdec_event_clear ( nrf_qdec_event_t  qdec_event)

Function for clearing a specific QDEC event.

Parameters
[in]qdec_eventQDEC event to clear.
__STATIC_INLINE void nrf_qdec_int_disable ( uint32_t  qdec_int_mask)

Function for disabling QDEC interrupts by mask.

Parameters
[in]qdec_int_maskSources of the interrupts to disable.
__STATIC_INLINE void nrf_qdec_int_enable ( uint32_t  qdec_int_mask)

Function for enabling QDEC interrupts by mask.

Parameters
[in]qdec_int_maskSources of the interrupts to enable.
__STATIC_INLINE uint32_t nrf_qdec_ledpol_get ( void  )

Function for retrieving the active level for the LED.

Returns
Active level for the LED.
__STATIC_INLINE void nrf_qdec_ledpol_set ( nrf_qdec_ledpol_t  pol)

Function for setting the active level for the LED.

Parameters
[in]polActive level for the LED.
__STATIC_INLINE uint32_t nrf_qdec_ledpre_get ( void  )

Function for retrieving how long the LED is switched on before sampling.

Return values
time_usTime (in microseconds) how long the LED is switched on before sampling.
__STATIC_INLINE void nrf_qdec_ledpre_set ( uint32_t  time_us)

Function for setting how long the LED is switched on before sampling.

Parameters
[in]time_usTime (in microseconds) how long the LED is switched on before sampling.
__STATIC_INLINE uint32_t nrf_qdec_pio_assign ( nrf_qdec_pio_t  qdec_pio,
uint32_t  pin_number 
)

Function for assigning QDEC pins.

Parameters
[in]qdec_pioFunction of the pin.
[in]pin_numberPin number.
Return values
NRF_SUCCESSIf the function could be assigned to the pin successfully.
NRF_ERROR_INVALID_PARAMIf the input parameters are invalid.
__STATIC_INLINE uint32_t nrf_qdec_pio_assignment_get ( nrf_qdec_pio_t  qdec_pio,
uint32_t *  p_pin_number 
)

Function for retrieving the assigned pin number for a pio function.

Parameters
[in]qdec_pioFunction of the the pin.
[out]p_pin_numberPointer to the pin number.
Return values
NRF_SUCCESSIf the pin number could be retrieved successfully.
NRF_ERROR_INVALID_PARAMIf the input parameter is invalid.
NRF_ERROR_NULLIf no pin number is assigned.
__STATIC_INLINE uint32_t nrf_qdec_reportper_reg_get ( void  )

Function for retrieving the report period.

Return values
reportperNumber of samples as encoded in the register.
__STATIC_INLINE void nrf_qdec_reportper_set ( nrf_qdec_reportper_t  reportper)

Function for setting the report period (in samples).

Parameters
[in]reportperNumber of samples.
__STATIC_INLINE uint32_t nrf_qdec_reportper_to_value ( uint32_t  reportper)

Function for retrieving the value of QDEC's SAMPLEPER register.

Parameters
[in]reportperReportper to be converted to amount of samples per report.
__STATIC_INLINE int32_t nrf_qdec_sample_get ( void  )

Function for retrieving the value of QDEC's SAMPLE register.

Returns
Value of the SAMPLE register.
__STATIC_INLINE int32_t nrf_qdec_sampleper_reg_get ( void  )

Function for retrieving the value of QDEC's SAMPLEPER register.

Returns
Value of the SAMPLEPER register.
__STATIC_INLINE void nrf_qdec_sampleper_set ( nrf_qdec_sampleper_t  sample_per)

Function for setting the value of QDEC's SAMPLEPER register.

Parameters
[in]sample_perSampling period.
__STATIC_INLINE uint32_t nrf_qdec_sampleper_to_value ( uint32_t  sampleper)

Function for converting the value of QDEC's SAMPLE PERIOD to microseconds.

Return values
samplingperiod in microseconds.
__STATIC_INLINE void nrf_qdec_shorts_disable ( uint32_t  qdec_short_mask)

Function for clearing shortcuts of the QDEC by mask.

Parameters
[in]qdec_short_maskQDEC shortcute to be cleared.
__STATIC_INLINE void nrf_qdec_shorts_enable ( uint32_t  qdec_short_mask)

Function for setting QDEC shortcuts.

Parameters
[in]qdec_short_maskQDEC shortcut by mask.
__STATIC_INLINE uint32_t* nrf_qdec_task_address_get ( nrf_qdec_task_t  qdec_task)

Function for retrieving the address of a QDEC task register.

Parameters
[in]qdec_taskQDEC task.
__STATIC_INLINE void nrf_qdec_task_trigger ( nrf_qdec_task_t  qdec_task)

Function for setting a specific QDEC task.

Parameters
[in]qdec_taskQDEC task to be set.