/// <summary> /// Get status of a particular component. /// </summary> /// <param name="id">component to query</param> /// <returns>null when ok, string with description when faulted</returns> public string GetStatus(BusComponentId id) { string result = null; switch (id) { case BusComponentId.Bus: { result = this.busStatus; break; } case BusComponentId.ReelMotor: { result = this.reelMotor.FaultReason; break; } case BusComponentId.ReelDigitalIo: { result = this.reelDigitalIo.FaultReason; break; } case BusComponentId.ReelAnalogIo: { result = this.reelAnalogIo.FaultReason; break; } case BusComponentId.ReelEncoder: { result = this.reelEncoder.FaultReason; break; } case BusComponentId.FeederTopFrontMotor: { result = this.feederTopFrontMotor.FaultReason; break; } case BusComponentId.FeederTopRearMotor: { result = this.feederTopRearMotor.FaultReason; break; } case BusComponentId.FeederBottomFrontMotor: { result = this.feederBottomFrontMotor.FaultReason; break; } case BusComponentId.FeederBottomRearMotor: { result = this.feederBottomRearMotor.FaultReason; break; } case BusComponentId.FeederEncoder: { result = this.feederEncoder.FaultReason; break; } case BusComponentId.GuideLeftMotor: { result = this.guideLeftMotor.FaultReason; break; } case BusComponentId.GuideRightMotor: { result = this.guideRightMotor.FaultReason; break; } case BusComponentId.LaunchDigitalIo: { result = this.launchDigitalIo.FaultReason; break; } case BusComponentId.LaunchAnalogIo: { result = this.launchAnalogIo.FaultReason; break; } case BusComponentId.Gps: { result = this.gps.FaultReason; break; } case BusComponentId.NitrogenSensor1: { result = this.nitrogenSensor1Fault; break; } case BusComponentId.NitrogenSensor2: { result = this.nitrogenSensor2Fault; break; } case BusComponentId.RobotTotalCurrentSensor: { result = this.robotTotalCurrentFault; break; } case BusComponentId.LaunchTotalCurrentSensor: { result = this.launchTotalCurrentFault; break; } case BusComponentId.FrontPumpMotor: { if (RobotApplications.repair == ParameterAccessor.Instance.RobotApplication) { result = this.frontPumpMotor.FaultReason; } break; } case BusComponentId.FrontPressureSensor: { if (RobotApplications.repair == ParameterAccessor.Instance.RobotApplication) { result = this.frontPressureFault; } break; } case BusComponentId.FrontScaleRs232: { if (RobotApplications.repair == ParameterAccessor.Instance.RobotApplication) { result = this.frontScaleRs232.FaultReason; } break; } case BusComponentId.FrontDigitalScale: { if (RobotApplications.repair == ParameterAccessor.Instance.RobotApplication) { result = FgDigitalScale.Front.FaultReason; } break; } case BusComponentId.RearPumpMotor: { if (RobotApplications.repair == ParameterAccessor.Instance.RobotApplication) { result = this.rearPumpMotor.FaultReason; } break; } case BusComponentId.RearPressureSensor: { if (RobotApplications.repair == ParameterAccessor.Instance.RobotApplication) { result = this.rearPressureFault; } break; } case BusComponentId.RearScaleRs232: { if (RobotApplications.repair == ParameterAccessor.Instance.RobotApplication) { result = this.rearScaleRs232.FaultReason; } break; } case BusComponentId.RearDigitalScale: { if (RobotApplications.repair == ParameterAccessor.Instance.RobotApplication) { result = FgDigitalScale.Rear.FaultReason; } break; } case BusComponentId.ThicknessSensor: { if (RobotApplications.inspect == ParameterAccessor.Instance.RobotApplication) { result = ThicknessSensor.Instance.FaultReason; } break; } case BusComponentId.StressSensor: { if (RobotApplications.inspect == ParameterAccessor.Instance.RobotApplication) { result = StressSensor.Instance.FaultReason; } break; } } return (result); }
/// <summary> /// Get status of a particular component. /// </summary> /// <param name="id">component to query</param> /// <returns>null when ok, string with description when faulted</returns> public string GetStatus(BusComponentId id) { string result = null; switch (id) { case BusComponentId.Bus: { result = (false != this.Running) ? this.busStatus : "off"; break; } case BusComponentId.RobotBody: { result = (false != this.Running) ? this.robotBody.FaultReason : "off"; break; } case BusComponentId.RobotTopFrontWheel: { result = (false != this.Running) ? this.robotTopFrontWheel.FaultReason : "off"; break; } case BusComponentId.RobotTopRearWheel: { result = (false != this.Running) ? this.robotTopRearWheel.FaultReason : "off"; break; } case BusComponentId.RobotBottomFrontWheel: { result = (false != this.Running) ? this.robotBottomFrontWheel.FaultReason : "off"; break; } case BusComponentId.RobotBottomRearWheel: { result = (false != this.Running) ? this.robotBottomRearWheel.FaultReason : "off"; break; } } return (result); }