| nRF5 SDK v12.0.0 |

Choose documentation: | nRF5 SDK | S130 SoftDevice API | S132 SoftDevice API | S212 SoftDevice API | S332 SoftDevice API

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Enumerations | Functions
QDEC HAL
QDEC HAL and driver

Hardware access 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_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 void | nrf_qdec_pio_assign (uint32_t psela, uint32_t pselb, uint32_t pselled)
| Function for assigning QDEC pins. 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 access layer for accessing the quadrature decoder (QDEC) peripheral.

## Enumeration Type Documentation

enum nrf_qdec_dbfen_t

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.

enum nrf_qdec_enable_t

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.

enum nrf_qdec_event_t

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.

enum nrf_qdec_int_mask_t

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.

enum nrf_qdec_ledpol_t

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.

enum nrf_qdec_reportper_t

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.

enum nrf_qdec_sampleper_t

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.

enum nrf_qdec_short_mask_t

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.

enum nrf_qdec_task_t

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_DISABLE | If the debouncing filter is disabled.
  NRF_QDEC_DBFEN_ENABLE | If 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_event | QDEC 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_event | QDEC 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_mask | Sources 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_mask | Sources 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] | pol | Active 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_us | Time (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_us | Time (in microseconds) how long the LED is switched on before sampling.

__STATIC_INLINE void nrf_qdec_pio_assign | ( | uint32_t | psela,
|  | uint32_t | pselb,
|  | uint32_t | pselled
| ) |  |

Function for assigning QDEC pins.

Parameters

  [in] | psela | Pin number.
  [in] | pselb | Pin number.
  [in] | pselled | Pin number.

__STATIC_INLINE uint32_t nrf_qdec_reportper_reg_get | ( | void |  | ) |

Function for retrieving the report period.

Return values

  reportper | Number 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] | reportper | Number 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] | reportper | Reportper 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_per | Sampling 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

  sampling | period 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_mask | QDEC 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_mask | QDEC 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_task | QDEC task.

__STATIC_INLINE void nrf_qdec_task_trigger | ( | nrf_qdec_task_t | qdec_task | ) |

Function for setting a specific QDEC task.

Parameters

  [in] | qdec_task | QDEC task to be set.