def init_done(self): self.is_init_done = True ConfigValidator.unload_config_spec() self.events.post("init_done") # no events docstring as this event is also in mpf self.events.process_event_queue() self.reset()
def _init_phases_complete(self, **kwargs) -> None: """Cleanup after init and remove boot holds.""" del kwargs ConfigValidator.unload_config_spec() self.events.remove_all_handlers_for_event("init_phase_1") self.events.remove_all_handlers_for_event("init_phase_2") self.events.remove_all_handlers_for_event("init_phase_3") self.events.remove_all_handlers_for_event("init_phase_4") self.events.remove_all_handlers_for_event("init_phase_5") self.clear_boot_hold('init')
def init_done(self) -> Generator[int, None, None]: """Finish init. Called when init is done and all boot holds are cleared. """ yield from self.events.post_async("init_done") '''event: init_done desc: Posted when the initial (one-time / boot) init phase is done. In other words, once this is posted, MPF is booted and ready to go. ''' ConfigValidator.unload_config_spec() yield from self.reset()
def init_done(self): """Finish init. Called when init is done and all boot holds are cleared. """ self.is_init_done = True self.events.post("init_done") '''event: init_done desc: Posted when the initial (one-time / boot) init phase is done. In other words, once this is posted, MPF is booted and ready to go. ''' self.events.process_event_queue() ConfigValidator.unload_config_spec() self.reset()
def _init_phases_complete(self, **kwargs) -> None: """Cleanup after init and remove boot holds.""" del kwargs ConfigValidator.unload_config_spec() self.clear_boot_hold('init')
def __init__(self, mpf_path: str, machine_path: str, options: dict): """Initialise machine controller.""" self.log = logging.getLogger("Machine") self.log.info("Mission Pinball Framework Core Engine v%s", __version__) self.log.debug("Command line arguments: %s", options) self.options = options self.log.debug("MPF path: %s", mpf_path) self.mpf_path = mpf_path self.log.info("Machine path: %s", machine_path) self.machine_path = machine_path self.log.debug("Command line arguments: %s", self.options) self.verify_system_info() self._exception = None self._boot_holds = set() self.is_init_done = False self.register_boot_hold('init') self._done = False self.monitors = dict() self.plugins = list() self.scriptlets = list() self.modes = DeviceCollection(self, 'modes', None) self.game = None self.active_debugger = dict() self.machine_vars = CaseInsensitiveDict() self.machine_var_monitor = False self.machine_var_data_manager = None self.thread_stopper = threading.Event() self.delayRegistry = DelayManagerRegistry(self) self.delay = DelayManager(self.delayRegistry) self.crash_queue = queue.Queue() self.config = None self.events = None self.machine_config = None self._set_machine_path() self.config_validator = ConfigValidator(self) self._load_config() self.clock = self._load_clock() self._crash_queue_checker = self.clock.schedule_interval( self._check_crash_queue, 1) self.hardware_platforms = dict() self.default_platform = None self._load_hardware_platforms() self._initialize_credit_string() self._load_core_modules() # order is specified in mpfconfig.yaml # This is called so hw platforms have a chance to register for events, # and/or anything else they need to do with core modules since # they're not set up yet when the hw platforms are constructed. self._initialize_platforms() self._validate_config() self._register_config_players() self._register_system_events() self._load_machine_vars() self._run_init_phases() ConfigValidator.unload_config_spec() self.clear_boot_hold('init')
def _init_phases_complete(self, **kwargs): del kwargs ConfigValidator.unload_config_spec() self.clear_boot_hold('init')