     //While interrupts are paused, copy new servo input values to the corresponding local static variables
     receiverInputFlagsLocal = receiverInputFlags;
     if (receiverInputFlagsLocal & FLAG_CUTOVER) cutoverInValueLocal = cutoverInValue;
-      if (receiverControl || calibrationMode) {
-        if (receiverInputFlagsLocal & FLAG_AILERON) aileronInValueLocal = aileronInValue;
-        if (receiverInputFlagsLocal & FLAG_ELEVATOR) elevatorInValueLocal = elevatorInValue;
-        if (receiverInputFlagsLocal & FLAG_RUDDER) rudderInValueLocal = rudderInValue;
-        if (receiverInputFlagsLocal & FLAG_THROTTLE) throttleInValueLocal = throttleInValue;
-      }
+    if (receiverInputFlagsLocal & FLAG_AILERON) aileronInValueLocal = aileronInValue;
+    if (receiverInputFlagsLocal & FLAG_ELEVATOR) elevatorInValueLocal = elevatorInValue;
+    if (receiverInputFlagsLocal & FLAG_RUDDER) rudderInValueLocal = rudderInValue;
+    if (receiverInputFlagsLocal & FLAG_THROTTLE) throttleInValueLocal = throttleInValue;
     receiverInputFlags = 0;
     interrupts();
   }

//Determines if the plane is controlled only by the receiver
boolean receiverControl = false;

//Determines if the plane control is shared between the phone and the receiver
boolean sharedControl = false;

//All valid input/output must start/end with the corresponding chars below
char endMarker = '#';
char startMarker = '@';

//This array stores Json characters read from serial input
char receivedJson[CHAR_ARRAY_SIZE];

//The running average for cutover receiver input
uint16_t cutoverInputAverage = RECEIVER_INPUT_DEFAULT;

//The start time for determining the cutover double switch flip for emergency input shutoff
uint32_t receiverControlStartTime = millis();

struct ServoData {
  byte outputMax = SERVO_MAX;


//Example JSON input below
//Complete configuration
//@{"aileron":{"inputConfig":{"max":1692,"min":924,"pin":6,"receiverOnly":false},"outputConfig":{"max":140,"min":40,"pin":7},"value":90}}#
//@{"elevator":{"inputConfig":{"max":1712,"min":92,"pin":4,"receiverOnly":true},"outputConfig":{"max":180,"min":0,"pin":9},"value":90}}#
//@{"rudder":{"inputConfig":{"max":1680,"min":920,"pin":3,"receiverOnly":true},"outputConfig":{"max":180,"min":0,"pin":8},"value":90}}#
//@{"throttle":{"inputConfig":{"max":1704,"min":1128,"pin":5,"receiverOnly":true},"outputConfig":{"max":165,"min":32,"pin":10},"value":32}}#
//@{"cutover":{"inputConfig":{"max":1832,"min":760,"pin":2}}}#

//Configuration without calibration or receiverOnly configuration
//@{"aileron":{"inputConfig":{"pin":6},"outputConfig":{"max":135,"min":45,"pin":7},"value":90}}#
