Allow the core vehicle control and navigation loop period to be changed.
The vehicle control loop (start time) must be accurate to within 10 ms
- Supervisor::Supervisor() sets process priority to -20 to meet this requirement
- Todo:
- Need to do profile testing to verify this requirement has been met
Allow science data acquisition to occur asynchronous to core vehicle control
- Awaiting implementation of science sensor serial electronics
- Todo:
- Modify ReadSensor to allow asynchronous reads
Allow science data acquisition to occur at a variable loop period
- Todo:
- Modify ReadSensor to allow variable loop periods.
Allow science data acquisition to be triggered by some state change
- i.e. going through a depth, etc.
- Allowed by applying When and While constructs to the ReadSensor behavior/command
Vehicle attitude/navigation/control software must be tolerant to the presence/absence of sensors
- i.e. turning off sensors (for low power) and should be able to handle the on/off transients without incident.
- InternalSim may provide missing sensor readings for short periods of time during on/off transients.
- Todo:
- Need to test this.
It must be possible to control (in code) how the time tag for a particular piece of data is selected.
- i.e. timestamp when sent to log vs. when measurement was actually made
- DataWriter::write and DataWriter::writeWithAccuracy meet this requirement
Time values must be stored to at least millisecond resolution, with the option for less resolution.
- Default is to store data with 1 microsecond resolution, as coded in implementations of LogEntry::Read and LogEntry::write
- Todo:
- Implement 1 millisecond optional resolution to save log space
Time of last update for every data value must be available.