12345678910111213141516171819202122232425262728293031323334 |
- #pragma once
- #include "TeensyStep.h"
-
- class Winder
- {
- public:
- Winder(Stepper &spindle, Stepper &feeder);
- void begin();
- Winder &setSpindleParams(unsigned stpPerRev, unsigned acceleration);
- Winder &setFeederParams(unsigned stpPerMM, unsigned acceleration);
- void setSpindleSpeed(float rpm);
- void setPitch(float pitch_in_mm);
- void updateSpeeds();
- inline int getCurSpindleSpeed() { return spindleCtrl.isRunning() ? spindleCtrl.getCurrentSpeed() : 0; }
- inline int getCurFeederSpeed() { return feederCtrl.isRunning() ? feederCtrl.getCurrentSpeed() : 0; }
- inline float getCurPitch(){return (float)getCurFeederSpeed()/getCurSpindleSpeed()/pitchFactor; }
- protected:
- Stepper &spindle;
- Stepper &feeder;
- unsigned spindleStpPerRev, spindleAcc, feederStpPerMM, feederAcc;
- float pitchFactor;
- float targetSpindleSpeed, targetPitch;
- float oldSpindleSpeed, oldPitch;
- RotateControl feederCtrl, spindleCtrl;
- };
|