Technical Meeting #12: Software design
This meeting took place at 14:00 on Wednesday 27 October. Attendees: JSY, MF, EBS.
Agenda
- Software requirements for our testing
- Image display for setup purposes
- Temperature logging
- Centroid logging
- Anything else?
- Open Design Issues
- Choose ISS interface flavour: "C" (threads/processes)/"C-no-threads" (event loop)
- Can we use floating point in Xenomai kernel-space real-time?
- How to transmit dark/flatfield frames to/from ISS?
- How to receive off-axis/dispersion offsets from UTCS via ISS?
- May need to account for future off-axis offsets when choosing initial position of subframe on FTT Mode start
- Choose GUI toolkit
- Plan for camera loan
Discussion slides
Slides as PDF
Conclusions
The upper diagram shows the FLC software tasks and dataflows as presented at the CoDR. The lower diagram includes changes discussed at this meeting, some of which are to support our component and integrated tests. Software requirements for the tests are summarized in a separate report.
Changes from CoDR
- GraphicalInterface and LocalDataCollector grouped into single process
- Cambridge-supplied LocalDataCollector
- ISS Data Collector probably not suitable as LocalDataCollector (e.g. issues with retrieval of recorded data), and unlikely to be ready in time
- ISS Data Collector shown
- Will not be present in standalone role (neither will ISS Executive/Supervisor)
- TempController (EnvController?) has interface to ISS
- Allows ISS to query state for this process
- Division of tasks between main process and TempController depends on I/O device sharing issues - to be investigated
- TempController could control power on/off for camera ("?" on diagram)
Implementation Details
- Expect to use threads for multi-tasking, with shared data (no ZeroMQ). Thread locking issues not anticipated to be excessively complex
- Main FLC process will have built-in image display capability for debugging, implemented using X11 libraries
- We will write a Data Analysis GUI in Matlab (not shown)
- Reads files recorded by LocalDataCollector
- GraphicalInterface will still include commonly-used diagnostic displays
- Expect to use dlmsg protocols for publishing to LocalDataCollector, with recording to DL-style FITS files
- Facilitates collection of metrology data from DL metrology subsystem
- Can use DL workstation software as interim LocalDataCollector
- GraphicalInterface will be implemented using C/GTK+ or C++/gtkmm
New Tasks
- EBS: Investigate ADC/DAC/digital I/O interface cards and device sharing issues
- EBS: Investigate whether floating point is allowed in Xenomai real-time code
- MF: Try reading example FITS image time-series into Matlab