Technical Meeting #13: Software design (continued)
This meeting took place at 11:30 on Thursday 18 October 2010. Attendees: JSY, EBS, MF, DFB.
Agenda
- Open Design Issues
- Architecture of real-time code: data processing in user-space to allow floating point?
- Common API with Alex's simulator?
- GUI toolkit
- C++/gtkmm or C/GTK+ ?
- Main FLC process has minimal GUI?
- Separate GUI process connects with multiple FTTs?
- Relationship to delay line software
- FITS conventions:
- Use Hierarchical Grouping Convention?
- 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
Conclusions
- Should be possible to implement data processing in user-space real-time task, and this architecture seems sensible - EBS to attempt proof-of-concept
- GUI should allow connections from multiple subsystems (processes) e.g. system controller, enclosure environmental controller, DL metrology
- Each GUI instance will normally be used with only one FTT or FLC system. May choose to enforce this if it simplifies the implementation
- FTT/FLC system should be able to connect with multiple GUI instances simultaneously e.g. local and control room instances (need to support simultaneous connection with ISS anyway)
- A GUI instance or the ISS can send a command to grab control of the system; other connections become read-only and tell the user which instance has control
- Proposed usage of HGC (subject to successful trial):
- New directory created for each contiguous recording; sequence of directories with related names for commanded sequence of recordings
- Each directory contains an "index" FITS file plus one FITS file per dlmsg connection, each containing a single HDU
New Tasks
- EBS: Test signalling from Xenomai kernel task to user-space RT task
- ADR/EBS: Define APIs for centroiding and calculation of TT correction signal
- JSY: Design new dlmsg (dis)connection protocols for GUI
- JSY: Investigate image display in GTK/gtkmm
- JSY: Try out FITS Hierarchical Grouping Convention