public void Execute(IOCommunicator ioCommunicator) { foreach(var command in Commands) { command.Execute(ioCommunicator); } }
public Create(IOCommunicator io, int pollTimeMS, bool sendNMSPosition) { _sendNMS = sendNMSPosition; IO = io; GC.Collect(); SetMode(OperatingMode.PASSIVE); _timer = new System.Timers.Timer(); _timer.Elapsed += _timer_Elapsed; _timer.Interval = pollTimeMS; ARC.Scripting.VariableManager.SetVariable("$RoombaSensorStreaming", false); OnLog?.Invoke(this, "iRobot communicate initialized"); }
public override void Execute(IOCommunicator ioCommunicator) { base.Execute(ioCommunicator); Thread.Sleep(100); //Docs say to wait 100ms before sending more commands after this one... so let's just enforce it this way }
public RobotController(IOCommunicator ioCommunicator, IEnumerable<ISensor> sensors) { _ioCommunicator = ioCommunicator; _ioCommunicator.DataRecieved += IO_DataRecieved; _sensors = sensors; }
public virtual void Execute(IOCommunicator ioCommunicator) { var bytes = GetBytes(); ioCommunicator.Write(bytes, 0, bytes.Length); }