        }
        else  // go for it
        {
+*/ 
+        //  motor is handled differently
+        if (FeedbackPin ==  SteerFB || FeedbackPin ==  BrakeFB)
             analogWrite(SignalPin, desired_position);
+        else
+            DAC_Write(0, desired_position);
+        
             LastCommand = desired_position;
-       }
-    }
+//       }
+//    }
 
 #ifdef DEBUG
     //debug prints. 

  }
  else
  {
    Instrument[Brakes].Joystick = MinimumBrake + (FullBrake - MinimumBrake)
      * (-upStick + tinyDown) / tinyDown;
    Instrument[Brakes].StickMoved =  TRUE;
  }


  if (Instrument[Motor].StickMoved)
  {
     desired_position = Instrument[Motor].Joystick;
     Serial.print(" FB: "); Serial.print(Instrument[Motor].Feedback);
     Serial.print(" Motor: "); Serial.print(desired_position);
  }
  Instrument[Motor].go(desired_position);
  NoWheelRev();  // let speed slow down
 
  // apply brakes
  desired_position =  MinimumBrake;
  if (Instrument[Brakes].StickMoved)
  {
     desired_position = Instrument[Brakes].Joystick;
     Serial.print(" FB: "); Serial.print(Instrument[Brakes].Feedback);
     Serial.print(" Brakes: "); Serial.print(desired_position);
  }
//  Instrument[Brakes].go(desired_position);

  
 // apply steering
  desired_position =  Straight;
  if (Instrument[Steering].StickMoved)
  {
     desired_position = Instrument[Steering].Joystick;
     Serial.print(" FB: "); Serial.print(Instrument[Steering].Feedback);
     Serial.print(" Steering: "); Serial.print(desired_position);
  }
//  Instrument[Steering].go(desired_position); 
  if (Instrument[Motor].StickMoved || Instrument[Brakes].StickMoved ||
     Instrument[Steering].StickMoved)
     Serial.println(" ");
}
/*---------------------------------------------------------------------------------------*/
void JoystickMotion()
// All inputs are 0-1023
{
    long int x;
    int upStick = analogRead(AccelerateJoystick);
    int center  = analogRead(JoystickCenter);
    int sideStick = analogRead(SteerJoystick);
