public RealCar(CarController parent) { Controller = parent; CarInfo = new CarInformations(); IsAlertBrakeActive = false; //regulators and communicator initiation CarComunicator = new RealCarCommunicator(this); // = new RealCarCommunicator(this); SpeedRegulator = new PIDSpeedRegulator(this); //SpeedRegulator = new FakeSpeedRegulator(); //SteeringWheelAngleRegulator = new SimpleSteeringWheelRegulator(this); SteeringWheelAngleRegulator = new PIDSteeringWheelAngleRegulator(this); //SteeringWheelAngleRegulator = new FakeSteeringWheelRegulator(); BrakeRegulator = new PIDBrakeRegulator(this); CarComunicator.InitRegulatorsEventsHandling(); //TODO: REFACTOR THIS SHIT!!! //for now this is needed, because reagulators does not exists when communicator constructor is invoked //internal event handling initialization evAlertBrake += new EventHandler(ExampleFakeCar_evAlertBrake); evTargetSpeedChanged += new TargetSpeedChangedEventHandler(ExampleFakeCar_evTargetSpeedChanged); evTargetSteeringWheelAngleChanged += new TargetSteeringWheelAngleChangedEventHandler(ExampleFakeCar_evTargetSteeringWheelAngleChanged); }
public RealCar(DefaultCarController parent) { System.Threading.Thread.CurrentThread.Priority = System.Threading.ThreadPriority.Highest; Controller = parent; CarInfo = new CarInformations(); IsAlertBrakeActive = false; deviceManager = DeviceManager.GlobalDeviceManager; CarComunicator = new RealCarCommunicator(this); SpeedRegulator = new PIDSpeedRegulator(this); SteeringWheelAngleRegulator = new PIDSteeringWheelAngleRegulator(this); BrakeRegulator = new SimpleBrakeRegulator(this); CarComunicator.InitRegulatorsEventsHandling(); //TODO: REFACTOR THIS SHIT!!! //for now this is needed, because reagulators does not exists when communicator constructor is invoked InternalEventHandlingInitialization(); }