Files
MyOwnEtherCATDevice/Firmware/include/StepGen.h
2024-01-17 00:24:17 +01:00

37 lines
1015 B
C++
Executable File

#ifndef STEPGEN
#define STEPGEN
#include <HardwareTimer.h>
class StepGen
{
public:
volatile uint8_t timerIsRunning;
volatile int32_t timerStepPosition;
volatile int32_t timerStepDirection;
volatile int32_t timerStepPositionAtEnd;
volatile int32_t timerNewEndStepPosition;
volatile uint32_t timerNewCycleTime;
volatile double_t actualPosition;
volatile double_t requestedPosition;
HardwareTimer *MyTim;
uint16_t stepsPerMM;
static uint32_t sync0CycleTime;
uint8_t dirPin;
PinName stepPin;
uint32_t timerChan;
const uint32_t maxFreq = 100000;
volatile uint32_t prevFreq1 = 0;
volatile uint32_t prevFreq2 = 0;
StepGen(TIM_TypeDef *Timer, uint32_t timerChannel, PinName stepPin, uint8_t dirPin, void irq(void));
void reqPos(double_t pos);
double reqPos();
void actPos(double_t pos);
double actPos();
void handleStepper(void);
void timerCB();
void setScale(int16_t spm);
};
#endif