Initial commit
This commit is contained in:
46
Clean_TMC2209/lib/tmc/hal/Timer.h
Normal file
46
Clean_TMC2209/lib/tmc/hal/Timer.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*******************************************************************************
|
||||
* Copyright © 2019 TRINAMIC Motion Control GmbH & Co. KG
|
||||
* (now owned by Analog Devices Inc.),
|
||||
*
|
||||
* Copyright © 2023 Analog Devices Inc. All Rights Reserved. This software is
|
||||
* proprietary & confidential to Analog Devices, Inc. and its licensors.
|
||||
*******************************************************************************/
|
||||
|
||||
|
||||
#ifndef TIMER_H_
|
||||
#define TIMER_H_
|
||||
|
||||
#include "derivative.h"
|
||||
|
||||
#if defined(Landungsbruecke) || defined(LandungsbrueckeSmall)
|
||||
#define TIMER_MAX 8000
|
||||
#elif defined(LandungsbrueckeV3)
|
||||
#define TIMER_MAX 65535
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
TIMER_CHANNEL_1,
|
||||
TIMER_CHANNEL_2,
|
||||
TIMER_CHANNEL_3,
|
||||
TIMER_CHANNEL_4,
|
||||
TIMER_CHANNEL_5
|
||||
} timer_channel;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
bool initialized;
|
||||
void (*init) (void);
|
||||
void (*deInit) (void);
|
||||
void (*setDuty) (timer_channel channel, float duty);
|
||||
float (*getDuty) (timer_channel channel);
|
||||
void (*setPeriod) (timer_channel channel, uint16_t period);
|
||||
uint16_t (*getPeriod) (timer_channel channel);
|
||||
void (*setPeriodMin) (timer_channel channel, uint16_t period_min);
|
||||
void (*setFrequency) (timer_channel channel, float freq);
|
||||
void (*setFrequencyMin) (timer_channel channel, float freq_min);
|
||||
void (*overflow_callback) (timer_channel channel);
|
||||
} TimerTypeDef;
|
||||
|
||||
extern TimerTypeDef Timer;
|
||||
|
||||
#endif /* TIMER_H_ */
|
||||
Reference in New Issue
Block a user