Unformatted text preview:

B Software DocumentationB.1 Avionics Software and Operating System Overview – MAS B.1.1 InitializationB.1.1.1 Version documentationB.1.1.2 ConstantsB.1.1.2.1 System Constants and Data SizesB.1.1.2.2 Sensor and Actuator Calibration ConstantsB.1.1.3 Included FilesB.1.1.4 Input and Output ChannelsB.1.1.5 Function PrototypesB.1.1.6 Global VariablesB.1.2 Main function and Operating System (OS)B.1.2.1 Background and VersionsB.1.2.2 OS Interrupt Timing Cycle (overview and design)B.1.2.2.1 Tasks and Limiting FactorsB.1.2.2.2 Stage ProgressionB.1.2.2.3 Infrared InterruptB.1.2.2.4 Simulated IRB.1.2.2.5 Intermediate Adjustments – Small Control LoopB.1.2.2.6 Summary of Timing DesignB.1.2.3 OS Implementation: main() Function and InterruptsB.1.2.3.1 OS InitializationCreate and Initialize Local VariablesPrint ID infoTPU clockIR Interrupt HandlerSet up actuator PWM outputsInitialize RW PWMInitialize TachometerCalibrate gyroscopeDefine PITR timer (Small Control Loop)Set Up Main Timing InterruptInitialize Main Timing InterruptInitialize Communications I/OInitialize Metrology I/OInitialize Data ArraysStart Avionics Local TimerEnter Main LoopB.1.2.3.2 OS Main Loop and InterruptsEnter Main LoopMain Loop Exit ConditionThe Variable int_flagThe Variables Loop_Stage and Loop_counterOS Stage 1 – WaitOS Stage 2 – MetrologyOS Stage 3 – PVAOS Stage 4 - CommOS Stage 5 - MSA and ControlB.1.3 Avionics Software: ModulesB.1.3.1 SmallControlInterruptB.1.3.2 ControlTestCase1 <BB>B.1.3.3 MainTimingIntB.1.3.4 SetupPWMB.1.3.5 DefinePWMB.1.3.6 SetupIRIntB.1.3.7 IRInterruptB.1.3.8 InitTACHB.1.3.9 GetTACHB.1.3.10 GetMetroDataB.1.3.11 GetTB.1.3.12 ClearStringB.1.3.13 CreateLocalPVAB.1.3.14 SendHB.1.3.15 GetHB.1.3.16 Transmit_PVAB.1.3.17 Fetch_PVAB.1.3.18 CreateMSA <SJS & MAS>B.1.3.19 FloatToInt <SJS>B.1.3.20 BitwiseFun <SJS>B.1.3.21 ConvertMSA <SJS>B.2 Communications Software (JEU)B.2.1 Packet StructureB.2.1.1 HeaderB.2.1.2 Secondary headersB.2.1.3 DataB.2.1.4 Error-checking and correction routinesB.2.2 GUI (ESS)B.2.2.1 InitializationB.2.2.2 String CaptureB.2.2.3 String ParsingB.2.2.4 Type ConversionB.2.2.5 Unit ConversionB.2.2.6 Data LoggingB.2.3 Communication ProceduresB.2.3.1 TransmitB.2.3.2 ReceiveB.2.4 Network StructureB.2.4.1 Node definitionsB.2.4.2 Communications cycleB.2.4.3 Bandwidth usageB.2.5 DR2000 CommunicationB.2.5.1 DR2000 CommandsB.2.5.2 TT8 Serial SettingsB.3 Metrology Code Overview (OM)B.3.1 Version documentationB.3.2 Include FilesB.3.3 Input and Output ChannelsB.3.4 Global VariablesB.3.5 Function PrototypesB.3.6 Metrology Design OverviewB.3.7 Distance Determination CodeB.3.8 Metrology Software: ModulesB.3.9 Calibration DataEMFFORCE OPS MANUAL Space Systems Product Development – Spring 2003 B Software Documentation The software in the EMFF system can be initially grouped by its physical location: avionics software on the avionics Tattletale, metrology software on the metrology Tattletale, and ground station software on the EMFF laptop. The avionics Tattletale (TT8) houses software for avionics, communication, and control; the ground station and metrology TT8 computers each hold the majority of their own subsystems’ software. However, in this appendix all software (SW) will be grouped by function, or subsystem: “avionics” (B.1) covers all SW on the avionics TT8 but does not address communication or the control test module in detail; “communications” SW (B.2) includes the communications modules on the avionics Tattletale and all ground station SW; “metrology” includes all SW on the metrology TT8; “control” (B.4) includes specific information on translating control test algorithms to C source code and integrating them into the avionics software. B.1 Avionics Software and Operating System Overview – MAS (p.1-15) “Avionics software” is the name for the software package loaded to the avionics Tattletale computer. The avionics software is composed of three parts: the initialization section, which establishes vehicle- or system-wide standards (e.g. number of vehicles), mathematical constants, hardware I/O interfaces, and global variables; the main() function, which contains the EMFF operating system (OS); and the many separate functions, or modules, which accomplish specific tasks relating to timing, control, communication, metrology, or computation. B.1.1 Initialization B.1.1.1 Version documentation The history of the code should be documented in the top section. CODE_VER is a string established here, available at any point in the code for printout during debugging. Under this are notes regarding sections of the avionics code currently undergoing revision. The version of code to which this document refers is “IT-2A test 3” – or version 3 of Integrated Test 2A. B.1.1.2 Constants B.1.1.2.1 System Constants and Data Sizes These constants are important at the entire system level. They set the identification of the local vehicle, the number of vehicles in the system, number of stages in the operating system cycle, buffer sizes for incoming communications and metrology data, and sizes of data-holding vectors (e.g. PVA, MSA). Table B-1 lists system and data size constants and where they are used. Massachusetts Institute of Technology 1 Dept of Aeronautics and AstronauticsEMFFORCE OPS MANUAL Space Systems Product Development – Spring 2003 Table B-1: Avionics System and Data Size Constants Identifier Name/Description Used in function Default value? VEH_ID Vehicle identification # (0, 1, or 2) MSA, comm code 0 = master NUMBER_OF_VEHICLES Number of vehicles in system MSA, comm code 2 = test 2X TSBUFSIZE Buffer size for TPU channel (input from Metrology TT8 ) main(): Comm and Met channel initial’n 256 (B) SBUFSIZE Buffer size for serial channel (comm hardware = DR2000) main(): comm channel initialization (only) 256 (B) NUM_OF_STAGES Number of stages in the main OS loop MainTimingInt() 5 for 2-vehicle ops IR_Period Sets control pd for *simulated* IR beacon SetupIRInt() 350 (ms) METRO_RAW_DATA_LENGTH Storage buffer for incoming met data GetMetroData() 100 (B) NUM_MET_DATA_ELEMENTS Sets vector length for collected met data GetMetroData() 12 (elements) NUM_PVA_ELEMENTS Sets vector length for PVA CreateLocal PVA() 9 (elements) NUM_MSA_ELEMENTS Sets vector length for MSA


View Full Document

MIT 16 83X - Software Documentation

Download Software Documentation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Documentation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Documentation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?