Ejemplo n.º 1
0
        /// <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();
        }
Ejemplo n.º 2
0
 public virtual IEnumerator <ITask> ReplaceHandler(Replace replace)
 {
     _state = replace.Body;
     replace.ResponsePort.Post(DefaultReplaceResponseType.Instance);
     yield break;
 }