summaryrefslogtreecommitdiff
path: root/software.mdwn
blob: 6734911e24d50158033132f2e8bc59ac4ec13556 (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
This page is for the AV3 avionics and ground software. Here are the active software projects for L-10 (June 2013).

## Admin 

- [[SudoSetup]]
- [Git](https://github.com/psas)

## Flight computer

Atom-based flight computer, connected via Ethernet to Cortex M4-based sensor nodes.  Wireless 802.11a telemetry to the ground during flight.  (Other end of 2.4 GHz band for ATV.)

- GitHub repository: <https://github.com/elderberry-capstone/elderberry>
- PSAS AV3 repository <https://github.com/psas/av3-fc>  (GPS and some other working code)
  - [Event-driven flight computer simulator](https://github.com/psas/event-driven-fc)
- Personnel: Jamey Sharp, Theo Hill, Ian Osgood, elderberry Capstone team

Our previous avionics experiments were with CAN (not developer-friendly) and USB (bad latency).

## Launch tower computer

[[Launch tower computer|GroundTeamHome/launch tower v3]] uses Phidgets for sensor nodes and communication.  Unlike previously, there will be direct ethernet connection between the launch tower computer and rocket while on the pad, used for bringing up and controlling the avionics pre-flight. Wireless 802.11n/g between launch tower computer and telemetry consoles and launch control consoles.

- Repository: <https://github.com/psas/launch-tower>
   - **TODO:** only has schematics and presentations. Needs source for its firmware, Windows launch controller, documentation of protocols.
- Personnel: Richard Witherspoon, Nathan Bergey

## Launch control and telemetry

Console software written in Python 2.7 with Kivy UI framework <http://kivy.org>.  Phidgets python drivers also required. Linux recommended.

- Repository: <http://git.psas.pdx.edu/launch-tower-comm.git>
- Kivy framework: <http://kivy.org/#download>
- Kivy documentation: [old](http://kivy.org/docs/guide-index.html), and [new](http://kivy.org/docs/guide2-index.html)
- Phidgets Python support: <http://www.phidgets.com/docs/Language_-_Python#Quick_Downloads>
   - **TODO:** how to integrate Phidgets main loop with Kivy main loop
   - **TODO:** mock Phidgets server, so we can develop without access to the launch tower computer
- Previous UI spec: [[RocketViewLaunchPanel]]
- Personnel: John Boyle

Pretty much everything below is obsolete. The previous requirements, communications protocols, and UI designs could be instructive for current projects.

----
----

This page is for the LV2c software development project, which overlaps with the [[Avionics]]. You may be interested in the old [[LV2SoftwareTeamHome]] or [[GroundTeamHome]]. Discussion occurs on our mailing list; see <http://lists.psas.pdx.edu/mailman/listinfo/psas-software>.

[[!toc levels="6"]]

# Projects

- [[NewUserProjects]]

## Testing infrastructure

Not yet established, but may include

- qemu
- CruiseControl
- Trac

## Avionics software

- [[LPC2148Software]]
- [[FlightComputerSoftware]]
- [[FCSoftwareRequirements]]
- [[FCSoftwareTestPlan]]

## Tower software

This may remain unchanged from the LV2 avionics system.

## Ground software

- [[Visualizer]]
- [[RocketView]]
- [[LaunchControl]]
- [[TerrainModeling]]

## Analysis and other tools

- [[RocketSim]]
- [[DataAnalysis]]

# Tool Notes

- [[DebianCrossCompilerHowto]]
- [[GentooCrossCompilerHowto]]
- [[PowerPCKernelBuilding]]
- [[FlightComputerNotes]]
- [[SudoSetup]]
- [[Git]] repository for new work
  - [Event-driven flight computer simulator](http://git.psas.pdx.edu/?p=event-driven-fc.git;a=summary)
- Web interface to our previous [Subversion repository](http://svn.psas.pdx.edu/) **Currently broken**
  - [[AvionicsSVNAccess]]
  - Eventually our archived work on LV2b and prior projects will be migrated to Git repositories

# Notes on the LPC 2368 / LPC 2378

- [[LPC23xxNotes]]

# Languages and Methodologies

- [[EmbeddedExtremeProgramming]]: XP and Mach 2; extreme methods for extreme environments?
- [[HaskellProgramming]]: functional, lazy, provably-correct rocket software?
- [[EsterelProgramming]]: state machines are your friends