Compare commits
1 Commits
Dev
...
fc22e4a984
| Author | SHA1 | Date | |
|---|---|---|---|
| fc22e4a984 |
@@ -18,10 +18,8 @@ typedef struct DS_Encoder
|
|||||||
uint32_t PrevTick;
|
uint32_t PrevTick;
|
||||||
|
|
||||||
uint8_t ValueSignal1, ValueSignal2;
|
uint8_t ValueSignal1, ValueSignal2;
|
||||||
TIM_HandleTypeDef *hTim;
|
|
||||||
}DS_Encoder;
|
}DS_Encoder;
|
||||||
|
|
||||||
void DS_EncoderInitTim(DS_Encoder *Encoder, TIM_HandleTypeDef *hTim);
|
|
||||||
|
|
||||||
void DS_EncoderInit(DS_Encoder *Encoder, GPIO_TypeDef* PortEncSignal1, uint16_t PinEncSignal1, GPIO_TypeDef* PortEncSignal2, uint16_t PinEncSignal2);
|
void DS_EncoderInit(DS_Encoder *Encoder, GPIO_TypeDef* PortEncSignal1, uint16_t PinEncSignal1, GPIO_TypeDef* PortEncSignal2, uint16_t PinEncSignal2);
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,7 @@
|
|||||||
#include "Encoder.h"
|
#include "Encoder.h"
|
||||||
|
|
||||||
void DS_EncoderInitTim(DS_Encoder *Encoder, TIM_HandleTypeDef *hTim)
|
|
||||||
{
|
|
||||||
Encoder->hTim = hTim;
|
|
||||||
Encoder->State = 0;
|
|
||||||
HAL_TIM_Base_Start(hTim);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void DS_EncoderInit(DS_Encoder *Encoder, GPIO_TypeDef *PortEncSignal1, uint16_t PinEncSignal1, GPIO_TypeDef *PortEncSignal2, uint16_t PinEncSignal2)
|
void DS_EncoderInit(DS_Encoder *Encoder, GPIO_TypeDef *PortEncSignal1, uint16_t PinEncSignal1, GPIO_TypeDef *PortEncSignal2, uint16_t PinEncSignal2)
|
||||||
{
|
{
|
||||||
Encoder->hTim = 0;
|
|
||||||
Encoder->Direction = 0;
|
Encoder->Direction = 0;
|
||||||
Encoder->State = 0;
|
Encoder->State = 0;
|
||||||
Encoder->PrevTick = HAL_GetTick();
|
Encoder->PrevTick = HAL_GetTick();
|
||||||
@@ -78,21 +69,7 @@ void DS_EncoderUpdate(DS_Encoder *Encoder)
|
|||||||
|
|
||||||
int8_t DS_EncoderGetState(DS_Encoder *Encoder)
|
int8_t DS_EncoderGetState(DS_Encoder *Encoder)
|
||||||
{
|
{
|
||||||
if (Encoder->hTim != 0)
|
int8_t ValueToReturn = Encoder->State;
|
||||||
{
|
Encoder->State = 0;
|
||||||
int8_t CurrentCounter = Encoder->hTim->Instance->CNT / 4;
|
return ValueToReturn;
|
||||||
int8_t ValueToReturn = CurrentCounter - Encoder->State;
|
|
||||||
Encoder->State = CurrentCounter;
|
|
||||||
|
|
||||||
return ValueToReturn;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int8_t ValueToReturn = Encoder->State;
|
|
||||||
Encoder->State = 0;
|
|
||||||
return ValueToReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user