The error controller.written-twice#

user: the script can change it: the error says what happened in the experiment’s names, and what to write instead.

Where MIME gives it, with what its message says happened and what its action says to do ({…} is filled in from the experiment):

  • in mime/build/_plan.py:

    • what happened: apparatus {…}'s command {…} has a drive, and {…} writes it too: a command has one writer, its drive or the controller, which replaces it

    • what to do: remove {…} from Apparatus(commands=...), or {…} from set_controller(writes=...)

  • in mime/build/_plan.py:

    • what happened: the controller's writes {…} and {…} both write {…}: a command has one writer

    • what to do: bind each write label to its own command in set_controller(writes=...)

Reading an error and reaching its full traceback: reading an error. Every code: the index.