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.

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.