/************************************************************************/
/*                                                                      */
/*                      Motorpotiplatine Steuerung                      */
/*                                                                      */
/*              Author : Frank Link                                     */
/*                       franklink61@aol.com                            */
/*              Version: 1.0                                            */
/************************************************************************/

/*
	Um den Motor verzögerungsfrei und ohne Ruckeln laufen lassen zu können,
	wird dafür gesorgt, dass innerhalb eines Timers (Timer1) eine gewisse 
	Zeit  gewartet wird, bis er sich automatisch ausschaltet.
	
	Ist der Timer abgelaufen, wird der Motor abgeschaltet. 
	Wird innerhalb dieser Zeit erneut die entsprechende Taste betätigt,
	wird der Timer wieder zurückgesetzt.
*/


#ifndef MOTORHEADER
#define MOTORHEADER

#define MOTORTIME      250e-5				// bestimmt die Zeit, in der der Motor auf 
											// den nächsten Tastendruck wartet, bevor
											// er automatisch abschaltet.
#define MOTOR_ON_TIME  (uchar)(XTAL / 512 * MOTORTIME * 0.4 + 0.5)
#define MOTOR_ON       1
#define MOTOR_OFF      0

char MotorLeftIsOn;
char MotorRightIsOn;

void MotorInit( void );
void MotorOff( void );
void MotorLeftOn( void );
void MotorRightOn( void );

#endif
