public void Main(string argument) { //First ensure the system is able to process commands //-if necessary, perform first time setup //-if necessary or requested, initialise the system if (!initialised || argument == command_Initialise) { //if we cannot initialise, end here if (!Initialise()) { return; } } else if (!Validate()) { //if saved state is not valid, try re-initialising //if we cannot initialise, end here if (!Initialise()) { return; } } //Check that the argument is not a command for us if (argument == command_Initialise) { return; } //Otherwise send argument as command to drive controller //-write command to the command bus if (argument.Length > CommandBus.lengthId) { Echo("ERROR: bus id too long \"" + argument + "\""); } else { busCommand.AppendTemporaryString(CommandBus.ExtendId(argument), ""); Echo("Command Bus updated: " + argument); } }