SCU Science Experiments - Geowissenschaften/EXCISS GitHub Wiki
Science experiments are defined in profiles that contain tasks to be performed by the experiment.
Science profiles are identified by a profile number. Number ranges are reserved for profiles with matching operation purposes:
Profiles | Reserved for purpose |
---|---|
0-99 | pre-flight ground tests |
100-499 | technical tests |
500-999 | defaults if communication fails |
1000- | scientific experiments |
A science experiment profile may contain a sequence of the following tasks:
Records videos or takes still images with the camera of the SEU.
-d record a video
-f video frames per second [fps]
-n base of image or video file name
-q quality of still image {0..100}
-r image or video resoultion (width x height)
-s take a still image
-t duration of video [s]
-v print verbose output
-V print version of this script
-h print this help message
Image or video files are created in the current work direktory.
File name base (-n) will be prefixed with date and cycle number and
suffixed with parameters, a sequential number (for videos) and a
file extension:
Video: YYYYMMDD_hhmmss_Cycle_FileNameBase_rRes_fFps_tDur-Seq.h264
Image: YYYYMMDD_hhmmss_Cycle_FileNameBase_rRes_qQua.{png|jpg}
Still image quality (-q) 100 creates PNG images, 0..99 creates JPEGs.
Example: MLU_camera -s -q 20 -n ImgCal_f0b0
Controls the front light and back light LEDs of the SEU.
-a set intensity of all lights (front+back)
-f set intensity of front light
-b set intensity of back light
-i intensity level {0..255}
-v print verbose output
-V print version of this script
-h print this help message
Example: MLU_LED -b -i 0
Controls the shaker (vibration motor) of the SEU.
-t Duration of vibration [s]
-w Waveform pattern
-v print verbose output
-V print version of this script
-h print this help message
Waveform (-w) is a series of 8 zero-padded, upper-case hex values,
separated by underscores: <FF_FF_FF_FF_FF_FF_FF_FF>
Example: MLU_shaker -t 5
The science experiment profile may also contain standard bash commands to control the execution logic, such as:
- for (( <start> ; <increment> ; <condition> )) ; do <command> ; done
- if <condition> ; then <command> ; [ elif <condition> ; then <command> ; ] ... [ else <command> ; ] fi
- sleep <duration>
- while <condition> ; do <command> ; done