Join GitHub today
MicroDrop v1.0 software architecture
Table of Contents generated with DocToc
See also: MicroDrop v2.0 software architecture
- All code written in Python (version 2.7).
- Single process executing GTK 2.0 main run loop.
- All functionality added to main run loop through plugins.
Core plugins are included in
- User plugins may optionally be installed to, for example, control hardware.
- Core plugins are included in
- Each plugin:
- is implemented as a Python class
- optionally implements one or more callback methods corresponding to signals that may be emitted by any plugin
- optionally specifies a set of application fields to persist across application launches (e.g., application window width and height).
- optionally specifies a set of step fields to save for each step in a protocol (e.g., actuation voltage and frequency).
- Note: All plugin callbacks are executed within the main run loop process.
TODO Add description (or link to description) to each core plugin; e.g., implemented methods
The following core plugins are included as part of the
microdrop>=1.0,<2.0 Python package:
While the core
DmfDeviceController plugin keeps track
of which electrode actuation channels are on/off during each protocol step,
none of the core plugins interface with actuation control hardware.
dmf_control_board plugin controls actuation parameters for the
DropBot open-source Digital Microfluidic (DMF) control system
(described in detail in "Fobel et al., Appl. Phys. Lett. 102, 193513 (2013);