====== Software overview ======
The LabAutoBox software has 3 different modes of operation:
- Interactive - manually control devices, denoted by green
- Design - adjust the object (plates, wash stations, etc) physical parameters and macros, denoted blue
- Camera control - select and control different Internet-of-Things cameras, denoted by red
//
//
----
//
//
===== Interactive mode =====
//
//
The interactive mode is where you can manually control the various different lab automation functions. This user interface is always present on the left side of the LabAutoBox system software when the software establishes a connection with the robotic system. The connection is established via the serial interface using a python MQTT subscriber script.
* Starting scheduler (green) that establish device connections and providing access to Interactive mode
* XYZ positioning (blue)
* 4-way valve positioning (red)
* Wash/waste pumps and positioning to wash/waste/dry stations (orange)
* Multichannel syringe positioning (purple)
* PCV liquid level setting and pump (orange)
* Heat block monitoring (grey)
//
//
----
===== Design mode =====
//
//
//
//
Designing laboratory automation programs involve defining and adjusting object physical parameters that are positioned on the robotic deck. The physical parameters define the XYZ positioning of the 3D printer/liquid handler/CNC robotic system. Building macros can involve both compiling individual commands or by integrating other macro lists. The LabAutoBox software allows you to test that the macros are working properly and to make adjustments when needed and there is a logger display interface that allows you to monitor the progress of the application. If a problem is observed you can abruptly stop the run by pressing the "Disconnect" button described in Interactive mode.
----
==== Objects ====
//
//
//
//
Normally you can give an object any arbitrary name, with exception to the "wash station" and the "drypad". These two objects involve special macros (relating to wash and dry macros).
Upon saving the object properties, the new data is stored as a temporary session variable (that lasts as long as the browser stays open indefinitely). For long term storage into a file, then you need to select the "Save objects" button which will save the data into a JSON file. There is a tool available for selecting, downloading and uploading JSON object files that is accessible by clicking the "Manage object files" button.
----
----
The robotic deck display is designed to work with different sized robotic systems like small 3D printers or larger liquid handling workstations. At the top of the deck display, there is a tool for adjusting the width and height. The location of the objects is relative to the zero position being at the bottom left corner of the instrument this is where the instrument should be homed to.
----
==== Build Macro ====
//
//
This tool is used to craft macros segments. Here referencing the color codes are the different types of macros that can be developed:
* Custom macro list (green) - Select saved custom macros to make other macros
* Tip washing macro (blue) - Wash or just dry pipette tips
* Position to object (red)
* Position 4-way valves (orange)
* Multichannel syringe pump (blue)
* Wash, waste and pressure compensation pump (gray)
* Camera take photos (green)
* Thermal block control (red)
* Macro assembler (orange) - This is the place where the macros are inserted to
After selecting a macro segment and entering the data, the macro can be inserted into the Macro assembler. Using the macro assembler tool, macros can be selected and saved or deleted. If saved you can see the full LabAutoBox macro syntax in the Edit/Run view
----
==== Edit/Run Macro ====
//
//
The 'Build Macro' tool is useful for crafting macros but they need to be tested and this is done in this view. Since there can be some syntax to some of these macros. The macros listed in the 'Macro assembler' box at the bottom of the 'Build Macro' view are abbreviated and so the full syntax is shown in this 'Edit/Run Macro'.