Controling bldc hoverboard wheels with RF remote movement problems

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

unsigned long   TimerUp;   //UP arrow on the remote
boolean         TimerUpFlag = false;
unsigned long   dummy;
unsigned long * TimerPtr = &dummy; //pointer to the current timer
int speedSetting = 0;
int speedSettingLeft = 0;
int speedSettingRight = 0;

const byte leftWheel         = 9;  //turns on as long as the UP button is pressed
const byte rightWheel        = 10;
const byte reverseRightWheel = 8;
const byte reverseLeftWheel  = 7;
const byte leftBrake  = 6;
const byte rightBrake = 5;

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
  pinMode(leftWheel, OUTPUT);
  pinMode(rightWheel, OUTPUT);
  pinMode(reverseRightWheel, OUTPUT);
  pinMode(reverseLeftWheel, OUTPUT);
  pinMode(leftBrake, OUTPUT);
  pinMode(rightBrake, OUTPUT);
}

void loop() {
  if (speedSetting > 14) {
    Serial.println(speedSetting);
    speedSettingLeft = speedSetting - 14;
    speedSettingRight = speedSetting - 14;
  }
  if (mySwitch.available()) {
    processButton();
    mySwitch.resetAvailable();
  }
  if (TimerUpFlag && millis() - TimerUp >= 250ul)
  {
    TimerUpFlag = false; //disable timing
    TimerPtr = &dummy;   //pointer to dummy timer
    digitalWrite(leftWheel, LOW);
    digitalWrite(rightWheel, LOW);
    digitalWrite(reverseRightWheel, LOW);
    digitalWrite(reverseLeftWheel, LOW);
    digitalWrite(leftBrake, LOW);
    digitalWrite(rightBrake, LOW);
  }

}


void processButton()
{
  switch (mySwitch.getReceivedValue())
  {
    //**********************
    case 12188945:
      Serial.println("BACK");
      TimerPtr = &TimerUp;  //point to this timer
      //TimerUpFlag = true;   //enable timing
      digitalWrite(reverseRightWheel, HIGH);
      digitalWrite(reverseLeftWheel, HIGH);
      analogWrite(leftWheel, speedSetting);
      analogWrite(rightWheel, speedSetting);
      TimerUp = millis();
      break;

    case 12188939:
      Serial.println("FWD");
      TimerPtr = &TimerUp;  //point to this timer
      //TimerUpFlag = true;   //enable timing
      analogWrite(leftWheel, speedSetting);
      analogWrite(rightWheel, speedSetting);
      TimerUp = millis();
      break;

    case 12188941:
      Serial.println("LEFT");
      TimerPtr = &TimerUp;  //point to this timer
      TimerUpFlag = true;   //enable timing
      analogWrite(leftWheel, speedSettingLeft);
      analogWrite(rightWheel, speedSetting);
      TimerUp = millis();
      break;

    case 12188943:
      Serial.println("RIGHT");
      TimerPtr = &TimerUp;  //point to this timer
      TimerUpFlag = true;   //enable timing
      analogWrite(leftWheel, speedSetting);
      analogWrite(rightWheel, speedSettingRight);
      TimerUp = millis();
      break;

    /*******************SPEED SETTINGS********************/
    case 12188935:
      Serial.println("SPEED 100");
      speedSetting = 60;
      TimerUp = millis();
      break;

    //**********************
    case 12188936:
      Serial.println("SPEED 50");
      speedSetting = 40;
      TimerUp = millis();
      break;

    //**********************
    case 12188937:
      Serial.println("SPEED 25");
      speedSetting = 15;
      TimerUp = millis();
      break;

    //**********************
    /*  case 0xFF30CF:
        Serial.println("SPEED 4");
        TimerPtr = &TimerUp;  //point to this timer
        TimerUpFlag = true;   //enable timing
        speedSetting = 55;
        TimerUp = millis();
        break;

      //**********************
      case 0xFF18E7:
        Serial.println("SPEED 5");
        TimerPtr = &TimerUp;  //point to this timer
        TimerUpFlag = true;   //enable timing
        speedSetting = 70;
        TimerUp = millis();
        break;
    */
    //**********************BRAKE/STOP*********************
    case 12188929:
      Serial.println("BRAKE");
      TimerPtr = &TimerUp;  //point to this timer
      TimerUpFlag = true;   //enable timing
      digitalWrite(leftBrake, HIGH);
      digitalWrite(rightBrake, HIGH);
      TimerUp = millis();
      break;

  }


}