TM STM32Fxxx HAL Libraries  v1.0.0
Libraries for STM32Fxxx (F0, F4 and F7 series) devices based on HAL drivers from ST from Tilen Majerle
tm_stm32_rotary_encoder.h
1 
37 #ifndef TM_RE_H
38 #define TM_RE_H 100
39 
80 #include "stm32fxxx_hal.h"
81 #include "defines.h"
82 #include "tm_stm32_gpio.h"
83 #include "tm_stm32_exti.h"
84 
94 typedef enum {
99 
103 typedef enum {
106 } TM_RE_Mode_t;
107 
111 typedef struct {
112  int32_t Absolute;
113  int32_t Diff;
116  uint8_t LastA;
117  int32_t RE_Count;
118  GPIO_TypeDef* GPIO_A;
119  GPIO_TypeDef* GPIO_B;
120  uint16_t GPIO_PIN_A;
121  uint16_t GPIO_PIN_B;
122 } TM_RE_t;
123 
139 void TM_RE_Init(TM_RE_t* data, GPIO_TypeDef* GPIO_A_Port, uint16_t GPIO_A_Pin, GPIO_TypeDef* GPIO_B_Port, uint16_t GPIO_B_Pin);
140 
147 void TM_RE_SetMode(TM_RE_t* data, TM_RE_Mode_t mode);
148 
155 
162 void TM_RE_Process(TM_RE_t* data);
163 
176 #endif
177 
178 
int32_t Diff
Definition: tm_stm32_rotary_encoder.h:113
GPIO_TypeDef * GPIO_B
Definition: tm_stm32_rotary_encoder.h:119
TM_RE_Mode_t
Rotary encoder mode selection for rotation.
Definition: tm_stm32_rotary_encoder.h:103
uint8_t LastA
Definition: tm_stm32_rotary_encoder.h:116
TM_RE_Rotate_t Rotation
Definition: tm_stm32_rotary_encoder.h:114
uint16_t GPIO_PIN_B
Definition: tm_stm32_rotary_encoder.h:121
void TM_RE_Process(TM_RE_t *data)
Process function.
TM_RE_Rotate_t
Rotary encoder rotation status.
Definition: tm_stm32_rotary_encoder.h:94
Definition: tm_stm32_rotary_encoder.h:104
Definition: tm_stm32_rotary_encoder.h:95
TM_RE_Rotate_t TM_RE_Get(TM_RE_t *data)
Checks and gets new values of rotary encoder.
uint16_t GPIO_PIN_A
Definition: tm_stm32_rotary_encoder.h:120
Definition: tm_stm32_rotary_encoder.h:97
Definition: tm_stm32_rotary_encoder.h:96
void TM_RE_SetMode(TM_RE_t *data, TM_RE_Mode_t mode)
Set rotary encoder custom mode.
Rotary main working structure.
Definition: tm_stm32_rotary_encoder.h:111
int32_t Absolute
Definition: tm_stm32_rotary_encoder.h:112
int32_t RE_Count
Definition: tm_stm32_rotary_encoder.h:117
GPIO_TypeDef * GPIO_A
Definition: tm_stm32_rotary_encoder.h:118
void TM_RE_Init(TM_RE_t *data, GPIO_TypeDef *GPIO_A_Port, uint16_t GPIO_A_Pin, GPIO_TypeDef *GPIO_B_Port, uint16_t GPIO_B_Pin)
Prepare Rotary Encoder to work.
Definition: tm_stm32_rotary_encoder.h:105
TM_RE_Mode_t Mode
Definition: tm_stm32_rotary_encoder.h:115