projects:high_altitude_slug:software
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
projects:high_altitude_slug:software [2006/07/07 10:17] – phatmonkey | projects:high_altitude_slug:software [2008/07/19 23:33] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Software ====== | + | ====== Software |
+ | Note: this is mainly for our reference! | ||
===== Onboard ===== | ===== Onboard ===== | ||
- | The on board software is written entirely in C. Non-realtime IPC is done with a TCP server that repeats back any information sent to it. This makes debugging/ | + | Still being planned |
- | + | ||
- | Note: this is mainly for our reference! | + | |
- | + | ||
- | There are 5 major processes: | + | |
- | ==== main.c ==== | + | |
- | Forks, controls and handles errors from other processes. This also controls the shared memory, | + | |
- | + | ||
- | ==== flight.c ==== | + | |
- | This process manages the flight (ie, keeps track of when it is ascending/ | + | |
- | + | ||
- | * Keeping a list of waypoints. Waypoints consist of a position and an optional required altitude. | + | |
- | * Calculating "sub waypoints" | + | |
- | * Calculating when a waypoint is reached based on GPS position and thresholds | + | |
- | * Calculating headings to go in based on the current position and the next waypoint (continuous so it will not drift off course) | + | |
- | + | ||
- | Currently for development, | + | |
- | + | ||
- | ==== roll.c ==== | + | |
- | * Maintaining straight/ | + | |
- | * Calculate current heading | + | |
- | * Bank and turn based on heading to next waypoint and current heading | + | |
- | + | ||
- | ==== pitch.c ==== | + | |
- | * Maintain constant airspeed, maybe based on stall speed at current altitude or fixed pitch. Without a pressure sensor, this will have to be done purely with ground speed, so a fixed pitch may be necessary. I shall have to look into attaching a pitot pressure sensor. | + | |
- | + | ||
- | Currently for powered flight development, | + | |
- | + | ||
- | ==== gps_reader.c ==== | + | |
- | * Reads GPS data from gpsd using libgps and sticks it in shared memory. | + | |
- | + | ||
- | ===== Possible ground station ===== | + | |
- | To display: | + | |
- | + | ||
- | * Readings from sensors. | + | |
- | * Flight plan and waypoints | + | |
- | * Attitude/ | + | |
- | * Altitude. | + | |
- | * GPS position. | + | |
- | * Speed. | + | |
- | * Rate of descent/ | + | |
- | * Payload status (ascending, descending, landed etc). | + | |
- | * Raw output from log. | + | |
- | * Battery voltages. | + | |
- | * Space remaining on disk. | + | |
- | * Number of photos taken and, depending on bandwidth, a compressed version of the last image. | + | |
- | To send: | + | ==== Other pages ==== |
+ | * [[.software:client]] | ||
+ | * [[.software: | ||
- | * Cut down. | ||
- | * Take photo. | ||
- | * Change/add to flight plans. | ||
- | * Edit/add to waypoints. | ||
- | * Manual control for emergencies. | ||
- | * Release parachute. |
projects/high_altitude_slug/software.1152267444.txt.gz · Last modified: 2008/07/19 23:31 (external edit)