Template for LPC1768

Dependencies:   Gimbal MLX90620 Socket lwip-eth lwip-sys lwip mbed-rtos mbed

Fork of EkkoEye by EkkoSense

Revision:
54:aaf6b5ceedd8
Parent:
53:72f350a6d09c
diff -r 72f350a6d09c -r aaf6b5ceedd8 CGimbal.h
--- a/CGimbal.h	Thu Apr 14 13:45:38 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
- * CGimbal.h
- *
- *  Created on: 15 Feb 2016
- *      Author: mike
- */
-#ifndef CGIMBAL_H_
-#define CGIMBAL_H_
-
-#include "mbed.h"
-
-#define FORWARD	0				// Used for the direction pin
-#define REVERSE 1				// Used for the direction pin
-#define	CLOCKWISE 0				// Used for the direction pin
-#define	ANTICLOCKWISE 1			// Used for the direction pin
-#define DFT_STEP_PULSE 0.00002	// 20us is recommended pulse width for most stepper drivers
-#define X_AXIS 0				// Used for Tour array indexing
-#define	Y_AXIS 1				// Used for Tour array indexing
-#define NUM_AXES 2				// Used for Tour array indexing
-#define DEGREES_PER_STEP 	.1125	//	0.45 & 200 steps per revolution give 360/3200 degrees per step (1/16microsteps)
-#define	DFT_STEP_INTERVAL	250 // Normal time interval between pulses (5ms =  250 * 20us)
-#define	HOME_STEP_INTERVAL	500 // Moves more slowly when homing (10ms = 250 * 20us)
-#define MAX_TOUR 10				// Maximum number of way-points that can be performed in a single tour
-
-class CGimbal
-{
-	public:
-
-	DigitalOut * m_pXStepPin;					//	Pointer to the X axis step pin
-	DigitalOut * m_pXDirPin;					//	Pointer to the Y axis step pin
-	DigitalOut * m_pYStepPin;					//	Pointer to the X axis direction pin
-	DigitalOut * m_pYDirPin;					//	Pointer to the Y axis direction pin
-
-	//	Constructor
-	CGimbal(DigitalOut * pXStepPin, DigitalOut * pXDirPin, DigitalOut * pYStepPin, DigitalOut * pYDirPin);
-
-	//	Destructor
-	~CGimbal();
-
-	void Zero(void);
-	void Home(void);							//	Move to the Home position
-	int MoveRel();								//	Move (x, y) relative to current position
-	int MoveAbs(float x, float y);				//	Move to Absolute (x,y) position
-	int	RotateAbs(float xAngle, float yAngle);	//	Rotate to Absolute (x,y) angle in degrees
-	int TourPoint(int n);							//	Execute a tour using n stored waypoints
-	void MeanderScan(void);						//	Perform a full sweep at increments of (60, 15) degrees
-
-	int	m_StepInterval;							//	The time in 10us increments between each Step pulse (ie 100 = 1ms)
-	int m_AbsoluteXPos;							//	The current motor x axis position in steps (800 per revolution)
-	int m_AbsoluteYPos;							//	The current motor y axis position in steps (800 per revolution)
-
-	float m_AbsoluteXAngle;						//	The current motor x axis angle in degrees
-	float m_AbsoluteYAngle;						//	The current motor y axis angle in degrees
-
-	int m_xSteps;								//	Tracks the number of required x steps (+/-) when moving relative or absolute
-	int m_ySteps;								//	Tracks the number of required y steps (+/-) when moving relative or absolute
-	int m_xPulses;								//	Tracks the number of required x pulses when moving (always a positive value)
-	int m_yPulses;								//	Tracks the number of required y pulses when moving (always a positive value)
-	int	m_xDir;									//	X Direction: Used internally when moving, calculated from m_xSteps 1 to move ccw, 0 to move cw
-	int	m_yDir;									//	Y Direction: Used internally when moving, calculated from m_xSteps 1 to move ccw, 0 to move cw
-
-	int	m_NumWaypoints;
-	float m_TourPoints [NUM_AXES] [MAX_TOUR];	//	Used to store the x,y way-points received from the server
-	float m_PointTemperature [MAX_TOUR];	//	Used to store the x,y way-points received from the server
-
-
-	int m_TickCount;							//	Used to track the number of 10us Ticks that have occurred to ensure consistent motor speed
-
-};
-
-
-
-
-#endif /* CGIMBAL_H_ */