analog pins

pull/10/head
TimEvWw 2014-09-13 21:53:55 -01:00
parent b8ce84263a
commit 3cc0d6a6f3
5 changed files with 44 additions and 14 deletions

View File

@ -25,7 +25,7 @@ F41Handler::F41Handler() {
int F41Handler::execute(Command* command) {
PinControl::getInstance()->writeValue(command->getP(),command->getV());
PinControl::getInstance()->writeValue(command->getP(),command->getV(), command->getM());
return 0;
}

View File

@ -23,7 +23,7 @@ F42Handler::F42Handler() {
int F42Handler::execute(Command* command) {
PinControl::getInstance()->readValue(command->getP());
PinControl::getInstance()->readValue(command->getP(), command->getM());
return 0;
}

View File

@ -25,7 +25,7 @@ F44Handler::F44Handler() {
int F44Handler::execute(Command* command) {
PinControl::getInstance()->writePulse(command->getP(),command->getV(),command->getW(),command->getT());
PinControl::getInstance()->writePulse(command->getP(),command->getV(),command->getW(),command->getT(), command->getM());
return 0;
}

View File

@ -19,18 +19,48 @@ int PinControl::setMode(int pinNr, int mode) {
return 0;
}
int PinControl::writeValue(int pinNr, int value) {
digitalWrite(pinNr, value);
return 0;
int PinControl::writeValue(int pinNr, int value, int mode) {
if (mode == 0) {
digitalWrite(pinNr, value);
return 0;
}
if (mode == 1) {
analogWrite(pinNr, value);
return 0;
}
return 1;
}
int PinControl::readValue(int pinNr) {
return 0;
int PinControl::readValue(int pinNr, int mode) {
int value = 0;
if (mode == 0) {
if (digitalRead(pinNr) == 0){
value = 1;
}
return 0;
}
if (mode == 1) {
value = analogRead(pinNr);
return 0;
}
Serial.print("R41");
Serial.print(" ");
Serial.print("P");
Serial.print(pinNr);
Serial.print(" ");
Serial.print("V");
Serial.print(value);
Serial.print("\n");
return 1;
}
int PinControl::writePulse(int pinNr, int valueOne, int valueTwo, long time) {
writeValue( pinNr, valueOne);
int PinControl::writePulse(int pinNr, int valueOne, int valueTwo, long time, int mode) {
writeValue( pinNr, valueOne, mode);
delay(time);
writeValue( pinNr, valueTwo);
writeValue( pinNr, valueTwo, mode);
return 0;
}

View File

@ -20,9 +20,9 @@ public:
static PinControl* getInstance();
int setMode(int pinNr, int mode);
int writeValue(int pinNr, int value);
int readValue(int pinNr);
int writePulse(int pinNr, int valueOne, int valueTwo, long time);
int writeValue(int pinNr, int value, int mode);
int readValue(int pinNr, int mode);
int writePulse(int pinNr, int valueOne, int valueTwo, long time, int mode);
private:
PinControl();