Hallo an alle,
ich hab da einen Sketch geschrieben und würde mich freuen wenn jemand mal drüber schaut und prüft ob das so funktionieren wird.
Vielleicht habt ihr auch Ideen wie ich das eleganter lösen kann.
Danke schon mal!

Code:
Code:
//*4*Motoren*mit*1*Kanal*ansteuern*(MY*Rising*Sun)

#include*<Servo.h>
#include*<RCReceive.h>
#include*<debug.h>
#include*<makros.h>

const byte PIN_RC = 2;

//Ausgänge
const int ESC_CRUISE = 9;
const int SERVO_BOOSTER = 10;
const int LED = 13;

//Eingänge
RCReceive rcReceive;
Servo EscCruise;
Servo EscBooster;

int minEscValue = 1000;
int EscValue();
int maxEscValue = 1900;
int minEscBoosterValue = 1000;
int EscBoosterValue();
int maxEscBoosterValue = 1900;
int minEscCruiseValue = 1000;
int EscCruiseValue();
int maxEscCruiseValue = 1900;

unsigned long now_LW = 0;//Loopwatch
unsigned long diff_LW = 0;//Loopwatch
unsigned long last_LW = 0;

void setup() {
**
Serial.begin(9600);

//Eingang*RC
rcReceive.attachInt(PIN_RC);
****
**//ESC Cruise und Booster
EscCruise.attach(ESC_CRUISE);
EscBooster.attach(SERVO_BOOSTER);

int escValue = rcReceive.getValue();

//Kanäle*auf*Ausgang
pinMode(LED,OUTPUT);
digitalWrite(LED,LOW);
}

void loop() {
**
now_LW*=*millis();//Loopwatch
diff_LW*=*now_LW*-*last_LW;//Loopwatch
last_LW*=*now_LW;//Loopwatch
Serial.println(diff_LW);//Loopwatch


**//Neuen RC-Wert für Cruise einlesen
rcReceive.poll();

const byte EscCruise_NP = 1500;
const byte EscBooster_NP = 1500;
const byte Esc_MIN = 1000;

//Nullpunktbestimmung
if(rcReceive.hasNP()&&!rcReceive.hasError())
{
*void doWork();
*}*
*else if(rcReceive.hasError()){
****//Failsafe
if((millis()%1000)<500){
**digitalWrite(LED,HIGH);
**}
**else {
****digitalWrite(LED,LOW);}
**EscCruise.write(minEscCruiseValue);
**EscBooster.write(minEscBoosterValue);
}

//*cruiseMode
if(rcReceive.hasNP()){
**
byte Value = rcReceive.getValue();
Value*=*map(Value,1000,1900,1900,1000); //Value ist in Microsecunden
EscCruise.write(Value);  //CruiseMode aktiv
}

//BoosterMode
if(rcReceive,1000,1750,1750,1000);
{
byte Value = rcReceive.getValue();
Value*=*map(Value,1000,1900,1900,1000);
EscBooster.write(1500);  //Booster nicht aktiv
}

if(rcReceive,1750,1900,1900,1000);
{
**byte Value = rcReceive.getValue();
**Value*=*map(Value,1750,1900,1900,1750);
EscBooster.write(Value);  //Booster aktiv
}
}