i'm trying to create a library to have motor control through a sabertooth 2 x 10A motor controller when i put the header file and the cpp file in the arduino/hardware/librairies/motorcontrol and open the arduino program it gives me this error:
MotorControl.cpp:142: error: expected unqualified-id before 'void'
my cpp file:
/*
MotorControl.h - Library for motor control through the sabertooth montor controller
Created by Eric Morin, March 03, 2009.
all Copyrights to Eric Morin (C)
*/
#include "WProgram.h"
#include "MotorControl.h"
MotorControl::MotorControl(int motor1, int motor2)
{
pinMode(motor1,OUTPUT);
_motor1 = motor1;
pinMode(motor2,OUTPUT);
_motor2 = motor2;
}
void MotorControl::FORWARD()
{
digitalWrite(_motor1, LOW);
digitalWrite(_motor1, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor1, LOW);
delay(3);
digitalWrite(_motor2, LOW);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor1, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor1, LOW);
delay(3);
digitalWrite(_motor2, LOW);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor1, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor1, LOW);
delay(3);
digitalWrite(_motor2, LOW);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor2, LOW);
delay(3);
}
void MotorControl::BACKWARD()
{
digitalWrite(_motor1, LOW);
digitalWrite(_motor1, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor1, LOW);
delay(3);
digitalWrite(_motor2, LOW);
digitalWrite(_motor2, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor1, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor1, LOW);
delay(3);
digitalWrite(_motor2, LOW);
digitalWrite(_motor2, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor1, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor1, LOW);
delay(3);
digitalWrite(_motor2, LOW);
digitalWrite(_motor2, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor2, LOW);
delay(3);
}
void MotorControl::SPINRIGHT()
{
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(2000);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
}
void MotorControl::SPINLEFT()
{
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1000);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
}
void MotorControl::void STOP()
{
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1500);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1500);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1500);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
digitalWrite(_motor1, HIGH);
digitalWrite(_motor2, HIGH);
delayMicroseconds(1500);
digitalWrite(_motor1, LOW);
digitalWrite(_motor2, LOW);
delay(3);
}
my header file:
/*
MotorControl.h - Library for motor control through the sabertooth montor controller
Created by Eric Morin, March 03, 2009.
all Copyrights to Eric Morin (C)
*/
#ifndef MotorControl_h
#define MotorControl_h
#include "WConstants.h"
class MotorControl
{
public:
MotorControl(int motor1, int motor2);
void FORWARD();
void BACKWARD();
void SPINRIGHT();
void SPINLEFT();
void STOP();
private:
int _motor1;
int _motor2;
};
#endif