diff --git a/Software/MPS_dev_01/MPS_dev_01.ino b/Software/MPS_dev_01/MPS_dev_01.ino new file mode 100644 index 0000000..8ed18f4 --- /dev/null +++ b/Software/MPS_dev_01/MPS_dev_01.ino @@ -0,0 +1,189 @@ +#include +MicroPlaneSystem rx; + + +MicroPlaneSystem servo1; +MicroPlaneSystem servo2; +MicroPlaneSystem servo3; +MicroPlaneSystem servo4; +MicroPlaneSystem servo5; + + +MicroPlaneSystem motorA; +MicroPlaneSystem motorB; + + +int rud; +int ele; +int thro; +int ail; +int aux1; +int aux2; + +int iswitch = 0; + +float fBattV; + + +unsigned long timeFirst; + +bool debugging = true; + + +void setup() { + Serial.begin(115200); + Serial.println("-----------"); + Serial.println("Hello World"); + + + + servo1.attach(7); + servo2.attach(8); + servo3.attach(9); + //servo4.attach(10); + //servo5.attach(11); + + + + + motorA.setMotorPin(6, A1, A0); + //motorB.setMotorPin(3, 5, 13); + + +} + + +void loop() { + + updateChannels(); + + + + + + + + + motorA.setThrust(0,thro); + + //motorB.setThrust(1,thro); + + servo1.write(rud); + servo2.write(ele); + servo3.write(ail); + + //servo4.write(rud); + //servo5.write(aux1); + + + //Do fancy stuff + + if (aux1 >= 1500) { + digitalWrite(A2, HIGH); + } else { + digitalWrite(A2, LOW); + } + + if (aux2 >= 1500) { + posLight(); + //digitalWrite(4, HIGH); + + } else { + //digitalWrite(4, LOW); + } + +/* + +fBattV = analogRead(A3); +//Serial.print("BattV: "); + +fBattV = (129*fBattV/33800); + +Serial.println(fBattV); + +*/ +} + +void channelMapping() { + ail = rx.getRxChannel(0); + rud = rx.getRxChannel(1); + ele = rx.getRxChannel(2); + thro = rx.getRxChannel(3); + aux1 = rx.getRxChannel(4); + aux2 = rx.getRxChannel(5); +} + +void updateChannels() { + + if (Serial.available()) { + //Serial.println("Serial ist da"); + if (rx.update()) { + channelMapping(); + if (debugging) { + for (int i = 0; i < 6; i++) { + Serial.print(" Ch0"); + Serial.print(i); + Serial.print(": "); + Serial.print(rx.getRxChannel(i)); + } + Serial.println(); + } + } + } else { + //No connection or Failsafe + } +} + +void posLight() { + +//Serial.println(millis()); + + + +switch(iswitch){ + case 0: + if(everyXMills(100)){ + iswitch++; + digitalWrite(4, HIGH); + } + break; + case 1: + if(everyXMills(50)){ + iswitch++; + digitalWrite(4, LOW); + } + break; + case 2: + if(everyXMills(100)){ + iswitch++; + digitalWrite(4, HIGH); + } + break; + case 3: + if(everyXMills(50)){ + iswitch++; + digitalWrite(4, LOW); + } + break; + case 4: + if(everyXMills(800)){ + iswitch = 0; + } + break; +} + + +} + + +bool everyXMills(int mills){ + bool bStatus; + if((millis()-timeFirst) >= mills){ + bStatus = true; + timeFirst=millis(); + }else{ + bStatus = false; + } + return bStatus; +} +