Components
Driver
Drivers take single commands and apply them as one off settings (or other events).
- DebugPrint: Simply prints its command to stdio. Advanced settings allow it to throw variable exceptions, to simulate hardware failure.
- IntensityDoubleI2C: Controls the legacy light rails in CAAPP chambers.
- SmartLight: Controls the newer SMARTLIGHT light rails in CAAPP chambers.
- SimulateSet: Updates the SimulatorWindow to reflect its command.
- ManualEmail: Sends out emails.
- PinSet: Manually set pinouts on attached FPGA.
- SendI2C: Manually send I2C on attached FPGA.
ExtraTask
ExtraTasks are just that: if something extra needs to be done during/before/after an experiment, it can be put into an ExtraTask component.
- EodNotify: Sends notifications whenever an EOD occures.
- LimsQuestionair: Gets LIMS information from user when experiment starts, saves it to experiment directory.
- LoggerConfigurer: Configures java loggers to output to experiment directory on experiment start.
- PauseResumeMemTask: Records when experiments were started/stopped internally, to enable pause/resume from the gui.
- SamplePictureTask: Takes sample images before an experiment starts. Pops up a GUI so that chamber tech can make sure plants are positioned properly.
- StartSync: Sets up file upload when an experiment starts.
- VersionRecorder: Records the software version when starting an experiment. Throws an error when you try to resume an experiment with a different software version than you started it with.
SensorDriver
SensorDrivers are responsible for firing sensors, and everything that comes along with that.
- DebugCameraDriver: Controller for DebugCamera, which simply takes sample jpg images from its DebugCameras when requested to capture. Also useful for simulation. Can be configured with a global and/or per camera failure chance will variable throwables.
- AVTCameraDriver: Controls AVT Vimba cameras.
- CSCameraDriver: Contacts cs-relay to control cameras.
- HitachiCameraDriver: Controls HitachiCameras directly.Only works on windows.
SensorGroup
SensorGroups are common settings and information amoung groups of common Sensors.
- DebugCameraGroup: SensorGroup for DebugCamera.
- AVTCameraGroup: SensorGroup for AVTCamera.
- CSCameraGroup: SensorGroup for CSCamera.
- HitachiCameraGroup: SensorGroup for HitachiCameras
Sensor
Sensors represent an individual piece of hardware responsible for measuring conditions. Almost always a camera.
- DebugCamera: Represents a single software-implementation camera. Can be used to simulate a real camera.
- AVTCamera: Represents a single AVT camera.
- CSCamera: Represents a single camera connected to CS
- HitachiCamera: An individual Hitachi Camera.
Resource
Resources are libraries for other components. They don't do anything by themselves.
- Emailer: Manages email handles, responsible for sending out emails upon request.
- LegacyFPGAControl: Legacy controller for FPGAs. Usually only used by other resources: see ProtocolEngine.
- ProtocolEngine: Responsible for crafting and executing camera protocols on the FPGA.
- ETADA_FPGA: Newer controller for ETADA FPGAs. Compatable with any FPGA using stuff.