Going for test in the lathe

This commit is contained in:
Hakan Bastedt
2024-02-13 10:49:57 +01:00
parent cbae816bd9
commit 2b2be4f63d
3 changed files with 58 additions and 49 deletions

View File

@@ -5,23 +5,23 @@
class StepGen2
{
private:
public:
volatile double_t actualPosition;
volatile int32_t nSteps;
volatile uint32_t timerPulseSteps;
volatile uint32_t timerFrequency;
public:
volatile float Tstartf; // Starting delay in secs
volatile uint32_t Tstartu; // Starting delay in usecs
private:
public:
volatile float Tstartf; // Starting delay in secs
volatile uint32_t Tstartu; // Starting delay in usecs
volatile float Tpulses; // Time it takes to do pulses. Debug
const float maxAllowedFrequency = 100000; // 100 kHz for now
HardwareTimer *pulseTimer;
uint32_t pulseTimerChan;
HardwareTimer *startTimer; // 10,11,13,14
uint8_t dirPin;
PinName stepPin;
const float Tjitter = 500.0; // Time unit is microseconds
const uint32_t Tjitter = 500; // Time unit is microseconds
uint64_t dbg;
public:
@@ -38,10 +38,19 @@ public:
StepGen2(TIM_TypeDef *Timer, uint32_t _timerChannel, PinName _stepPin, uint8_t _dirPin, void irq(void), TIM_TypeDef *Timer2, void irq2(void));
uint32_t handleStepper(uint64_t irqTime/* time for irq nanosecs */);
uint32_t handleStepper(uint64_t irqTime /* time for irq nanosecs */);
void startTimerCB();
void pulseTimerCB();
uint32_t updatePos(uint32_t i);
};
class extend32to64
{
public:
int64_t previousTimeValue = 0;
const uint64_t ONE_PERIOD = 4294967296; // almost UINT32_MAX;
const uint64_t HALF_PERIOD = 2147483648;
int64_t extendTime(uint32_t in);
};
#endif