/// <summary> /// Service Start /// </summary> protected override void Start() { // Alternate Port Operations handlers Activate(Arbiter.ReceiveWithIterator <analogArray.Get>(true, _alternatePort, AlternateGetHandler)); //configure default state if (_state == null) { _state = new ScribblerLightSensorState(); _state.LeftSensor = new analog.AnalogSensorState(); _state.LeftSensor.HardwareIdentifier = 0; _state.LeftSensor.RawMeasurementRange = 65535; _state.CenterSensor = new analog.AnalogSensorState(); _state.CenterSensor.HardwareIdentifier = 1; _state.CenterSensor.RawMeasurementRange = 65535; _state.RightSensor = new analog.AnalogSensorState(); _state.RightSensor.HardwareIdentifier = 2; _state.RightSensor.RawMeasurementRange = 65535; } // Listen on the main port for requests and call the appropriate handler. ActivateDsspOperationHandlers(); // Publish the service to the local Node Directory DirectoryInsert(); // display HTTP service Uri LogInfo(LogGroups.Console, "Service uri: "); SubscribeToScribblerBase(); }
public virtual IEnumerator <ITask> ReplaceHandler(Replace replace) { _state = replace.Body; replace.ResponsePort.Post(DefaultReplaceResponseType.Instance); yield break; }