Developer Guide

To be able to efficiently develop the application without access to physical motors, you can simulate controllers by setting the MUNDO_SIMULATE=1 flag, i.e:

MUNDO_SIMULATE=1 python3 main.py

You can then connect to three motors by assigning a device to the X, Y, and Z axes in the Connection Manager, just like you can with the physical motors. Once connected, the motors will be automatically connected to in the future (as long as the simulation flag is set).

After connecting to the motors, you can do most of the same thing that you can with the physical motors, e.g. calibrating, queueing samples, etc.

Simulating time delays for motor movement

By default, the simulation mode will instantly move between positions. This is to help speed up development by removing unnecessary waiting time. However, there are cases where you want the connection and movements to take some time. This can be done by setting the MUNDO_SIMULATE_DELAY flag, i.e:

MUNDO_SIMULATE_DELAY=1 python3 main.py

The value of the flag is the time delay modifier. Setting this to 1 means that the default time delay modifier will be used (0.2s/mm). Increasing this value will increase the time it takes to perform actions with the motors. For example, setting this flag to 2 will result in the time delay being twice as long as the default, e.g:

MUNDO_SIMULATE_DELAY=2 python3 main.py

Debugging

By default, only errors will be shown in the debug log. If you want to show all logging, you can enable this by setting the MUNDO_DEBUG=1 flag, i.e:

MUNDO_DEBUG=1 python3 main.py

This can of course be combined with the simulation flag:

MUNDO_SIMULATE=1 MUNDO_DEBUG=1 python3 main.py