StateMachineManager

class pyhades.managers.StateMachineManager()

Handles and manager the state machines defined in the application in a store defined by a list of tuples

Its structure is [(machine_1, interval_1, mode_1), (machine_2, interval_2, mode_2), ... (machine_n, interval_n, mode_n)]

append_machine(self, machine, interval=1, mode='async')

Appends machines to the store

Parameters

  • machine: (PyHadesStateMachine) instance
  • interval: (float) Execution interval in seconds
  • mode: (str) Thread mode of the state machine, allowed mode ('sync', 'async')

Returns None

Usage

>>> manager = app.get_state_machine_manager()
>>> manager.append_machine(machine, interval, mode)
get_machines(self)

Gets state machines

Returns

  • machines (list of tuples)

Usage

>>> manager = app.get_state_machine_manager()
>>> machines = manager.get_machines()
[(machine_1, interval_1, mode_1), (machine_2, interval_2, mode_2), ... (machine_n, interval_n, mode_n)]
get_machine(self, name)

Gets state machine by its name

Parameters

  • name: (str) State machine name

Returns

  • machine: (PyHadesStateMachine) instance

Usage

>>> manager = app.get_state_machine_manager()
>>> machine = manager.get_machine(state_machine_name)
summary(self)

Get a summary of the state machine defined

Returns

  • summary: (dict) with keys ('length' (int) - 'state_machines' (list of state machine names))
exist_machines(self)

Checks if exist state machines defined

Returns

  • Bool

Usage

>>> manager = app.get_state_machine_manager()
>>> manager.exist_machines()