C_LINKAGE void yggdrasil_TIM_Disable(tim_t tim)
Timer disable.
Definition: timer.cpp:52
@ EncoderDirection_CounterClockwise
Definition: timer.h:228
@ EncoderDirection_Clockwise
Definition: timer.h:227
Commonly used type definitions and helper templates.
C_LINKAGE void yggdrasil_ProfileCounter_Start(tim_t tim)
Start the counter.
Definition: timer.cpp:304
uint8_t u8
Unsigned integer definitions.
Definition: types.h:36
C_LINKAGE u32 yggdrasil_TIM_GetPwmFrequency(tim_t tim)
Get the pwm frequency.
Definition: timer.cpp:95
TIM_HandleTypeDef * interface
Definition: timer.h:34
C_LINKAGE bool yggdrasil_TIM_Channel_SetDutyCycle(tim_channel_t channel, float dutyCycle)
Set the duty cycle as a float value.
Definition: timer.cpp:240
Timer handle type.
Definition: timer.h:33
C_LINKAGE bool yggdrasil_TIM_Channel_StopPwm(tim_channel_t channel)
Stop PWM generation for the channel.
Definition: timer.cpp:203
C_LINKAGE bool yggdrasil_TIM_Channel_SetPolarityHigh(tim_channel_t channel, bool highActive)
Start set pwm polarity.
Definition: timer.cpp:216
EncoderMode
Modes for the encoder, 48 odr 96 steps per turn are possible.
Definition: timer.h:234
uint64_t u64
Definition: types.h:39
size_t size
Definition: timer.h:35
C_LINKAGE bool yggdrasil_TIM_Deinit(tim_t tim)
Timer deinitialization.
Definition: timer.cpp:44
C_LINKAGE void yggdrasil_ProfileCounter_Reset(tim_t tim)
Reset the counter to 0.
Definition: timer.cpp:312
C_LINKAGE bool yggdrasil_Encoder_Init(tim_t tim)
Initialization function for the encoder.
Definition: timer.cpp:353
C_LINKAGE u64 yggdrasil_ProfileCounter_GetTimeToOverflow(tim_t tim)
Get the time to an overflow.
Definition: timer.cpp:316
C_LINKAGE bool yggdrasil_Encoder_Enable(tim_t tim)
Enable the encoder mode.
Definition: timer.cpp:361
C_LINKAGE bool yggdrasil_TIM_SetPwmFrequency(tim_t tim, u32 f_hz, u32 resolution)
Set the pwm frequency and (optional) the maximal ticks within on cycle for all channels.
Definition: timer.cpp:119
C_LINKAGE bool yggdrasil_TIM_Init(tim_t tim)
Timer initialization.
Definition: timer.cpp:40
uint32_t u32
Definition: types.h:38
C_LINKAGE void yggdrasil_Encoder_SetMode(tim_t tim, enum EncoderMode mode)
Set the mode of the encoder (48 or 96 counts per turn)
Definition: timer.cpp:388
C_LINKAGE void yggdrasil_Encoder_SetCount(tim_t tim, u32 cnt)
Set the encoder counter value.
Definition: timer.cpp:379
C_LINKAGE u32 yggdrasil_TIM_GetCount(tim_t tim)
Get the counter value.
Definition: timer.cpp:56
C_LINKAGE void yggdrasil_ProfileCounter_Stop(tim_t tim)
Stop the counter.
Definition: timer.cpp:308
u8 channel
Definition: timer.h:43
EncoderDirection
Last known turning direction of the encoder.
Definition: timer.h:226
Timer channel handle type.
Definition: timer.h:41
C_LINKAGE u64 yggdrasil_ProfileCounter_GetPassedTime(tim_t tim)
Get the time passed time since the start.
Definition: timer.cpp:324
C_LINKAGE enum EncoderDirection yggdrasil_Encoder_GetDirection(tim_t tim)
Get the direction of the last rotation.
Definition: timer.cpp:383
C_LINKAGE void yggdrasil_TIM_Enable(tim_t tim)
Timer enable.
Definition: timer.cpp:48
C_LINKAGE bool yggdrasil_Encoder_Disable(tim_t tim)
Disable the encoder mode.
Definition: timer.cpp:368
C_LINKAGE void yggdrasil_TIM_ResetCount(tim_t tim)
Reset the counter value.
Definition: timer.cpp:64
C_LINKAGE void yggdrasil_ProfileCounter_GetFormattedPassedTime(tim_t tim, char *buffer, size_t size)
Get the time passed time since the start.
Definition: timer.cpp:328
@ EncoderMode_96StepsPerTurn
Definition: timer.h:236
tim_t timer
Definition: timer.h:42
C_LINKAGE void yggdrasil_TIM_SetCount(tim_t tim, u32 cnt)
Set the counter value.
Definition: timer.cpp:60
#define C_LINKAGE
Definition: attributes.h:43
C_LINKAGE u32 yggdrasil_Encoder_GetCount(tim_t tim)
Get the counter value.
Definition: timer.cpp:375
C_LINKAGE void yggdrasil_ProfileCounter_GetFormattedTimeToOverflow(tim_t tim, char *buffer, size_t size)
Get the time to an overflow formatted as a string.
Definition: timer.cpp:320
@ EncoderMode_48StepsPerTurn
Definition: timer.h:235
C_LINKAGE bool yggdrasil_TIM_Channel_StartPwm(tim_channel_t channel)
Start PWM generation for the channel.
Definition: timer.cpp:190