NAME
Robotics::Tecan::Genesis::Compiler - (Internal module) Compiles commands from Perl method to robotics hardware tokens
All Functions
Internal functions. Data communications for this hardware.
Returns 0 on error, status string if OK.
- Tecan Genesis + Gemini software has (for the purposes of this module's design) the following heirarchy of data communication:
-
- Gemini worklist commands (like: "A;... D;..."). Not described in documentation.
- Gemini *.gem script commands (like: "Aspirate(..)"). Not described in documentation. Reverse engineer from the *.gem files.
- Gemini script commands (like: "B;Aspirate(...)")
- Gemini named pipe commands. Described in the thin documentation of "gem_pipe.pdf"
- Low level single commands (like: "M1PIS"). This is the raw robotics firmware command. Described in the thin documentation of "gemfrm.hlp". Sent through named pipe prefaced with "COMMAND;"
Only the named pipe commands and low level single commands can be sent through the named pipe to control the robotics. To run the script commands, a dummy script file must be written to disk, and a pipe command can be sent to execute the script file (like a bootstrap method). Worklist commands can be executed using a double-bootstrap; to provide status of command completion, use the execute command to run an external semaphore program to track script status.
Design note: To distinguish between command types, they are called 'type1' (firmware commands, single instruction) and 'type2' (multiple arguments with semicolon) in this code.