wiki/ news/ 2012-05-21 - FCF Design for Summer 2013 Launch

We discussed how to start building the flight layout of the L10 flight computer.

The layout for the flight computer code and the flight computer framework (FCF).

The diagram for the FCF structure:

L10 FCF diagram

Also a state machine is proposed for the flight computer.

FC state computers

The checklist of things that need to be true for safe to move to arm is at least:

Main Miml File

sources:
  - [ADIS, adis.miml] # ADIS Sensor
  - [GPS, gps.miml] # GPS Sensor
  - [OTHER, other.miml] # Test/Other Sensors
  - [ARM, arm.miml] # Arm Code Module
  - [RC, rollcontrol.miml] # Roll Control Code Module
  - [RS, rollservo.miml] # Roll Servo Control Interface
  - [LOG, logger.miml] # Logger code Module

messages:
  ADIS.sendADISData: # - [data, ADIS_packet*]
    - ARM.arm_getPositionData_adis
    - RC.rc_getPositionData_adis
    - LOG.log_getPositionData_adis

  GPS.sendGPSData: # - [data, GPS_packet*]
    - ARM.arm_getPositionData_gps
    - LOG.log_getPositionData_gps

  ARM.sendARMData: # - [code, char*]
    - RC.rc_getSignalData_arm
    - LOG.log_getSignalData_arm

  RC.sendRollControlData: # - [data, RollServo_adjustment*]
    - RS.rs_getPositionData_rc
    - LOG.log_getPositionData_rc

  RS.sendRollServoData: # - [code, char*]
    - RC.rc_getSignalData_rs
    - LOG.log_getSignalData_rs

  OTHER.sendOtherData_A: # - [data, Other_A_packet*]
    - LOG.log_getPositionData_OtherA

  OTHER.sendOtherData_B: # - [data, Other_B_packet*]
    - LOG.log_getPositionData_OtherB

Notes: I'm looking at http://psas.pdx.edu/avionics/av3-data-protocol/ right now and wondering if we can go with:

char[4] FourCC
int X
int Y
int Z
char temp

as the main datatype for all functions defined above. There still is the issue of error messages which can be a separate message type from each module to the logger using a char buffer to log the message string.