PushToGo on STM32F429-Disco Board

Dependencies:   BSP_DISCO_F429ZI LCD_DISCO_F429ZI pushtogo usb

AdaptiveAxis.h

Committer:
caoyu@caoyuan9642-desktop.MIT.EDU
Date:
2018-09-23
Revision:
8:f0455a1d4709
Parent:
1:64c1fd738059

File content as of revision 8:f0455a1d4709:

/*
 * AdaptiveAxis.h
 *
 *  Created on: 2018Äê2ÔÂ24ÈÕ
 *      Author: caoyuan9642
 */

#ifndef PUSHTOGO_ADAPTIVEAXIS_H_
#define PUSHTOGO_ADAPTIVEAXIS_H_

#include <Axis.h>

/**
 * Implements class Axis that allows different modes for slewing and tracking
 */
class AdaptiveAxis: public Axis
{
public:
	AdaptiveAxis(double stepsPerDeg, StepperMotor *stepper, const char *name =
			"Axis") :
			Axis(stepsPerDeg, stepper, name)
	{
		idle_mode(); // Initialize as IDLE
	}
	virtual ~AdaptiveAxis()
	{
	}

protected:

	void slew_mode();
	void track_mode();
	void correction_mode();
	void idle_mode();
};

#endif /* PUSHTOGO_ADAPTIVEAXIS_H_ */