emulator_engine.features.controller package
Controller which configures subcontrollers and their messaging setups.
- class emulator_engine.features.controller.EmulatorController(config_str: str, initial_signals_config_str: str, bitstream_emulator_path: str, bitstream_emulator_id: str, pulse_interval: float = 1.0, generate_initial_signals: bool = False, pulses_from_router_map: dict[str, int] = {}, **kwargs)[source]
Bases:
LoggingBaseController which configures IP block emulators and sends a pulse downstream.
Takes in a config JSON string which it uses to set up all the emulators and connections between them, among other configurations.
- Parameters:
- await_api_cleanup() None[source]
Wait for the API server to finish shutting down and halt the main API listener thread.
- flush_all() None[source]
Flush all queues.
Attempts to flush all queues of all emulators the controller has configured.