/// <summary> /// Initialize the Color Sensor state /// </summary> private void InitializeState() { if (_state == null) { _state = new ColorSensorState(); // Default to Color mode if no config file _state.SensorMode = ColorSensorMode.Color; } if (_state.PollingFrequencyMs == 0) { _state.PollingFrequencyMs = Contract.DefaultPollingFrequencyMs; } _state.TimeStamp = DateTime.MinValue; _state.Reading = 0; _state.Connected = false; if (_genericState == null) { _genericState = new pxanalogsensor.AnalogSensorState(); } // Analog range is 0-1023 (10-bit A/D) _genericState.RawMeasurementRange = 1023.0; _genericState.RawMeasurement = 0.0; _genericState.NormalizedMeasurement = 0.0; _genericState.TimeStamp = DateTime.MinValue; // Set the hardware identifier from the connected motor port. _genericState.HardwareIdentifier = NxtCommon.HardwareIdentifier(_state.SensorPort); }
/// <summary> /// Post Configure Sensor Connection with body and return the response port. /// </summary> /// <param name="state">Color Sensor State to use for initialization</param> public virtual PortSet <DefaultUpdateResponseType, Fault> ConnectToBrick(ColorSensorState state) { ConnectToBrick op = new ConnectToBrick(); op.Body = new ColorSensorConfig(state.SensorPort); op.Body.Name = state.Name; op.Body.PollingFrequencyMs = state.PollingFrequencyMs; op.Body.SensorMode = state.SensorMode; this.PostUnknownType(op); return(op.ResponsePort); }