private void DisableModule(RobotModule m) { m.SetState(ModuleState.Shutdown); ControlMessage msg = ControlMessage.DisableMessage(m.name); Send (msg); print(name + " - disable module " + m.name); }
private void EnableModule(RobotModule m) { m.SetState(ModuleState.Initializing); ControlMessage msg = ControlMessage.EnableMessage (m.name, m.ModuleCall (), (ushort)m.CreationDelayMs ()); print(name + " - enable module " + m.name); Send (msg); }
private void ProcessMessage(ControlMessage message) { ControlCommands cmd = message.GetCommand(); switch (cmd) { case ControlCommands.KEEPALIVE: break; case ControlCommands.ENABLED: case ControlCommands.DISABLED: case ControlCommands.FAILED: //failed has additional information on error code RobotModule module = modules.Find(m => (m.name == message.Attribute<string>(0))); print(name + " - " + module.name + " state changed to " + cmd.ToString()); module.SetState(ModuleStateFromControlCommand(cmd)); break; default: print(name + " - ignoring unsupported command " + message.GetType()); break; } }