 
 //switch handling
  if (MainSWTime >= PPMSwitchLevel)
-    {//Switch in Upper position
-     SwitchPOS=true;
-     SwitchPOS_fromUp=true;}
+    {//Switch in Upper position! proccessing for only one time change
+     if (!SwitchPOS_fromUp){
+     SwitchPOS=true;         
+     SwitchPOS_fromUp=true;
+     }
+     }
  else 
    { 
      //Switch in Lower position and if last position is Upper then proccessing for only one time change

#define SYSTEM_MENU_34_EN_CURRENT_RENDER 34               //Enable/Disable CurrentSensor info render to Serial Port  (for Feature ver 2.2)
#define SYSTEM_MENU_40_DEFAULTS 50                        //Reset Config to Default
#define SYSTEM_CALIBRATING 100                            //RX inpout Calibrating mode


//Menus 
#define MENU_INITIAL_PERIOD 5000                          //Time period from end SYSTEM_FIRST_START procedure for enter in Menu Mode (3 times switch press)


//Engine STOP handling
//in Normal operating mode Engine stop signal equal Switch position: lower pos = OFF, upper pos = ON
 if (SystemMode==SYSTEM_NORMAL){
  LastEngineSTOP=EngineSTOP;
  EngineSTOP=!SwitchPOS;} //Set EngineSTOP with Switch position Up=FALSE, Down=TRUE

if (!SystemStatusNoRX) {
 if (!EngineSTOP) { //if SwitchPOS in Upper position(ignition is ON) then setup output pin to HIGH one time!
  //prevent high speed duplicate switching with potential glitches with flags 
  if (!EngineSTOP_flag) {
     digitalWrite(KILLSWITCH_OUT_PIN, HIGH); 
     tone(BUZZER_PIN,2300,30);
     EngineSTOP_flag=true;
  }
 } 
 else 
 { //if SwitchPOS in Lower position(ignition is OFF) then setup output pin to LOW one time!
   //prevent high speed duplicate switching with potential glitches.
  if (EngineSTOP_flag)
      {digitalWrite(KILLSWITCH_OUT_PIN, LOW);
       tone(BUZZER_PIN,200,30); 
       EngineSTOP_flag=false;}
 }
} else {EngineSTOP=LastEngineSTOP;};


 //NoRX handling
  if (MaxMainSWPacketsCounter<=1) {
      SystemStatusNoRX=true;
     } else {SystemStatusNoRX=false;}

 
 //if Switch pressed(from Up to Down) then handling options  
   if (millis()-MainSWPressLaststime<=BUZZER_SEARCHER_PERIOD && MainSWPressCounter>=1) 
