summaryrefslogtreecommitdiff
path: root/SoftwareToDo.mdwn
blob: 7572ca147cf1fefd2cbfe0d899891e14e51bd98f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# <a name="Current Software To Do list"></a> Current Software To Do list

Also see the [[Avionics To-Do List|AvionicsToDoList]].

## <a name="Unassigned"></a> 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&lt;-&gt;USB&lt;-&gt;FC&lt;-&gt;telemetry&lt;-&gt;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

### <a name="Far far future"></a> 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.

## <a name="Andrew"></a> Andrew

## <a name="David"></a> David

## <a name="Jamey"></a> Jamey

## <a name="Josh"></a> Josh

- [[Prepare PowerPC cross-compilation environment|DebianCrossCompilerHowto]] (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)

# <a name="Old Software To Do list"></a> Old Software To Do list

This is the list of tasks we had to do before the [[2005-08-20 launch in Brothers, OR|news/2005-08-20]]. Please fliter the items below into either the list above or /dev/null, as appropriate.

## <a name="Unassigned"></a> Unassigned

- TEST! TEST!

## <a name="Jamey"></a> 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

## <a name="Andrew"></a> Andrew

## <a name="David"></a> David

- Import earlier LV1 and LV2 flight data

## <a name="Would be nice"></a> Would be nice

- Configure BIOS on LTC to boot faster (Linux BIOS?)

- Move IMU\_COAST to 0.9g limit and use &gt; rather than not in range.

- Move clearing the logs from the manually run `prepare_for_flight` script to the `pre_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 [[news/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](http://www.edgewall.com/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.

## <a name="Older To-Do Lists for Reference"></a> Older To-Do Lists for Reference

- Summer 2004 launch software tasks are listed in [[news/2003-10-07]] and status updated in [[news/2003-11-18]]
- _OUT OF DATE:_ July 17th, 2004 [[OMSI Space Day Demonstration|OMSIList]]
- _OUT OF DATE:_ [[Things to do for USENIX 2003|ToDoList]] _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|news/2004-12-07]]