public TeamControlModel(Int16 plat1, Int16 plat2, Int16 obs1, Int16 obs2, Int16 hover, Int16 start, Int16 motor1, Int16 motor2, Int16 frontLim, Int16 backLim) { Platform1Led = new LedModel(plat1); Platform2Led = new LedModel(plat2); Obstacle1Led = new LedModel(obs1); Obstacle2Led = new LedModel(obs2); HoverLed = new LedModel(hover); StartLed = new LedModel(start); BackLimSwitch = new SensorModel(backLim); FrontLimSwitch = new SensorModel(frontLim); Motor = new MotorModel(motor1, motor2, FrontLimSwitch, BackLimSwitch); Motor.LimitMode = true; EnableLimitSwitches = true; }
//Commands Arduino to change physical led state to specified value. //Returns either commanded state confirmation or false if communication is bad. public bool SetLed(LedModel led) { if (_comOK && led.PinNumber >= 0) { try { _session.SetDigitalPin(led.PinNumber, led.Value); } catch { _comOK = false; led.Value = false; } } return(_comOK && led.Value); }
//Commands Arduino to toggle pin state public void ToggleLed(LedModel led) { if (_comOK && led.PinNumber >= 0) { led.Value = !led.Value; try { _session.SetDigitalPin(led.PinNumber, led.Value); } catch { _comOK = false; led.Value = false; } } }
private void OnLedChanged(object sender, PropertyChangedEventArgs e) { LedModel led = (LedModel)sender; SetLed(led); }