PSAS/ news/ 2004-12-07

In attendance: ?JameySharp, ?KeithPackard, ?PeterWelte, Tim, AndrewGreenberg

Reviewing java UI code

Rocket Status Display

  1. Random bits hard to interpret
  2. Want red/green lights about rocket element status
  3. Use array of status displays

nodes.c

nodes.c:run

Purpose:

  1. Tracks node state by polling some nodes
  2. Can't track success of "enable" messages

Problems:

  1. Could watch for data messages and track.
    • Remember timestamps from last message from each node
    • Easy for most things as messages are broadcast
    • Requires changes to IMU thread to post timestamps. Post to blackboard and have nodes thread monitor.
  2. Rocket Ready is magic. We don't want to re-set it if it goes down, we want to abort launch.
    • We thought we want the nodes thread to do the set, but it's not necessary.
  3. Recovery node is somewhat magic.
    • Request 'abort' state and recovery transitions to 'safe'
    • Request 'safe' state and recovery may be in either 'safe' or 2m enabled.

Fixes:

nodes.c:message

Purpose:

  1. Receives node state notification messages
  2. Tracks actual node state

Problems:

  1. Wakes up node thread if state is "wrong", so:
  2. If node can't get into the right state, we'll spin

Fixes:

nodes.c:node_reset

Purpose:

  1. Uses enumeration to reset specific nodes
  2. Assumes reset data is 0x2e, which is currently true for all nodes.
  3. We wondered if APS uses a different reset data, but it doesn't.

Problems:

  1. If the APS is reset, the flight computer gets powered off.

Fixes:

rec.c

rec.c:message

Purpose:

  1. Tracks pyro firing state
  2. But, pyro sends 1 when firing, 0 when done
  3. Must track ever fired

Fixes:

rec.c:rec_set_timer

Purpose:

  1. Sets a single pyro timer.

Fixes:

can_rw.c

Problems:

  1. Calls directly to write messages to net and flash
  2. Must not write to flash or net from can_rdr

Fixes:

imu.c

Purpose:

  1. Monitors all IMU messages
  2. Can use /dev/can1 when available (better be always)
  3. Sends raw and cooked data for each message

Problems:

Fixes:

gps.c

Purpose:

  1. Reads serial GPS protocol
  2. Parses out lat/lon/alt
  3. Converts to UTM
  4. Parses out ECEF
    • Need either ECEF or UTM for 'near tower' compuation

Problems:

Fixes:

NOTES

  1. Make sure something (lots of things) log all of the network traffic they receive. Perhaps a daemon on the server machine constantly monitoring the network would be good. Something we can't turn off would be best.
  2. Some messages have timestamps, some do not. Make sure all timestamp consumers check for valid timestamps in all messages. Invalid timestamps have '0' time (yes, some valid ones will too).

  3. set_ms should ignore zero times


At this point Keith left, taking our notes with him. But we got them back.

pressure.c

report_state.c

run_threads.c

atv.c

sequencer.c

  1. repeat note: start() needs to initialize structures in nodes.c (Andrew: get Jamey init values)
  2. evaluate_powerup needs to be minimally implemented so that a FC boot doesn't take "safe" the nodes. (Andrew: get Jamey state transitions)
  3. in arming_test(), move the inversion into the comment.
  4. rocket_ready: set all four pyro timers
  5. rocket_ready: redo pressure and imu boot detects
  6. launch_abort: REMOVE REC_MODE_ABORT!!
  7. boost: redo boost detect? or ok?