HAL  v0.6.1
Hardware Abstraction Layer
Loading...
Searching...
No Matches
hal_qei.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include "hal_gpio.h"
Include dependency graph for hal_qei.h:

Data Structures

struct  qei_data_t
 
struct  qei_channel_attr_t
 
struct  qei_handle_t
 

Typedefs

typedef void(* hal_qei_callback) (const uint8_t channel, const uint8_t flag)
 Index interrupt callback function prototype.
 

Enumerations

enum  qei_result_t {
  QEI_RESULT_OK ,
  QEI_RESULT_INVALID ,
  QEI_RESULT_UNSUPPORTED ,
  QEI_RESULT_ERR ,
  TOTAL_QEI_RESULT
}
 
enum  qei_status_t {
  QEI_STATUS_UNKNOWN ,
  QEI_STATUS_OK ,
  QEI_STATUS_BUSY ,
  QEI_STATUS_STOP ,
  QEI_STATUS_ERR ,
  TOTAL_QEI_STATUS
}
 
enum  qei_reset_mode_t {
  QEI_RESET_MODE_NONE ,
  QEI_RESET_MODE_HOME_EVENT ,
  QEI_RESET_MODE_INDEX_EVENT ,
  TOTAL_QEI_RESET_MODE
}
 
enum  qei_direction_t {
  QEI_DIRECTION_NONE ,
  QEI_DIRECTION_FORWARD ,
  QEI_DIRECTION_REVERSE ,
  TOTAL_QEI_DIRECTION
}
 
enum  qei_interrupt_t {
  QEI_INTERRUPT_HOME ,
  QEI_INTERRUPT_INDEX ,
  QEI_INTERRUPT_OVERFLOW ,
  QEI_INTERRUPT_LOWER_LIMIT ,
  QEI_INTERRUPT_UPPER_LIMIT ,
  TOTAL_QEI_INTERRUPT
}
 

Functions

qei_result_t hal_qei_init (qei_handle_t *handle, const qei_channel_attr_t attr, const hal_qei_callback callback)
 Configure QEI channel.
 
int32_t hal_qei_get_counter (qei_handle_t *handle)
 Get encoder counter value.
 
qei_result_t hal_qei_set_counter (qei_handle_t *handle, const int32_t value)
 Set encoder counter to specified value.
 
qei_result_t hal_qei_reset_counter (qei_handle_t *handle)
 Reset encoder counter value to zero.
 
qei_result_t hal_qei_start (qei_handle_t *handle)
 Enable QEI channel.
 
qei_result_t hal_qei_stop (qei_handle_t *handle)
 Disable QEI channel.