Current Software To Do list
Also see the Avionics To-Do List.
Unassigned
Kalman filter simulation using models and data from past flights.
- Objective: Simulate a set of matching telemetry and rocket position/orientation.
- We are done when the filter takes the telemetry and comes up with the same simulated positions. log2(sum(abs(simulated - processed)))]
- We could start with ?RocketDES, or start from scratch (Haskell?)
Modify software build system to work easily with cross-compilation.
- Needs to build tools for host system, but build flight computer software for target system. Need to build libltc-fc-common for both.
- Should be configurable, not hardcoded.
- Possibly reorganize software tree, such as along host/target lines?
Design a streaming avionics<->USB<->FC<->telemetry<->RocketView data path
- Fix endianness issues in flight computer software and/or software it interacts with.
- Get drivers for hardware we care about
- Load kernel from flash rather than tftp
- Use root filesystem on Flash rather than NFS
Far far future
- Performance testing
- Run a full successful launch with the new flight computer hardware, using actual data from the actually-flying rocket.
- Land successfully.
Andrew
David
Jamey
Josh
- Prepare PowerPC cross-compilation environment (done)
- Get cross-compiled flight computer software up and running (done, works under qemu-ppc)
- Prepare a full flight computer image for the new flight computer hardware, (possibly done)
- Get flight computer software up and running on the new flight computer hardware. (done)
- Get flight computer software through preflight checks on the new flight computer hardware, using simulated data. (done)
- Run a full successful launch with the new flight computer hardware, using simulated data. (done)
Old Software To Do list
This is the list of tasks we had to do before the 2005-08-20 launch in Brothers, OR. Please fliter the items below into either the list above or /dev/null, as appropriate.
Unassigned
- TEST! TEST!
Jamey
- rocketview: Fix the gyro calibration in Rocketview
- rocketview: Fix IMU border low/high display (possibly by deleting it?)
- rocketview: Fix GPS navsol display
- rocketview: Display GPS velocity
Andrew
David
- Import earlier LV1 and LV2 flight data
Would be nice
Configure BIOS on LTC to boot faster (Linux BIOS?)
Move IMU_COAST to 0.9g limit and use > rather than not in range.
Move clearing the logs from the manually run
prepare_for_flight
script to thepre_flight_boot
init script. This will ensure the logs are cleared during normal testing.LTC program should not open the can device until has active TCP connection
fc-sim.sh needs rewritting
(from the 2005-07-09, confirmed on later tests) The packet rate seems to be overrunning the wireless at ~3500 messages / sec. This is being hidden by filling the network buffer. The message rate code in rocketview is computing the message rate based on the jiffy-coded time stamp of the message so we are computing the rate the kernel is queuing the messages, not the rate the ground is receiving them. Thus even though the network rate was low, when packets weren't being lost, the rate in rocketview appeared correct.
- Find the bottle neck. Is it the ISA bus? Can we offload to the PCI bus?
- Reduce the IMU packet rate to find the actual transmit bit rate
- Reduce overhead by increasing packet size? Is this even possible? (MTU?) Make it self-adjusting? We want it small, so that lost packets lose little data. What /is/ the packet size we are receiving?
The GPS sanity check initializes to zero, so several time constants are needed to get sane. Initialize filter with first unfiltered reading. Pressure wants this too.
Make pyro numbers into a little table.
Never use known-invalid data in a sequencer test.
Re-implement the features of fcfifo/nodes.c version 1.22.
- Move repository to subversion?
- Move some of the content of this page to Trac? (requires subversion repository)
- svk? (needs subversion)
- Rip out the remaining threads in the inaptly named run_threads. (Only timer and sequencer threads remain.)
- Use the GPS velocity (the measure determined by Doppler effect) as an additional input to launch detection. Possibly use for other motion detection, such as detecting apogee and touchdown.
- Incorporate "tuple" code into repository
- Move sequencer to "tuple"-based version
- Calibrated scale factors for rate gyros on the IMU
- Cantalope
- Make cantalope use getopt_long.
- create Java GUI for CANtalope
- ioctl to configure (or only configure on open of can-imu) [OPTIONAL]
- Transmit the entire state of the blackboard on an alternate channel
- Turn off generation of UDP checksum and add a data payload checksum to each packet (setsockopt(..., SO_NO_CHECK) for sender), test this on the receive side. Log all packets as forensic evidence/link quality information, only trust/use ones with good checksums.
Older To-Do Lists for Reference
- Summer 2004 launch software tasks are listed in 2003-10-07 and status updated in 2003-11-18
- OUT OF DATE: July 17th, 2004 OMSI Space Day Demonstration
- OUT OF DATE: Things to do for USENIX 2003 Out of date
- OUT OF DATE: AvionicsSoftwareStatus: old task list, not being used, but keep for reference
- OUT OF DATE: Action items from the Dec-7 software review