Team:EPF-Lausanne/Tools/Microfluidics/Tamagotchip

From 2011.igem.org

(Difference between revisions)
(For the geeks: details of the software framework)
(For the geeks: details of the software framework)
Line 41: Line 41:
The entire software framework, code-named "Muigi the Microplumber" was written in Python, and is open sourced under the GPL license. The source code is available on [https://github.com/douglas-watson/muigi github]. The following lists all the packages used, from the hardware up.
The entire software framework, code-named "Muigi the Microplumber" was written in Python, and is open sourced under the GPL license. The source code is available on [https://github.com/douglas-watson/muigi github]. The following lists all the packages used, from the hardware up.
-
Communicating with the EasyDAQ is done through the ''pySerial'' library. The EasyDAQ expects two-character strings to set the state of its on-chip relays. To provide a clearer interface to the card, a driver-like library provides a set of high level functions, allowing explicit opening or closing of valves, which are then used by the other layers. It also automatically reconnects to the EasyDAQ when it drops the connection. Overall, it provides an abstraction from the hardware, for the other layers to avoid low-level hardware communication.
+
Communicating with the EasyDAQ is done through the ''pySerial'' library. The EasyDAQ expects two-character strings to set the state of its on-chip relays. To provide a clearer interface to the card, a driver-like library provides a set of high level functions, allowing explicit opening or closing of valves, which are then used by the other layers. It also automatically reconnects to the EasyDAQ when it drops the connection. Overall, it provides an abstraction from the hardware, to avoid dealing with low-level hardware communication in the other layers.
On top of that, a Remote Procedure Call (RPC) layer provides the connection between the web application and the hardware driver, enabling the two to run on separate computers. All this is handled by the ''RPyC'' library and its registry server (which used by the RPC client to discover RPC servers on the network).
On top of that, a Remote Procedure Call (RPC) layer provides the connection between the web application and the hardware driver, enabling the two to run on separate computers. All this is handled by the ''RPyC'' library and its registry server (which used by the RPC client to discover RPC servers on the network).

Revision as of 19:38, 18 September 2011