Home

Aviation Research Lab Institute of Aviation IPC DATA LOGGER (A

image

Contents

1. The unit used in this application is the QTERM II TM manufactured by QSI Corporation The particular model chosen has a backlighted display RS 232 9 pin D type connector and the wide temperature option The alphanumeric display is four lines of twenty characters each The unit has a forty 40 key tactile keypad of which five are user definable Five light emitting diode LED indicators are available for displaying status information in addition to the alphanumeric display The five LED indicators are labeled REC GPS DIFF GYRO and MARK REC indicates that the Data Logger is recording data GPS indicates that the GPS receiver is providing 3 dimensional position data DIFF indicates differential corrections are being applied to the GPS data GYRO indicates that the vertical gyroscope has erected MARK indicates that the data being recorded is being marked to aid later analysis Below the five LED indicators are five custom keys labeled START STOP EXIT RESTART CAL COMP and TGGLE These are the only keys that the operator normally uses during operation of the system e START STOP allows the operator to start and stop logging data The GPS and GYRO LED s must be lit before logging can be started Logging can be started and stopped as often as required all the recorded data is stored in a single file e EXIT allows the operator to start the shutdown procedures after the final termination of data l
2. CopyToFloppy calls FileCopy to perforn the disk to disk copy TNT KEIKKA SORORE RORUORROR ACE RORHOR JOR ACE AA JOE EES ERE ARES ER EE EERE ERED EH EEE RY void CopyToFloppy void char fname char dest a char destfile 20 char search 80 char sourcefile 80 struct ffblk block struct diskfree_t free int FileCopy char char if _dos_getdiskfree 1 amp free 0 f QTReset QTWLine No Disk in Drive 1 QTWLine FILE COPY ABORTTED 3 QTBeep delay 2000 return 53 if strlen DataDirPath strcpy search DataDirPath strcpy sourcefile DataDirPath strcat search fname if findfirst search amp block FA ARCH 0 return strcpy destfile dest strcat destfile block ff name strcat sourcefile block ff name if chmod sourcefile 0 0x20 1 CopyM essage destfile if FileCopy destfile sourcefile chmod sourcefile 1 0x00 for if findnext amp block 0 return strcpy sourcefile DataDirP ath strcat sourcefile block ff name strcpy destfile dest strcat destfile block ff name if chmod sourcefile 0 0x20 f CopyM essage destfile if FileCopy destfile sourcefile chmod sourcefile 1 0x00 JE EE ASKE ALES AL ESA ES ART A ER AE ER EER EET A EE A ER AE Ko oo eo ER eoe FileCopy copies source to destination returning true if ka if suuccessful and false if not p JERKK
3. K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K DOR OK OK OK OK OK OK OK OK OK OK OK K K K K e x JA Writes the null terminated string buffer to designated line HE A K K K K E KKK E RE AR Kk E OR RE RK EKE void QTW Line char buffer int line char pos 4 ESC I position to col 1 line 1 char clear 2 ESC K Y clear to end of line pos 2 line 1 modify line to that selected WriteBuffer QT pos 4 exec positioning WriteBuffer QT clear 2 exec clear WriteString QT buffer 1 write string EP ESSLES ELE SELES IEI KITEET ERE EERE A ERE SEALS ERE SEALS EER EARLE ERE i Control Status of Q Term LED s xj ka abaka NEA AGA NEA AA AA AA AA void OTLed int lamp int function char string 3 ESC P unsigned char c lamps numbered 1 5 from right to left 0 off 1 On 2 blink 3 toggle 59 c 0x40 lamp 8 function string 2 c W riteBuffer QT string 3 Jt E ERROR EOROR EL ELE EEE LES ER ESLER ESE EEE A EES EEE AE EES EES ERE RARE Rog OR EURO OE E i Toggle Backlight on display JEEE KRKK E K kk Kk Ak Kk kkk KKK K KK k KKK k K Kk akk k kk EK k kk K E k Kk K k E EE kK E de void QTBackLite void char back 3 ESC V B WriteBuffer QT back 3 PK AK OK K K OK K K OK K K OK CE K OK CK OK OK K OK OK CK OK CE CE K OK CK K OK CK
4. delta 2 delta 2 delta 6 delta 2 delta 4 sinlat sinl latrad coslat cosl latrad tanlat tanl latrad coslat 3 coslat coslat coslat coslat 5 coslat 3 coslat coslat coslat 7 coslat 3 coslat 3 coslat tanlat 2 tanlat tanlat tanlat 4 tanlat 2 tanlat 2 tanlat 6 tanlat 2 tanlat 4 ETA eccenbsqr coslat coslat ETA 2 ETA ETA ETA 3 ETA 2 ETA ETA 4 ETA 2 ETA 2 SN rad cur major eccensqr sinlat TMD true mer dis AP BP CP DP EP latrad tl TMD OK t2 SN sinlat coslat OK 2 0L t3 SN sinlat coslat_3 OK 5 0L tanlat 2 9 0L ETA 4 0L ETA 2 24 0L t4 SN sinlat coslat 5 OK 61 0L 58 0L tanlat 2 tanlat 4 270 0L ETA 330 0L tanlat 2 ETA 445 0L ETA 2 324 0L ETA 3 680 0L tanlat 2 ETA 2 88 0L ETA 4 600 0L tanlat 2 ETA 3 192 0L tanlat 2 ETA 4 720 0L t5 SN sinlat coslat 7 OK 1385 0L 3111 0L tanlat 2 543 0L tanlat 4 tanlat 6 40320 0L if latrad gt 0 0L north OL else north 1 0e7L T4 north tl delta 2 t2 delta 4 t3 delta 6 t4 delta 4 delta 4 t5 t6 SN coslat OK t7 SN coslat 3 OK 1 0L tanlat 2 ETA 6 0L t8 SN coslat 5 OK 5 0L 18 0L tanlat 2 tanlat 4 14 0L ETA 58 0L tanlat 2 ETA 13 0L ETA 2 4 OL ETA 3 64 0L tanlat 2 ETA 2 24 0L tanlat 2 ETA 3 120 0L t9 SN coslat 7 OK 61 0L 479 0L tanlat 2 179 0L tanlat 4 tanlat 6 5040 0L east FE delta meridian t6 delta 2 delta meridian
5. NULL strcpy tempbuffer marker 1 if sscanf tempbuffer s path return 1 path 0 0x00 return 0 GPSTEST C include lt stdio h gt include lt dos h gt include lt time h gt include lt ctype h gt include lt bios h gt include lt alloc h gt include lt stdlib h gt include lt conio h gt include lt math h gt include lt string h gt include lt dir h gt tinclude lt io h gt include al2drvc h include ibmkeys h include asciidef h include gsci h time t WriteTime int PacingFlag 0 int WriteTimeFlag 0 include logger h Logger Header FILE restart FILE logfilepointer char LogFileName 80 int GPSFlag O RecFlag 0 CalFlag 0 GyroFlag 0 ReStartFlag O DCIFlag 0 InitFlag 0 MarkFlag 0 Marklndex 0 ReStartFileFlag 0 the lines below GPS Data Available Recording Data Calibrating Compass Gyro Erect Restart Recording to old file Differential Corrections good Init in progress 4 Marking in progress Current or last mark index Valid restart file read 40 int int int int int int int int int ReStartUpdateFlag 0 Update present restart ini file ReStartM arkIndex 0 CompassCheckFlag 0 display compass check LogFileNamed 0 valid filename in logfilename WriteRecordFlag 0 4 write a
6. ADTask 9 get data from buffer ADParameters 0 3 ADParameters 1 offdatbuf ADParameters 2 offpntbuf ADParameters 3 12 status call driver if status 0 FatalError A004 return on error for I 0 lt ADParameters 3 14 f channel ADPointBuffer l amp Oxff00 256 data ADDataBuffer l 0 001 gain ADPointBuffer I amp OxOOff switch l case 0 tempx data PitchOffset pitch tempx PitchGain Record Pitch pitch int tempx break case 1 roll tempx data RollOffset tempx RollGain Record Roll roll int tempx break case 2 airspeed tempx data AltOffset AltGain tempx 142 91 sgrt fabs tempx Record Airspeed int tempx break case 3 ball tempx data BallOffset BallGain Record Ball tempx break case 4 4 CDI2 L R case 7 CDI1 L R case 10 GS Dev tempx 2000 data 3 if tempx lt 120 0 tempx 120 0 if tempx gt 120 0 tempx 120 0 if l 4 Record CDI2 int tempx else if l 2 7 Record CDI1 int tempx else Record GSDev int tempx note sign change break case 5 CDI2 T F case 8 CDI1 T F tempx 0 if data gt 0 042 tempx 1 FROM 32 if data lt 0 042 tempx 1 TO if I2 5 Record CDIT F2 tempx note sign change else Record CDIT F1 tempx break case 6 4 CDI2 Flag
7. Disables or enables the application of the WAAS data to the positional computation Disable or enables the precision mode of WAAS corrections Disables or enables information to be sent to port either A or B describing the reception status of the WAAS signal The format of the information message is as follows PASHR WAS INFsat sig lock where sat is the WAAS satellite number sig is the signal strength and lock is a bit mapped field indicating the state of the various decoding processes a lock value of 3F is fully locked This message is output once per second until turned off by command Disables or enable information to be sent to port either A or B describing the corrections being applied to the positional computation by WAAS data The format of the information message is as follows SPASHR WAS WCA num Where num is the number of satellite records in the remainder of the message Each satellite record consists of seven 7 fields Satellite PRN number Fast correction WAAS Long term correction WAAS Ionospheric correction WAAS Tropospheric corrections Sum of all used correction Flag of used WAAS corrections where flag is e po corrections e F only fast SEU OU Po 26 L only long term S fast and long term I only ionospheric G fast and ion H long term and ion U all corrections This message is output once per second un
8. gets InputFile printf n nEnter name of File for result gets OutputFile fnsplit InputFile NULL NULL name ext fnmerge OutputFile NULL NULL name new ext size sizeof Record if Buffer 2 struct record malloc 500 size NULL printf Storage Allocation Failed n printf Exiting Program n exit 0 if in fopen InputFile rb NULL printf s not Found n InputFile printf Exiting Program n n exit 0 if out fopen OutputFile wt NULL printf Error opening file s OutputFile printf Exiting Program n exit 0 printf n nPreprocessing n td decimate n tm marked only n printf tn none n nEnter d m orn do Res toupper char getch while Res D amp amp Res M amp amp Res N if Res 2 2 D printf n nDecimation Factor gets temp sscanf temp d amp factor printf n n sprintf StrBuffer Time tM ark tM ode tZone tNorthing tEasting tAlt tRate_of_Climb tAirspeed tM agHeading tPitch tR oll tBall tCDI_1 tT_F1 tFlagl tCDI_2 tT_F2 tFlag2 tGSC DI tGS Flag tCOG tSOG n fputs StrBuffer out 76 f count fread Buffer size 500 in if count break for i 0 i lt count i if Res M amp amp Buffer i Mark 0 Res M f ifj 0 Res D II2UTM long double Buffer i Latitude long double Buffer i Longitude amp north amp e
9. in FILE out char StrBuffer 500 struct record Buffer int size i count factor j printf Data Logger Conversion Utility n n printf Enter name of File to Convert gets InputFile printf n nEnter name of File for result gets OutputFile printf n nPreprocessing n td decimate n tm marked only n printf tn none n nEnter d m orn do Res toupper char getch while Res D amp amp Res M amp amp Res N if Res D f printf n nDecimation Factor gets temp sscanf temp d amp factor printf n n size sizeof Record if Buffer struct record malloc 500 size NULL printf Storage Allocation Failed n printf Exiting Program n exit 0 if in fopen InputFile rb NULL f printf s not Found n InputFile printf Exiting Program n n exit 0 if out fopen OutputFile wt NULL f printf Error opening file 96s OutputFile printf Exiting Program n exit 0 sprintf StrBuffer Time tM ark tM ode tLat tLong tA It tRate_of_Climb tA irspeed tM agHeading tPitch tRoll tBall tCDI_1 tT_F1 tFlag1 tCDI_2 tT_F2 tFlag2 tGS CDI tGSFlag tC OG tS OG n 71 fputs StrBuffer out j 0 do count fread Buffer size 500 in if count break for i 0 i lt count i if Res M amp amp Bufferl i Mark 0 Res M f if j 0 Res D convert
10. void NameFile void void WriteToFile void void ReadS ysParameters void void SysTime long int void WriteToBuffer void int W riteRestart void void checkdisk void void CopyToFloppy void int handler int int int int void DisplaySignOn char char void QTClear void void QTWLine char int void QTBeep void void LEDUpdate void void GetKeyboardlnput void UpdateCount char void ReadRestart void void QTReset void void DisplayRestart void unsigned ADSetup void unsigned ADProcedures void unsigned ADCheckRdy void void GetKeyboardlnput void void Pacing void void ADLoop void void SignOff void void CopyM essage char void ReadCompass void float GetM agHeading void void DisplayCompass void SHHBBEHBHEHHBHHE void GetGPSParameters void int ReadResponse void void ResetGPSRate void FILE in int main int status ReadS ysParameters ReadRestart harderr handler error handler subsitute 42 status GreenleafSet16550TriggerLevel TRIGGER 04 if status 0 printf Error returned on Trigger d n status FatalError 1001 exit 0 GreenleafS etPortHardw are COM 3 IRQ5 0x268 KVH PortOpenGreenleafPolled COM 3 9600L N 8 1 if KVH NULL FatalError 1002 GPS PortOpenGreenleafFast COM 1 9600L N 8 1 if GPS NULL printf Port Open Failedin FatalError 1003 exit 0 UseRtsCts GPS
11. 1 status call driver if status 0 FatalError A001 4 return on error ADParameters 0 ADParameters 1 ADParameters 2 status call driver if status 0 FatalError A001 return on error 4 13 2 return 0 J RKI OR SOROR SOROR IORROR OR TOR HORROR OR IOR HORROR GROR IOR HORROR ROR IOR HORROR ORE RORORCOROR OE EOEOEORORORE ka x ka ADProcedures performs two functions 1 Start a conversion if a conversion is not in progress 2 Read and store the data if a conversion was completed ki ka Xj t GORACE SOROR ROR ROERORHOR RORAOE BOROR EROR ROEROR OR ROROEROEHOR OR ROE ROEHOR REGE EGEOEOE REE ERE TJ unsigned ADProcedures f static unsigned channel gain l status temp offpntbuf offdatbuf double data tempx tempy static int templ int pitch roll extern int ADCount if A DInProgressFlag f ADTask 11 ADParameters 0 1 status call driver if status 0 FatalError A002 return on error temp1 ADDataBuffer offdatbuf FP OFF temp1 temp ADPointBuffer offpntbuf FP OFF temp ADTask 9 timer driven interrupt data acquisition ADParameters 0 ADParameters 1 ADParameters 2 OFF ADTempBuffer ADParameters 3 FP_SEG ADTempBuffer status call driver if status 0 FatalError A003 return on error ADInProgressFlag 1 return 0 ml 12 FP_ 31 if ADDataReadyFlag ADCount
12. case 9 4 CDI1 Flag tempx 0 if data gt 0 175 tempx 1 if I2 6 Record CDIFlag2 tempx else Record CDIFlagl tempx break case 11 GS Flag tempx 0 if data gt 0 20 tempx 1 Record GSFlag tempx break if GyroFlag amp amp abs pitch lt 7 amp amp abs roll lt 5 GyroFlag 1 ADInProgressFlag ADDataReadyFlag 0 return 0 EFS EERE LES ALAS ALES AEE ALARA EASA EASA EAE AEA REE EAA EEE EKER REE ote J Ft ADCheckRdy merely checks to see if the interrupt driven I conversions are complete and set a flag MT unsigned ADCheckRdy int status if ADInProgressFlag amp amp ADDataReadyFlag look for complete flag ADTask 9 ADParameters 0 2 status call_driver if ADParameters 1 0 ADDataReadyFlag 1 if status 0 FatalError A003 exit on error return ADDataReadyFlag KE ADLoop check for a condition wereby the A D system accepts all Ft commands with no errors but never returns a conversion JA complete signal This condition reguires power be removed JE and the system started cold j p a AGA NA AGA ERLE AA AA AA AA AA AA void ADLoop printf d din ADCount LoopCounter if ADCount amp amp LoopCounter gt 200 FatalError A005 return 33 COMPASS C include lt stdlib h gt include lt string h gt include dos h inclu
13. serial port which is associated with the SIIG I O Professional multifunction input output board This allows the Data Logger to supply the 12 VDC to power the compass engine The compass engines used in the Data Logger are set to communicate at 9600 baud however the default baud rate of a new unit is 4800 baud The parameters should be set as follows Heading Type magnetic PowerUp Mode Not Sending Baud Rate 9600 Message Units d degrees Output Type 0 Output Format 0 Damping Type 3 Damping Rate 0 The Data Logger sends a type d1 command to the compass engine to read the present heading in degrees and does not expect to see any output from the compass engine except responses from such commands If the PowerUp Mode is inadvertently set to sending the Data Logger will flag an error immediately Calibration should always be performed using the Data Logger built in feature with the entire system mounted and configured in the airframe in which the system will operate Appendix 4 Configuration of the A D System AD12 8 The AD12 8 is configured for 5 volt input bipolar Analog to digital conversions are started using the on board counter timer The unit is configured to interrupt the main processor on end of conversion EOC The base I O address is 310 hexadecimal and the interrupt output is selected as IRQ 7 IRQ3 5 are used by the serial ports A DIP switch S1 configures the base address the individual switches
14. status ReadChar QT lt 0 return return on error switch status case B Q Term BackLite case G QTBackLite return case C Q Term Contrast case H QTContrast return case 0 case 1 case 2 case 3 case 4 case 5 WriteBuffer QT mess1 4 WriteBuffer QT mess2 2 DiagnosticFlag status return default return else if status ReadChar QT lt 0 return read and discard first if status 2 ReadChar QT 0 return read and retain second switch status case 5 toggle marking if RecFlag return must be recording to toggle if M arkFlag not presently marking MarkFlag 1 set Mark flag QTLed 1 1 MARK LED on increment index sprintf buffer MARKING 9d Marklndex Record Mark Marklndex should be updated QTWLine buffer 4 Display message ReStartUpdateFlag 1 set flag to indicate the restart ini file return 62 case 4 case 3 case 2 case 1 default else presently marking MarkFlag 0 reset Mark flag Record Mark 0 sprintf buffer Last MARK was 5d MarklIndex QTWLine buffer 4 Display Message QTLed 1 0 4 MARK Led off return calibrate compass if CalFlag amp amp ReStartFileFlag amp amp RecFlag if not cal ing and no possibility of restart and not recording data allow a calibr
15. 2 ADParameters 3 status call driver if status 0 FatalError A001 ADParameters 0 ADParameters 1 ADParameters 2 i ADParameters 3 5000 status call_driver if status 0 FatalError A001 ADParameters 0 ADParameters 1 ADParameters 2 HOt ADParameters 3 1000 status call driver if status 0 FatalError A001 ADParameters 0 ADParameters 1 ADParameters 2 ADParameters 3 status call driver 4 4 5 JE channels 0 1 2 and 3 return on error channels 4 5 and 6 return on error channals 8 9 and 10 return on error channels 12 and 13 return on error set up timers counter 1 mode 3 period 4 47 usec return on error counter 2 1760period 8 millisec return on error set scale for point 0 return on error same for points 1 and 2 return on error set scale for point 3 return on error set acale for point 4 return on error same for points 4 thru 11 30 if status 0 FatalError A001 return on error ADTask 4 ADParameters 0 ADParameters 1 ADParameters 2 0 status call driver if status 0 FatalError A001 4 return on error set gains 0 2 ADParameters 0 3 ADParameters 1 3 ADParameters 2
16. Commands may be input using the second computer to determine the internal state of the G12 receiver including the WAAS setting and data The first to be used is SPASHQ PAR which displays the parameters presently in use by the receiver The output of this command is shown on page 77 of G12 GPS Board and Sensor Manual However an additional line appears which is not shown which is descriptive of the state of the WAAS process This line begins WAS 122 The remainder of this line should contain in any order the following POS ON COR ON PAR OFF FLT ON TON ON VIT SFT and PRC ON If these are present the system is assumed to be operating in differential mode however if sufficient WAAS corrections have not been received and decoded the DIFF LED may not be lit If COR OFF is observed the receiver may not be receiving the WAAS satellite This can be verified by the command SPASHS WAS INF B ON See Appendix 5 for an explanation of the output generated by this command The INF message will be output once per second If the characters just before the asterisk are NOT 3F the WAAS corrections are NOT being received Use the command PASHS WAS INF B OFF stop this message If the INF message indicates proper reception of the WAAS signal use the command SPASHS WAS WCA B ON to view the actual WAAS data being applied to the positional solution See Appendix 5 for an explanation of
17. Could not request WAAS WCA message from the GPS receiver G103 Could not change baud rate of the GPS receiver I001 Error initializing 16550 serial UARTs 1002 Error initialing COM3 serial port compass 1003 Error initialing COMI serial port GPS receiver I004 Error initialing COM2 serial port terminal S001 Failed to find file logger ini This file must be present for the system to start S002 Data in file logger ini is incomplete or corrupt W001 Error opening data file W002 Error writing to the data file W003 Error closing the data file Structure and Content of Data Files Each data file is automatically assigned a unique name when a logging session is started This is done to minimize the number of steps the operator must do to record a session The file is named using a combination of the System identifier the date and the time Zulu or Universal Coordinated Time which the particular logging session was started The format is SystemID DDHHMM YYM where SystemID is the character A or B DD is the two digit day of the month HH is the two digit hour of the day in 24 hour format MM is the two digit minute of the hour YY is the last two digits of the year M is a character representing the month 1 9 A Oct B Nov and C Dec As noted previously the Data Logger files are stored in binary format The details of the binary storage format is defined by the C structure record which may be found in
18. IReadString KVH response 40 0x0d QTW Line response 2 QTBeep delay 3000 InitFlag 1 QTClear CalFlag 0 ClearRX Buffer GPS 36 JETTTRSESETRETENTETETETETETERTTETETETETETETERTETETETETETTEEETETEEETERETESTEKI Send Command to Compass and return the response Ft Makes five attempts to send command ka Fatal Error is Compass Fails to respond EL EEEA ESTAS EA ESSE AG AA void CompassCommand char command char responsel f int loop 0 int ERROR 0 char temp 21 if IsRXEmpty KVH ClearRX Buffer KVH assure clear buffer do WriteString KVH command 0x0d send the command if command 0 delay 60 delay else delay 200 if ReadChar KVH gt break check for command accepted ClearRX Buffer KV H command ignored clear buffer if loop gt 5 ERROR 1 increment error count retry 3 while loop lt 5 if ERROR FatalError C001 abort with Fatal Error do temp 0 ReadChar KVH purge remains of first line while temp 0 0x0d amp amp temp 0 gt 0 ReadCharTimed KVH 100L wait for first character of next if command 0 delay 100 increase delay for cals else delay 5 if responsel NULL ReadStringTimed KVH response1 40 0x0d 100L ERRHAND C include lt stdio h gt include lt conio h gt include lt dos h gt include lt ctype
19. K OK K K OK CK OK OK OK OK OK OK OK OK K OK OK OK K OK K K OK OK K K OK OK OK OK OK K K K K OK K KOK KK f Reset QT Clears dislay Clears LEDs resets stored parameters pr ET ETORSRCESORROEOEGOE EOEROEROEHEORE void QTReset void char rst 2 ESC M WriteBuffer QT rst 2 delay 350 4 command requires 300 ms kaa AA AA AA AA AA REE KEN ka 8 f Adjust Contrast on Q Term Screen pr KE void QTContrast void char c char msg 3 ESC L c CurrentContrast 0x04 if c gt 0x78 c 0x60 CurrentContrast msg 2 char c printf Contrast is x hex n c WriteBuffer QT msg 3 EP EFEAELELAE ST EA ELA LEA ER ELLE SEA ESSA AEA EL EAL EER ES ER EE EERE EER LEE OE EROGO Fa K Next three routines control the buzzer of the Q Term W JF EUR SORSRORIOR ACRIORROROROR REESE SEAS EAA EE EAA EASES AAS ERAS RE ERE EER EEE EEE REY void QTBeep void f char beep 3 ESC O B WriteBuffer QT beep 3 void QTAudioOff void char beep 3 ESC 0 60 WriteBuffer QT beep 3 void QTAudioOn void char beep 3 ESC 0 A WriteBuffer QT beep 3 I Display and Announces Occurance of a Software Fatal Error JF TETORSOESOERORGORESOEACEROE SE AA AA EKE EEE ERES TEES ERE ERLE ERE KKE void FatalError char message f char string 20 int i sprintf string Fatal Error 4 96 s mes
20. SystemID time amp secs now time now localtime amp secs now strftime tempstr 13 96 d H96 M 96 y time now strcat str tempstr month time now 5 tm mon 1 56 sprintf LogFileName 96 s96 X str month LogFileNamed 1 PACING C include lt stdlib h gt include time h include lt dos h gt extern time t WriteTime extern int PacingFlag extern int WriteRecordFlag extern int WriteTimeFlag extern int RecFlag extern int GPSFlag extern int DCIFlag extern struct record f unsigned long Time int Mark int Mode double Latitude double Longitude int Altitude int RateOfClimb int Airspeed int M agHeading int Pitch int Roll float Ball int CDI1 int CDIT F1 int CDIFlag1 int CDI2 int CDIT F2 int CDIFlag2 int GSDev int GSFlag int COG int SOG E extern struct record Record PERF ERE EERE A ERR AEE A ERR EERE A EE EE A ER ER k KKK k KK Kk EEK Robe E K kk EK Kk o eee WriteTo Buffer will set WriteTime Pacing will check for loss of 1Hz datarate ScanGPS may reset PacingFlag if reacquired t fr ELEFEA ESTES FALSE LE LEA ESTAS SEA ELA OE ECEROR SS void SetTimeRecord void struct time now long temp gettime amp now temp 100 now ti_hour now ti_min temp 100 temp now ti_sec Record Time temp 57 void Pacing void static time t PresentTime time t diff if RecFlag W riteTimeFlag return if
21. TORRGR EASES EAE OR HORROR OR EA AES ARE ARE EEE p tj This is the routine which creates and updates the restart file The data file name and the last index mark used is li recorded in this file for possible append operations PERS REE TTS int WriteRestart void extern FILE restart char filename FileName char mark MarklndexNumber char buffer 80 int ERROR 0 if IReStartUpdateFlag return 1 ReStartUpdateFlag 0 if restart 2 fopen restart ini wt 2 2 NULL return 0 4 unable to open file if sprintf buffer 96 s sin filename LogFileName EOF ERROR if fputs buffer restart EOF ERROR if sprintf buffer s d mark MarkIndex EOF ERROR if fputs buffer restart EOF ERROR fclose restart if ERROR unlink restart ini return 0 else return 1 SYSTIME C include stdio h gt include lt dos h gt include lt time h gt extern int SetTimeFlag EPEFELESELES SELES ERES ELLE ELE SLES ERE SEALE EEE SLES ERE EEE RLS EEE RES EEE EH Ej This routine sets the system time to UTC time as determined by the GPS system after acguistion ka PERESERES EASE ARES ERASE REA ERE AA RES EREE ARES AREAS PEASE ERE EH EEE RY int SysTime long int GPSTime 68 struct time t long int a b long int x 10000L a GPSTime 10000L b a x GPSTime GPSTime b b GPSTi
22. Vertical Gyroscope requires 24 volt DC for operation the secondary converter provides this voltage This converter is not required if the aircraft electrical system is 24 volt DC since then the aircraft power bus can power the gyroscope directly The secondary DC to DC converter used is Model VT25 142 10 manufactured by Converter Concepts Inc This unit requires an input of 10 to 40 volts DC and provides an output of 28 volts DC 1 amp 3 Software System Operating Software The software for the Data Logger was developed using Borland C Version 3 1 however the code is all standard C with no C extensions An asynchronous communication library Greenleaf CommLib Level 2 was used to provide a more robust serial communication environment than is natively available in the Borland product Software drivers for the analog to digital converter system were provided by the manufacturer Industrial Computer Source The objectives and constrains on the software design are outlined in the following list Simple and easy to use placing as little additional workload on the operator as possible Self diagnostics of sub systems on start up As immune from operator error as practical Capable of recovery from in process errors The program requires a file called logger ini to function This file contains the system identification A or B as presently only two systems have been constructed the path or directory into which the logger data files are
23. any of the program listings in Appendix 7 Note that an int is a 16 bit and a long int is a 32 bit integer A float is equivalent to the 13 32 bit floating point and a double is equivalent to the 64 bit floating point representation defined by ANSI IEEE 754 1985 IEEE Standard for Binary Floating Point Arithmetic Since it was never intended that the data files be read directly in binary format the above is more for informational than practical purposes The following tables indicate the variables stored in the files The first is exactly the same variables and in the same order as the raw binary data files described above Table 2 Legend for Latitude Longitude ASCII Conversion Column Heading Description Format and Limits Time Universal Coordinated Time HHMMSS Mark Observer Data Mark Auto incrementing integers Mode GPS Operational Moda 0 2 none 2 non diff 3 diff Lat Latitude in WGS 84 Datum or ddmm mmmmm indicates North Latitude Long Longitude in WGS 84 Datum or dddmm mmmmm t indicates East Longitude Alt Altitude Above MSL Units of feet Rate of Climb Vertical Speed Units of feet minute Airspeed Indicated Airspeed Units of Knots MagHeading Magnetic Heading Degrees Pitch Pitch Attitude Degrees 4 nose up Roll Roll Attitude Degrees right Ball Coordination Yaw Units of Ball Width CDI 1 VOR LOC 1 Course Devia
24. f char temp1 15 temp2 5 string 20 Log File if Recordindex lt 10 amp amp FlushRecordBufferFlag return not yet and no flush if Recordindex 0 FlushRecordBufferFlag 0 return if we get here there is data to write if LogFileNamed 50 if ReStartFlag NameFile generate file name from date if strlen DataDirPath If there is a path add it strcpy directory DataDirPath strcat directory LogFileName add filename strcpy LogFileName directory copy to global LogFileNamed 1 ReStartUpdateFlag 1 fnsplit LogFileName NULL NULL temp1 temp2 strcat temp1 temp2 strcat string temp1 QTW Line string 2 if logfilepointer fopen LogFileName a b NULL FatalError W001 if fw rite RecordBuffer sizeof Record Recordindex logfilepointer Recordindex FatalError W002 if fclose logfilepointer 0 FatalError W 003 Recordindex 0 FlushRecordBufferFlag 0 PERF REESE RES AERA ES ARR AR AER EE A K Kk A A EE A EEK RE RO OR oo WriteToBuffer averages summed fields in the data record and writes the resulting record into the buffer J EA ERAS AL ESE RES ERE RARE EE EE RE RE RR void WriteT oBuffer f static unsigned int count 0 char s 10 float tempy if WriteRecordFlag printf Count d n ADCount printf Loops u n LoopCounter LoopCounter 0 if A DCount Rec
25. flight data After ten seconds the automatically generated filename will be displayed The filename format is SystemID day hours minutes year month e g A072115 985 is the filename of the flight data taken with System A beginning at 2115Z on May 7 1998 Once recording the operator may press TGGLE to flag certain critical segments of flight data records The MARK LED will light and all subsequent records will be marked until TGGLE is pressed once again A mark is an integer recorded in the record beginning at one 1 and incremented upon each use of the marking function The bottom line of the display indicates the present state of the marking function and the present or last marking number used If the GPS signal or differential corrections are lost while recording the recording will continue with no position or altitude data in the first case or with loss of precision in the second The appropriate LED will blink rapidly to signal the loss of either function Pressing START STOP once again terminates recording of data Pressing the EXIT key will attempt to write the recorded data to the floppy disk Regardless is the success or failure of this operation the system will shut down the interfaces to the data systems and inform the operator when it is permissible to shut off the power to the system Errors and Recovery There are many possible fatal and non fatal errors which will be trapped and a message displayed on
26. if ns S PLat 1 0 if ew W PLon 1 0 if POSTime lt Record Time WriteRecordFlag 0 else Record Time POSTime Record Latitude PLat Record Longitude PLon Record Altitude 3 2808 PAlt Geoidal Record RateOfClimb 0 25 Record RateOfClimb 147 636 Rate m s to ft min 49 three second time constant added to rate of climb Record COG COG Record SOG SOG if SetTimeFlag SysTime Record Time set system time to GPS 4 Removed for WAAS if PFlag 1 f Record Mode 0x0001 DCIFlag 10 else Record Mode amp Oxfffe if DCIFlag gt 0 amp amp LastTimeD POSTime DCIFlag LastTimeD POSTime if POSTime gt LastTimeD 2 Record Mode amp Oxfffe if DCIFlag gt 0 DCIFlag if GPSFlag gt 0 amp amp LastTimeT 1L gt POSTime Record Mode amp Oxfffd GPSFlag PacingFlag WriteTimeFlag 0 else Record Time Record Mode 0 if GPSFlag gt 0 GPSFlag if GPSFlag 0 DCIFlag 0 PacingFlag WriteTimeFlag 0 GPSBufferFlag index 0 return EFEES ELE SELES ELES TASS EEE EAE A ERE EAE A TREE EES EER EERE WriteToFile uses previously defined file name if present or A generates a new name based on the date and time Then Ay writes the contents of the buffer to this file and closes the file each time p KE void WriteToFile char directory 80
27. of Third Serial Data Port The SIIG I O Professional multifunction input output board Model IO1809 used in this application requires that only one serial port be active and that the other serial port and the parallel port be disabled The board is configured by means of jumpers There are fifteen sets of three pins each the sets are labeled JP1 through JP15 Each set may be jumped in three ways e H the center and upper pins jumpered e L the center and lower pins jumpered e Open no jumper installed The following table documents the jumper configuration used in the Data Logger Table 4 SIIG I O Board Configuration Position Jumper Position Jumper 3 H IP OPEN ji H OPE OPE i N po H N 24 Appendix 3 Configuration of the KVH Compass System The KVH C100 compass system is configured by software supplied by the manufacturer This is MSDOS program but can be run within the Windows environment The files C100USR EXE and CLIST TXT must be copied to a directory and the executable run from that directory Since the C100 compass system is mounted in separate enclosure and both the RS 232 serial communications and the DC power are routed through the single interconnection cable the following procedure should be used to run the setup program Use a serial extension cable to connect the computer running the C100USR program to the cable in the Data Logger which is normally connected to COMG the
28. of minimizing the file writing time and to allow them to be easily transported via floppy disks Although the binary format uses standard IEEE floating point formats it was determined that conversion to a standard text ASCII format would allow the maximum flexibility in viewing and analyzing these data Programs have been written to read the binary data files and convert the records to text format ASCID In the converted ASCII file tab characters separate the fields of each record and records are separated by a carriage return line feed newline character s There are two versions of the conversion program these differ only in the treatment of the horizontal position information The standard horizontal position output of the Global Positioning System Receiver is latitude and longitude The first version of the conversion program convert exe directly converts this data to the ASCII format The second version utm con exe converts the horizontal position data to Universal Transverse Mercator UTM in place of latitude and longitude UTM uses northing and easting as the coordinates in addition to a UTM zone number The advantage of using UTM coordinates is that UTM is a rectilinear system This simplifies the process of plotting the aircraft s course The northing and easting coordinates are expressed in meters and are converted from the latitude longitude data to a resolution of one meter in this application
29. plugging it into the spare there is no need to remove the original unit nor to connect the inputs to the spare AT16 P used for testing purposes If this procedure is used be certain that the replacement AT16 P is placed on an insulating surface before applying power Spare AD12 8 and AT16 P are available already properly configured in addition to a spare cable used to connect these units Operational Checks Using the Terminal If no errors are flagged but it is suspected that there is a problem with one or more of the analog to digital channels the actual converted data from these channels can be displayed on the handheld terminal to aid in maintenance and troubleshooting When the Data Logger is in the recording mode the actual values being stored in the flight data records for pitch roll airspeed ball yaw and radio navigation course deviation indicators CDP s and associated flags can be displayed on the third line of the alphanumeric display Pressing 1 displays the pitch and roll in degrees positive is right or up Pressing 2 displays the airspeed in knots and the ball position in unit of ball width Pressing 3 displays the VOR LOC 1 course deviation in percent and the flag status Pressing 4 displays the VOR LOC 2 course deviation in percent and the flag status Pressing 5 displays the Glideslope course deviation in percent and the flag status Pressing O clears the display Errors in Hig
30. t7 delta 4 delta meridian t8 delta 6 delta meridian t9 north floorl north 0 5L east floorl east 0 5L void initialize void long double TN2 TN3 TN4 TN5 recflat 1 0L flat bmajor major 1 0L flat eccensqr 1 0L powl bmajor major 2 0L eccenbsqr powl major bmajor 2 0L 1 0L TN major bmajor major bmajor TN2 TN TN TN3 TN2 TN TN4 TN3 TN TN5 TN4 TN AP major 1 0L TN 5 0L TN2 TN3 4 0L 81 0L TN4 TN5 64 0L BP 3 0L major TN TN2 7 0L TN3 TN4 8 0L 55 0L TN5 64 0L 2 0L CP 15 0L major TN2 TN3 0 75L TN4 TN5 16 0L DP 35 0L majort TN3 TN4 11 0L TN5 16 0L 48 0L EP 315 0L major TN4 TN5 512 0L long double rad_cur long double x long double y long double z long double temp temp x sqrtl 1 0L y z z return temp long double true mer dis long double a long double b long double c long double d long double e long double f long double temp temp atf b sinl 2 0L f c sinl 4 0L f d sinl 6 0L f e sinl 8 0L f retum temp int main void char InputFile 80 OutputFile 80 temp 10 int Res FILE in 75 FILE out char StrBuffer 500 struct record Buffer int size i count factor j char name M AXFILE ext MAXEXT char newext MAXEXT txt int zone long double north east printf Data Logger Conversion Utility n n printf Enter name of File to Convert
31. the aircraft frame and electrical systems The output is in units of degrees with a resolution of 0 1 degrees The compass engine is provided with user selectable output filters and a selectable time constant for this filter The filter selected for this application is a double low pass filter with a time constant of three 3 seconds The C100 Compass Engine has a built in autocompensation system that enables the system to calibrate itself to maintain accuracy to a fraction of a degree even when surrounded by the airframe that distorts the earth s magnetic field The autocompensation procedure is performed upon initial installation of the Data Logger The Data Logger displays the heading determined by the compass system during the start up procedures The operator is given the opportunity to compare this reading with the aircraft magnetic compass to verify proper operation In the event of a discrepancy the operator or a technician can initiate a new autocompensation procedure directly from the Display Control Console See the Maintenance and Troubleshooting section for details The flux gate compass system is not gyroscopically aided This implies that large errors in the magnetic heading will occur during periods the maneuvers of the aircraft cause the flux gate to deviate from the horizontal plane A coordinated turn is one such maneuver where the perceived gravitational force is perpendicular the plane of the aircraft s wings and not perpend
32. the output generated by this command This message must contain five or more satellites for which the flag if either G H or U before the position is marked as differentially corrected A D Problems Analog to digital converter problems may be of several levels of severity Each of these will require a somewhat different approach in troubleshooting The A D system itself consists of two discrete circuit boards the main A D converter AD12 8 which is located in the computer card cage and the multiplexer board AT16 P mounted on the side of the Data Logger enclosure Each of the multiplexer channels used is wired to one of the internal sensors or to the external radio navigation outputs of the aircraft The radio 20 navigation signals pass through a set of relays used for emergency isolation of the Data Logger and essential navigation displays Each of the following paragraphs describes a particular class of A D problem Error Codes Displayed If an A D error code is displayed on the handheld terminal type A the problem is localized to the two circuit boards mentioned above or the cable which connects the two boards Verify that the AD12 8 is properly seated in the card cage and that the cable is firmly seated to each mating connector If the problem persists replace the AD12 8 and AT16 P one at a time to determine which has failed The AT16 P can be substituted by merely unplugging the cable from the installed unit and
33. 0 Record CDI2 0 Record GS Dev 0 return REPRE AES A EEE AE ES ARES ARE A EE A RE EA ET A AE A ET A AE Roo RE RE f checkdisk checks for the presence of a disk in drive A and if provides an estimate of the length of flight data which can be copied to this disk TE aaa NA AA AA AA AA AA AA AA void checkdisk void struct diskfree t free long avail int size 22 float time char line1 22 if dos getdiskfree 1 amp free 0 QTClear QTWLine Insert a Formatted 1 QTWLine Disk into Drive A 2 QTWLine Press ENTER to Cont 4 QTBeep ReadCharTimed QT 15000L QTClear if _dos_getdiskfree 1 amp free 0 avail long free avail clusters long free bytes per sector long free sectors per cluster size sizeof Record time float avail float size time 3600 0 sprintf linel space for 4 2f hours time QTClear QTWLine This Diskette has 1 QTW Line line1 2 QTWLine of Flight Data 3 QTBeep delay 3000 QTClear FloppyFlag 1 JEEEKEEKE EEE EKEK KEEKEEKE EKE EKEK EEKE KREE KEEKEEKE EEEE KEEKEKE EEEE EE CopyToFloppy copies all data files in the datasave directory to 7 the floppy It copies only file with are not archived f After a successful copy to floppy the source file is mark as ka ft as archived so it will not be copied again The source file kj p is retained not erased J
34. 1 QT PortOpenGreenleafPolled COM2 9600L N 8 1 if QT NULL FatalError 1004 UseXonXoff OT 1 QTReset if ReStartFileFlag DisplayRestart else DisplaySignOn SystemID V2 2P checkdisk check for floppy DisplayCompass QTWLine STARTING 2 ADSetup X HEHEIBIBHBHBHHBHHBHHBE 4 GetGPSParameters SEHEBHBHHBHHHHBHHHHBE GPSInit ClearRX Buffer GPS ClearRX Buffer QT do LoopCounter 1 ADProcedures ReadGPS GPSScan if W riteRecordFlag f printf Time ld Mode d GPSFlag 96d DCIFlag d n Record Time Record M ode GPSFlag DCIFlag printf Lat If Long If Alt 96d Heading d n Record Latitude Record Longitude Record Altitude Record M agHeading if ADCount printf d d n n Record Pitch A DCount Record Roll A DCount WriteToBuffer WriteT oFile LEDUpdate CalCompass GetKeyboardlnput WriteRestart ADCheckRdy 43 delay 1 Pacing ADLoop w hile ExitFlag CopyToFloppy SignOff GPSDelnit PortClose OT PortClose KVH PortClose GPS return 0 JETTTOAESCOETOESORROEROEROEROREAOEACOEROEROEROEROEROEROEREROERUEROEAUERUEROEROEEOEREORAOE RELL RE OR ka GPSInit reset the receiver and then sets up 3 D nav and the differential parameters The receiver will return a GGA and POS message each second Any error is considered fatal JE ERCESROE
35. Aviation Research Lab Institute of Aviation University of Illinois at Urbana Champaign 1 Airport Road Savoy Illinois 61874 IPC DATA LOGGER A Flight Data Recorder Operation Manual Change 1 Lester Lendrum Henry L Taylor Donald A Talleur amp Tom W Emanuel Jr Technical Report ARL 02 2 FAA 02 1 February 2002 Prepared for Federal Aviation Administration Civil Aeromedical Institute Oklahoma City OK Cooperative Agreement DTFA 2001 G 037 Forward To Change 1 Change 1 to the Technical Report ARL 00 8 FAA 00 5 July 2000 titled IPC DATA LOGGER A Flight Data Recorder Operation Manual has been prompted by two developments First and most important the source of the GPS differential corrections used in the original Data Logger has been lost with the departure of Differential Corrections Inc It has been necessary to establish a substitute source for differential correction data Second since the DOD has discontinued selective availability autonomous GPS position accuracy is marginally sufficient for the design purposes allowing the original restriction of not allowing data logging unless differential corrections were available to be relaxed This document includes the changes made to the software hardware and operational modes of the IPC Data Logger The present system now uses the Wide Area Augmentation System W AAS for differential corrections 1 Introduction The IPC Data Logger a flight data recor
36. B system if GFlag 2 if differential set bit 0 1 14 Record Mode 0x0001 47 DCIFlag 10 else Record Mode amp Oxfffe if not clear bit 0 if DCIFlag gt 0 amp amp LastTimeD POSTime DCIFlag LastTimeD POSTime removed to here always GPS valid if this message is recieved so Record Mode 0x0002 set bit 1 1 GPSFlag 10 set GPSFlag LastTimeT POSTime GPSBufferFlag index 0 mark buffer as read return if strst GPSBuffer index PASHR WAS WCA NULL is a WAC message i LastTimeD POSTime printf Scanned WCA message at ld n POSTime if sscanf GPS Buffer index w acformat amp satcount 1 scan failed Record Mode amp Oxfffe if DCIFlag gt 0 DCIFlag GPSBufferFlag index 0 return if Sprintf satascii 02d satcount EOF convert to ascii failed Record Mode amp Oxfffe if DCIFlag gt 0 DCIFlag GPSBufferFlag index 0 return startread strstr GPSBuffer index satascii find start of data build format string strcpy readformat satascii for i 0 i satcount i strcat readformat part error 2 sscanf startread readformat amp SVx 0 SVstatus 0 amp SVx amp SVx 3 SVstatus 3 amp SVx amp SVx 6 SVstatus 6 amp SVx amp SVx 9 SVstatus 9 amp SVx 1 SVstatus 1 amp SVx 2 SVstatus 2 4 SVstatu
37. Buffer i StrBuffer fputs StrBuffer out j factor js while 1 fclose in fclose out return 0 UTM Post Flight Software UNIVERSAL TRANSVERSE MERCATUR ASCII CONVERSION include stdio h gt include lt dos h gt include lt ctype h gt include lt bios h gt include lt alloc h gt include lt stdlib h gt include lt conio h gt include lt math h gt include lt string h gt include lt dir h gt include lt io h gt long double d rad M PI 180 0 long double major 6378137 0L long double flat 1 0L 298 257223563L long double recflat long double bmajor long double eccensqr eccenbsqr long double TN AP BP CP DP EP long double FE 500000 0L long double OK 0 9996L struct record unsigned long Time int Mark int Mode double Latitude double Longitude 72 int Altitude int RateOfClimb int Airspeed int M agHeading int Pitch int Roll float Ball int CDI1 int CDIT F1 int CDIFlag1 int CDI2 int CDIT_F2 int CDIFlag2 int GSDev int GSFlag int COG int SOG X struct record Record void convert struct record rec int zone char str sprintf str 96 Id t d t d t d t 15 Olf t 15 Olf t d t d t d t AIt d t d t 5 2 f t d t d t d t d t d t d t d t d t d t d n rec Time rec Mark rec Mode zone rec Latitude rec Longitude rec Altitude rec RateOfClimb rec Airspeed rec MagHeading
38. E EER ERE EK ka UpdateCount writes the current record number to the display ka as an indication of continuing data collection ui TN void UpdateCount char msg f char pos 5 ESC I K WriteBuffer QT pos 4 WriteString QT msg 1 PEREFS EES EKEK K KKK ERASE REA PRE OR KKE E KEEK KE ERAS ARES K EKKE KEKEE ka SignOff display a message to the operater when the power may kf safely removed from the system all file copied and the f system is idle i EE FKA KKK E K k k KK Ek E E kkk k EAR ERA EES AS ERR EER E Kk E K kk K EKKE E ERKEK void SignOff void n int i QTClear for i 1 i lt 6 i QTLed i 0 QTWLine Program Terminated 1 OTWLine You may safely shut 2 QTWLine down the system 3 delay 100 64 JETTTRSESETXETENERETETETETETETETTTERTETETETERETTETTTETETITIXTTETEEETES Ft CopyM essage displays during the copy to floppy process warning Ki the operator to wait until the process is completed Ika aaa EL ELE EEE ALES EE EE AE EEE CELA E ES EEE EE EEE EEE E REE A ERE EEE EER void CopyMessage char s int i for i 1 i lt 6 i QTLed i 0 QTClear QTWLine Please Wait 1 QTWLine W riting File 3 QTWLine s 4 PERRET PPT TRES ERASER ED ERASE RES EERE ARES ERA KEI PRES ESEEER EH EH KKJ ba ka DisplayRestart informs the operator that a restart ini file 5 was found an data
39. E SendGPSCommand attempts five times to send the command to the xj receiver It looks at the response of the receiver and scans E for ACK which indicates the command was accepted It will attempt three repeations before returning failure 8 JETTA KKKAKEKAKEKKAKEKAEKKKKEKAEKKEEEK EEKKKEK EKKEEEK EEEKIKKEKKKEKKKEKKKKKKI int SendGPSCommand char buffer f int status i int count 0 char response 100 char ack ACK do for i 0 i lt 5 i ClearRX Buffer GPS printf s n buffer testing only if status WriteString GPS buffer 2 0 break if status 0 FatalError G001 ReadStringTimed GPS response 99 2 1500L if GPS gt status ASSUCCESS f if strstr response ack NULL return 1 count while count lt 3 return 0 int ReadGPS void f static int CurrentBuffer static int Bufferlndex 2 int input 0 0 0 while IsRX Empty GPS input getc in EOF 87 4 while characters are available input ReadChar GPS get next character if input gt 0 valid read if input 0x0d amp amp input 0x0a GPSBufferFlag CurrentBuffer 0 test of flags GPS Buffer CurrentBuffer Bufferlndex C urrentBuffer char input GPSBuffer CurrentBuffer Bufferlndex CurrentBuffer 0x00 else 45 input Ox0d REMOVE AFTER TEST if input 0x0d f GPSBuffer CurrentBuffer Bu
40. IEETTEETITETIKIKIEETIEI EES ERE SEALS ERE SEES EERE EE EERE ERE EES int FileCopy char dest char source FILE in FILE out int status count size int buffer int error 0 if in fopen source rb NULL return 0 if out fopen dest wb NULL return 0 size sizeof Record if Duffer int malloc 100 size NULL return 0 do count fread buffer size 100 in if count break status fwrite buffer size count out if status count error 1 while error fclose in fclose out if error 54 unlink dest return 0 return 1 TFT ETTER EA ELELE SEA ES AEA EER EE EAL SE EA EDEL EE EERE EER ERE RARE J ReadCompass calls GetM agHeading and places the result in the ka present record F JR ITK KAIKKI BOR a TOR IOR OR OR ICE IOREOROROR OR HORE JORROR a a void ReadCompass void float head head GetM agHeading Record MagHeading int head return X HEBIEIEIBHBHBHHBBE void GetGPSParameters void f QTClear QTWLine GPS Parameters 1 QTWLine High Dynamics 3 QTWLine Press Y or N 4 GPS H D Flag ReadResponse QTWLine Partial Mode 3 GPS Partial Flag ReadResponse QTW Line Precision Mode 3 GPS Precision Flag ReadResponse QTClear int ReadResponse void char buffer 10 int test 0 int value do delay 100 if ISRX Empty QT Re
41. PacingFlag if time amp PresentTime gt WriteTime 2L SetTimeRecord PacingFlag 1 WriteRecordFlag 1 GPSFlag DCIFlag 0 WriteTime PresentTime else time amp PresentTime if diff PresentTime WriteTime 0 return else Record Time diff WriteTimeFlag 0 WriteRecordFlag 1 QTFUNCT C include gsci h include ibmkeys h include asciidef h include lt stdio h gt include lt stdlib h gt include lt string h gt extern struct record f unsigned long Time int Mark int Mode double Latitude double Longitude int Altitude int RateOfClimb int Airspeed int M agHeading int Pitch int Roll float Ball int CDI1 int CDIT F1 int CDIFlag1 int CDI2 int CDIT F2 int CDIFlag2 int GSDev int GSFlag int COG int SOG E 58 extern struct record Record extern int DiagnosticFlag extern PORT GPS extern PORT QT extern unsigned char CurrentContrast extern char SystemID extern int RecFlag MarkFlag Marklndex ReStartM arkIndex ReStartUpdateFlag ReStartFlag CalFlag ReStartFileFlag GPSFlag DCIFlag CompassCheckFlag GyroFlag FlushRecordBufferF lag ExitFlag extern int BannerFlag PacingFlag f Clear Only the Text on Q Term Terminal X ft 5 RORAOEGRORORRORROERORHOR ROREOEGRORHOR OR AA SER EAA RES HORRORE GERE REE ER void QTClear void char str 2 0x1b E WriteBuffer OT str 2
42. Procedure 1 Remove the International Power Sources PD110 40L Power Converter and install the model PD110 40M in its place It is the same physical size and is a pin for pin replacement no modifications need be made to the cabling 2 Remove the three or four P amp B relays and replace with the 24 VDC units 3 Remove the 12 VDC fan assembly and replace with the 24 VDC unit Optionally the Data Logger power switch circuit breaker may be replaced with a unit rated a 5 amperes NOTE In the event that new Data Logger units are built for use in 24 VDC aircraft the secondary power converter Converter Concepts can be completely eliminated from the construction This converter is used only to provide power to the gyroscope in 12 VDC aircraft The gyroscope s The contacts of the selected relay should be a minimum of gold flashed since the signals passing through are small and any excess contract resistance may effect the accuracy of the radio navigation data 22 motor can be wired directly to the switched A power buss of the Data Logger when operated in a 24 VDC aircraft Acknowledgments and Disclaimer The work supporting this Technical Report was supported under Federal Aviation Administration FAA Cooperative Agreement Award Number 2001 G 037 with the Institute of Aviation University of Illinois at Urbana Champaign The FAA technical monitor for this research grant is Dr Dennis B Beringer AAM 510 the FAA Grants Analyst admin
43. SORE LEA TA ELSA AES ELS EEE EA ELLA EES EEE EEA EA EL EAE ES EERE ERE EIE SIIKI void GPSlnit void int status Reset GPS to default settings if SendGPSCommand PASHS RST FatalError G002 ResetGPSRate Set filter to lower dynamics zzz if GPS H D Flag if SendGPSCommand PASHS LPS 1 2 1 FatalError G003 delay 100 if SendGPSCommand PASHS LPS 1 2 1 FatalError G003a Set GPS Mode to 3 D if SendGPSCommand PASHS PMD 0 FatalError G004 Set Up to search for WAAS satellite if SendGPSCommand PASHS WAS 122 FatalError G005 Turn on ION corrections models if ISendGPSCommand PASHS ION Y FatalError G006 Set WAAS to correct position output if SendGPSCommand PASHS WAS POS ON FatalError G007 enable precision mode if GPS Precision Flag if SendGPSCommand PASHS WAS PRC ON FatalError G007a Set INF message on if SendGPSCommand PASHS WAS INF A ON FatalError G008 Set message GGA ONLY SENT IF POSITION COMPUTED if SendGPSCommand PASHS NME GGA A ON FatalError G009 Set message POS ALWAYS SENT if SendGPSCommand PASHS NME POS A ON FatalError G010 Request WAC message 44 if SendGPSCommand PASHS WAS WCA A ON FatalError G011 void GPSDelnit void WriteString GPS PASHS RST 2 SendGPSCommand PASHS RST I
44. The source code for both conversion programs may be found in Appendix 7 10 4 Operation General Operational Procedures The initial display on the handheld display control console is a sign on message indicating the SystemID and software version This is followed by a check for the presence of a floppy disk in drive A and giving the operator the opportunity to insert one If a disk is present an estimate of the flight length in hours that can be stored on this floppy is displayed If there is no disk in the drive the program continues after a short delay The system then displays the magnetic heading to allow the operator to judge if the system compass and aircraft compass agree Pressing ENTER terminates this display As soon as a GPS lock is obtained the system clock is synchronized to UTC Zulu time LED s on the terminal are illuminated to indicate e GPS position fixes are available GPS e Position data are differentially corrected DIFF e System vertical gyro has erected GYRO Once these three conditions are true LED s lit the message READY will be displayed and pressing the START STOP key begins recording data In the present version differential corrections are not required to start logging data The REC LED will light indicating recording is in progress The top line of the display will indicate the number of records that have been recorded this number will continue to increment as long as the unit is recording
45. adStringTimed QT buffer 10 0x00 1 if buffer 0 B buffer 0 G QTBackLite if buffer 0 C buffer 0 H QTContrast if buffer 0 Y buffer 0 V test 1 value 1 if buffer 0 N buffer 0 S f test 1 value 0 ClearRX Buffer QT while test 55 return value ECCE AHAHAHAHA KA void ResetGPSRate f char response 100 int error delay 1000 WriteString GPS PASHS SPD A 7 2 delay 1000 WriteString GPS PASHS SPD A 7 2 Tests indicate a single attempt fails where two seem to switch the baud rate reliably PortClose GPS delay 1000 GPS PortOpenGreenleafFast COM 1 38400L N 8 1 if GPS NULL f printf Port Open Failedin FatalError G103 exit 0 return NAMEFILE C include lt stdio h gt include lt dos h include lt time h gt include lt string h gt extern char LogFileNamel extern int LogFileNamed extern char SystemID AGA NA AA SELES AA AA AA This routine gives the data file a unique name based on the System ID year month day hour and minute UTC time kol JERTAKTEKEKKEKTEKEEKEEKEKEEKIKEEKEIETKEEEEEKEEIEKKIKTKIKKKKIKKKKIKKKKIKKI void NameFile TZ environmental varible should be TZ GMTO and clock should be GMT struct tm time now int month time t secs now char str 80 char tempstr 80 sprintf str 96 c
46. ag LastDCI DCIFlag if GyroFlag OTLed 2 1 if PacingFlag DisplayReady void PitchRoll int pitch int roll f char str1 5 char str2 5 char position1 char position2 ESC I B ESC I B K UI UI sprintf str1 96 3i pitch sprintf str2 963i roll WriteBuffer QT position1 4 WriteString QT str1 1 WriteBuffer QT position2 4 WriteString QT str2 1 void ASPend int AS float ball char str1 5 char str2 5 char position1 char position2 5 ESC I B 5 ESC I B K sprintf str1 963i AS sprintf str2 96 4 2f ball WriteBuffer QT position1 4 WriteString QT str1 1 WriteBuffer QT position2 4 WriteString QT str2 1 RESTART C include lt stdio h gt include lt stdlib h gt include lt dos h gt include lt string h gt include logger h extern char LogFileNamel T extern intReStartM arkIndex Marklndex int ReadRestart void int WriteRestart void extern FILE restart extern int LogFileNamed extern int ReStartFileFlag extern int ReStartUpdateFlag 66 PERSE EES AES AERA AAS AER A A RRA E K kk KKK k EKK A R K kk EEK OR RE la This routine looks for the file restart ini If it is nj lai present and can be read the operator is given the option JE to restart data loggong to the same file for which logging was interrupted restart ini will only exist if a fai
47. and receives data and is supplied 5 VDC power through the single serial cable connected between the Data Logger enclosure and the unit Pin 5 is the standard ground pin for 9 pin serial connectors but pin 9 is used as the 5 VDC input for the OTERM II Use a serial extension cable to connect the computer running the OSETUP program to the cable in the Data Logger which is normally connected to COM2 the lower serial port on the single board computer card This allows the Data Logger to supply the 5 VDC to power the OTERM II handheld terminal 27 Appendix 7 Source Code System Operation Software The following modules are compiled together and linked with the a12drvc obj file provided by Industrial Computer Source ICS and GCLL LIB provided by Greenleaf Software Header files are also provided al2drvc h from ICS ibmkeys h asciidef h and gsci h from Greenleaf Software The memory model required by the ICS module is the large and therefore that model has been used the compilation The entry point of the program main is to be found in the file gpstest c ADFUNCT C include lt stdio h gt include lt dos h gt include lt math h gt include lt ctype h gt include lt bios h gt include lt alloc h gt include lt stdlib h gt include lt conio h gt include al2drvc h extern float PitchOffset PitchGain RollOffset RollGain AltOffset AltGain BallOffset BallGain extern intGyroFlag extern stru
48. annels see Errors in Low Level Channels later in this section The remaining variables pitch roll ball yaw and airspeed may be calibrated by changing the respective gain and offset parameters in the logger ini file previously mentioned Each Data Logger has a program adtest exe which may be useful in the adjustment of the gain and offset numbers This file is located in the same directory as the main Data Logger file gpstest exe and uses the same logger ini data as the main Data Logger program adtest exe displays on the VGA display all of the above mentioned variables It does not require the compass engine or the handheld terminal to be attached or functional adtest exe only requires that the A D system is operational i e communicating with the single board computer Troubleshooting General Computer Problems To operate the Data Logger system as a MSDOS computer a standard PC keyboard and a VGA capable display must be connected The keyboard connector is located on the side of the card cage the 15 pin VGA display connector is located on the connector panel of the Single Board Computer the only full length card in the card cage Power the Data Logger system and allow it to start normally If there were no fatal errors during start up the enter key on the handheld terminal will have to be pressed to acknowledge the compass heading check then the EXIT key should be pressed The standard shutdown message sh
49. are labeled A3 through A9 Switches A3 A4 and A6 are ON and the remainder are OFF to configure the address of 310 hexadecimal Jumpers accomplish the remainder of the configuration and these are set as listed below e BIP UNIP jumper set to BIP 10V 5V jumper set to 5V CLKO jumper present TMR EXT jumper set to TMR EXT EOC jumper set to EOC IRQ jumper set to IRQ7 25 AT16 P The AT16 P is configured to use programmable gain settings and is set to output 5 volts All other settings and jumpers are on the standard default settings if present A DIP switch S1 on the AT16 P board configures these setting The individual switches labeled GMO GMI and GM2 are set OFF the remainder labeled G 2 SHO GPO GP1 and GP2 are set ON Appendix 5 Ashtech WAAS Software Commands The G12 software Version Gt35 has been modified to receive and apply the WAAS corrections to the positional data output of the receiver The following are some of the commands added and do not appear in the Ashtech G 12 Reference Manual only those actually used in this application are described PASHS WAS OFF prn PASHS WAS POS OFF ON PASHS WAS COR OFF ON SPASHS WAS PRC OFF ON PASHS WAS INF port OFF ON SPASHS WAS WCA port OFF ON Disables or enables the receiver to search for the WAAS satellite prn is the satellite number 122 in this case Disables or enables the use of the position of the WAAS satellite in the positional computation
50. ast amp zone Buffer i Latitude double north Buffer i Longitude double east convert Buffer i zone StrBuffer fputs StrBuffer out j factor js while 1 fclose in fclose out return 0 TI
51. astTimeT LastTimeD static double GLat GLon GA It PLat PLon PA It Rate 0 Geoidal 30 static int GFlag PFlag float COG SOG double temptime static char ggaformat GPGGA 96If 96 If Yo c 96 If Yo C Yo LA Yo 2d 96 Af 96 If M 9G If static char posformat PASHR POS 96d 96 d 906 If Yo If 96 C 96 If 96 C 96 If WF WF VIF added for WAAS int error satcount I Corrected 0 WAASFlag 0 passcount 0 char OKCodes UHG char startread static char wacformat PASHR WAS WCA 96d static char infformat PASHR WAS INF d d x char satascii 5 static char part 96d 96 f 96 f 96 f 9o f 96 f 96 c char readformat 300 char SVstatus 12 2 int SVx 12 end of added variables if GPSBufferFlag 0 amp amp GPSBufferFlag 1 return no buffers filled index GPSBufferFlag 0 0 1 use buffer O if filled if strst GPSBuffer index GPGGA NULL is a GGA message if sscanf GPSBuffer index ggaformat amp temptime amp GLat amp ns amp GLon amp ew amp GFlag amp GAIt amp Geoidal 8 if scan good transfer data GGATime temptime printf Scanned GGA message at ld n GGATime if ns S GLat 1 0 if ew W GLon 1 0 Record Time GGATime Record Latitude GLat Record Longitude GLon Record Altitude 3 2808 GAlt Geoidal Record RateOfClimb 196 848 Rate 4 removed for WAA
52. ation CalFlag 1 set calibration flag return Use Restart if ReStartFileFlag amp amp RecFlag amp amp CalFlag amp amp GPSFlag ReStartFlag 1 Marklndex ReStartMarkIndex RecFlag GyroFlag 1 QTW Line Appending 1 QTLed 5 1 REC LED on return exit program if RecFlag amp amp CalFlag amp amp CompassCheckFlag ExitFlag 1 unlink restart ini return if RecFlag amp amp CalFlag amp amp CompassCheckFlag amp amp GPSFlag amp amp DCIFlag amp amp GyroFlag ReStartFileFlag RecFlag 1 set RECORD Flag QTLed 5 1 set REC LED on ReStartUpdateFlag 1 QTClear QTW Line Recording 1 unlink restart ini return if RecFlag if recording RecFlag 0 reset RECORD Flag QTLed 5 0 set RECORD LED off QTLed 1 0 FlushRecordBufferFlag 1 ReStartUpdateFlag 0 unlink restart ini QTWLine 1 QTWLine Press EXIT to quit 3 QTWLine START to resume 4 return 63 return Pte ka A FF Display Non Fatal Error M essage Sound Alert A tj void NonFatalError char text QTClear QTWLine Error Detected in 1 QTW Line text 2 QTWLine Procedure Canceled 3 delay 1000 QTBeep delay 1000 QTBeep delay 1000 QTBeep delay 2000 QTClear EP EFSEES ELE SELES ELE ERED ELE SELES ERE EAE ERE SELES ERE EEE EER
53. c Minimum Operational Performance Standards for Global Positioning System Wide Area Augmentation System Airborne Equipment 1999 RTCA DO 229B Model SB486PV Product Manual 1995 San Diego Industrial Computer Source Model AD12 8 Product Manual 1996 San Diego Industrial Computer Source Model AT 16P Product Manual 1997 San Diego Industrial Computer Source QTERM II User s Manual Revision 10 1997 Salt Lake City QSI Corporation 23 Appendices Appendix 1 BIOS Settings for Single Board Computer In general most of the settings within the BIOS CMOS setup of the SB486PV single board computer remain as configured in the standard factory defaults In addition to the microprocessor and ISA buss controller only the hard disk controller the floppy disk controller and the serial ports are essential for Data Logger operation It should be verified that the two on board serial ports are configured in the standard manner i e COMI at port 3f8 hexadecimal and IRQ 4 COM2 at port 2f8 hexadecimal and IRQ 3 Because both IRQ 5 and IRQ 7 are required for other devices by the Data Logger hardware the on board parallel port on the SB486PV must be disabled Since it is the normal operating procedure to insert a floppy disk in the Data Logger before applying power the boot sequence of the SB486PV must be modified The BIOS must be configured to attempt to boot from only the fixed disk never the floppy Appendix 2 Configuration
54. ccurate heading information possible Wiring of the aircraft has been modified to supply 12 volt DC power and to provide the data from the aircraft s VOR LOC s and Glideslope systems to the Data Logger An FAA PMA approved GPS antenna was installed on the fuselage above the front seating area This is the only available horizontal area with an unobstructed view of the sky The pitot and static air systems were modified to provide for connection to the data logger for measurement of airspeed These modifications were field approved by the local Flight Service District Office FSDO A test flight was required by the FAA to demonstrate the data logger did not adversely effect the operation of critical aircraft systems FAA Form 337 Major Repair or Alteration was submitted to document these modifications The Data Logger may be adapted to aircraft other than the Beech Sundowner Some component changes and wiring modifications would be required to operate the system in an aircraft that is equipped with a 24 volt DC power system Re calibration of the airspeed may be required to accommodate a different pitot static system The interface to the radio navigation systems VOR LOC and GS was designed for the Bendix King KI 2xx system of outputs wiring modifications within the Data Logger may be required if other navigation radios are employed 2 Components All the components of the Data Logger System are houses in a single enclosure with the except
55. ch is configured from the CMOS setup of the single board computer is also modified to facilitate the operation of the system as a Data Logger To boot from a floppy disk the CMOS setup must be changed See the section on General Computer Problems for details Logger Parameter File A file named logger ini is used to define the identification of the system certain analog calibration parameters and the directory to which the generated data files will be stored on the fixed disk This file must be present in the same directory as the main Data Logger executable file gpstest exe Each line begins with the name of parameter defined by that line and must be exactly as appears in the example below All ten parameters must appear in the file but may be in any order Any spaces before and after the sign are ignored SystemID shall be a single character DataDirPath shall be an ASCII string containing no spaces and having the back slash replaced by a forward slash contrary to normal MSDOS usage for path specifiers The last forward slash must be present DataDirPath should never be empty nor should it reference the root directory of a disk drive The remaining values may be specified in signed integer format or signed floating format with a decimal point These parameter those assigned numerical values are used to adjust the translation of the outputs of the gyroscope pendulum and altitude pressure sensor for min
56. compass engine Communications If the Data Logger does display an error message a C001 or C002 fatal error first check the cable between the Data Logger and the compass system If the cable was securely connected disconnect the cable from the compass system end and measure the voltage between pins 5 and 8 of the 9 pin connector With the Data Logger turned on there should be 12 volts DC present pin 8 being positive There are only two items besides the cable and the lack of DC power which can cause a communication failure One is the compass system itself and the other is the SIIG ipi yo pa board Replace these items with units from another Data Logger one at a time to isolate the problem GPS System Problems The Global Position System receiver Ashtech G12 provides the total positioning information for the Data Logger The Ashtech GI2 receives both the standard GPS satellites and differential corrections from the WAAS satellites GPS Receiver System If the GPS receiver has a problem the operator will observe one of the following symptoms e A Fatal Error of Type G will be displayed on the console e The GPS LED on the console will fail to light e Excessive time is required for the GPS LED to light in excess of two minutes The Ashtech G12 GPS receiver has an indicator mounted on the circuit board that contains both red and green LED s Flashing red indication means the receiver has power 5 volt DC The green LED flash
57. ct record f unsigned long Time int Mark int Mode double Latitude double Longitude int Altitude int RateOfClimb int Airspeed int M agHeading int Pitch int Roll float Ball int CDIL int CDIT F1 int CDIFlag1 int CDI2 int CDIT F2 int CDIFlag2 int GSDev int GSFlag int COG int SOG E extern struct record Record 28 extern int ADCount extern unsigned LoopCounter extern int ADInProgressFlag extern int ADDataReadyFlag void FatalError char unsigned call driver void unsigned ADSetup void unsigned ADProcedures void unsigned ADCheckRdy void void QTLed int int extern unsigned ADPointBuffer extern int ADStatus ADTask ADParameters A DDataBuffer ADTempBuffer T AN fr 7 JE call driver is the primitive call to al2drv obj supplied by x ICS ka JEE EKA KKK E K k k KK E k R E kkk K kk K k E KKK KK E K kk KK KKE EKK k KEk E EK KEE EKKE KER EEE k EE unsigned call_driver al2drv FP OFF amp ADTask FP OFF ADParameters FP OFF amp ADStatus if ADStatus 0 printf An A D error code of i was detectedin ADStatus printf Program terminated return A DStatus Pre EA LEELA EE EL ELL LES EA LEELA EES ELE EEE EA EERE ES EEE ER EEE EE KEEK ka ADSetup sets the AD system parameters It assigns point addresses scaleing and gains to all channels p aaa AA AA AA AA aaa unsigned ADSetup
58. dditional analog sensors to the system up to 128 channels The magnitude of the variables to be measured range from a few tenths of a volt full scale to 10 volts full scale Additionally some variables are referenced to ground potential while others are the difference between two voltages differential In order to accommodate the range and types of signal voltages an analog to digital converter plus a 16 channel analog multiplexer are employed The analog to digital converter is a Model AD12 8 manufactured Industrial Computer Source the multiplexer is Model AT16 P by the same manufacturer The hardware configuration of these boards is documented in Appendix 4 The basic analog to digital converter used is capable of 12 bit resolution one part in 4096 The combination of the AD12 8 and AT16 P allow up to sixteen channels of both single ended and differential inputs with the gain amplification of each channel individually selected under control of the software The A D system incorporates a counter timer system that is used to automatically sequence through all of the active channels once given the command to begin the analog to digital conversion Hardware interrupts are used to determine when each conversion is complete A number of sequential conversions are averaged to determine the final value to be recorded for each of the variables measured A precision 10 volt DC reference voltage output is provided by the AD12 8 to excite those sens
59. de lt bios h gt include lt conio h include lt stdio h gt include ibmkeys h include asciidef h include gsci h extern int CalFlag InitFlag BannerFlag GPSFlag DCIFlag extern PORT KVH compass system on COM3 extern PORT QT terminal on COM2 extern PORT GPS void FatalError char void QTBeep void void QTLed int int void CompassCommand char char void QTClear void void QTWLine char int float GetM agHeading void void QTBackLite void void QTReset void void NonFatalError char void QTContrast void void CalCompass void void QTAudioOn void void QTAudioOff void void DisplayCompass void void GPSDelnit void void GPSInit void CalAbort char s f char AbortString cez NonFatalError s WriteString KVH AbortString 0x0d CalFlag BannerFlag 0 GPSInit delay 500 ClearRX Buffer GPS return void DisplayCompass void float head int test 0 char buffer 10 char msg1 Magnetic Heading Chk char msg2 Press Enter to Cont QTWLine msg1 1 QTWLine msg2 4 do 34 head GetM agHeading Request heading from compass sprintf buffer 96 4 1f xdf head format for display QTW Line buffer 2 write it to line two delay 1000 if IsRX Empty QT ReadStringTimed OT buffer 10 0x00 1 if buffer 0 B buffer 0 G QTBackLite if buffer O 0x0d tes
60. der is designed to support research involving pilot performance in executing instrument flight procedures The system is designed for use in small single engine aircraft and can easily be removed to return the aircraft to normal service The system is based on a commercial single board computer recording data at the rate of one frame per second In addition to aircraft position and altitude pitch roll yaw magnetic heading vertical speed and airspeed are recorded The radio navigation displays Very high freguency Omni Range LOCalizer VOR LOC and Glideslope are also recorded Provision is made for the check pilot operator to mark sections of the flight records to aid in the subsequent analysis of the data Apart from connection to the pitot static system and the navigation displays instruments internal to the Data Logger generate all data The data logger is housed in an aluminum enclosure 22 inches in width 24 inches in length and approximately 12 inches in height The weight is approximately 42 pounds To install the IPC Data Logger in the aircraft Beech Sundowner C 23 in this application the rear seats were removed and the logger mounted in their place a custom floor plate to which the Data Logger is mounted replaced the original floor of the rear seating and baggage area A flux gate magnetic compass system is mounted in a separate non magnetic enclosure so as to allow its positioning within the airframe in order to provide the most a
61. dure may be found in the Maintenance and Troubleshooting section Display Contrast By pressing C on the keypad the operator can increase the display contrast on the terminal Each press increases the contrast until maximum contrast is reached and then wraps around to minimum contrast Display Backlight By pressing B on the keypad the operator may toggle the backlighting on the LCD display File Recovery If after a flight the data file is not copied to the floppy disk for any reason that file is retained on the hard disk marked as not copied The next time the system is used any un copied data files previously stored will be copied to the floppy disk in addition to the data file just recorded One floppy disk can contain approximately 6 75 hours of flight data By starting the Data Logger and NOT pressing START but pressing EXIT an operator may copy any previously un copied data files from the system s fixed disk on a floppy Operational Error Codes The following table contains the Error Codes displayed on the handheld terminal when an unrecoverable fatal error occurs during a data logging session In the event that a fatal error is encountered the operator should make note of the displayed Error Code to facilitate the remediation of the problem If an Error Code is displayed in the course of a recording session it is recommended that a reset followed by a restart as mentioned in the previous section be attemp
62. ecorded in the data file The time stamped navigation messages from by the GPS receiver are used to provide the timing of data acquisition The receiver provides a position fix once per second and the receipt of this position fix causes the Data Logger to record the position information and all other measured parameters to the logging data file If while recording flight data the Global Position System loses lock and fails to provide data output the Data Logger will continue to record data using the internal operating system clock to trigger the storage of data points No position data will be available but all other variables continue to be recorded When and if the GPS reacquires the satellites logging will revert to timing using the GPS position message as described above GPS system time is used to set the internal real time clock of the underlying operating system MSDOS 6 22 upon initial GPS receiver lock on Wide Area Augmentation System After the RTCM service provided by Differential Correction Inc was terminated a new source of differential corrections had to be found It was determined that the United States Coast Guard RTCM broadcasts were not suitable because of the distance from the nearest station The Wide Area Augmentation System WAAS was chosen to provide the required differential corrections WAAS consists of wide area reference and integrity monitors ground earth stations and geostationary communication satellite
63. ed for additions to the present configuration The disk operating system is MSDOS 6 22 and is completely standard The system is capable of operating as a normal personal computer with no modification except for changes to the autoexec bat file which is designed to start the data logger software automatically following the load of the MSDOS operating system when the system is powered There are a number of settings in the BIOS of the SB486PV single board computer that have been modified from the standard configuration to facilitate the operation of the Data Logger These are documented in Appendix 1 Digital Storage Devices The system is equipped with a 3 Gigabyte IDE fixed disk that contains the MSDOS operating system the data logger software and provides primary storage for the recorded flight data files A 345 floppy disk drive is also provided to permit a convenient method of updating the software and to off load the Data Logger data files at the end of each logging session The Data Logger will not attempt to load an operating system from the floppy drive and depends completely on the fixed disk for operation Serial Data Ports Two serial data ports RS 232 are the standard hardware provided on the SB486PV single board computer These are configured in the industry standard manner as COMI I O Ports 3F8 3FF IRQ 4 and COM2 I O Ports 2F8 2FF IRQ 3 A third serial port is required for data logger operations A SIIG I O Professio
64. ee Appendix 3 for information on software configuration If the SIIG input output board is replaced see Appendix 2 for information on the hardware configuration 19 interchange to Ashtech G12 receiver with the receiver in another Data Logger much easier than interchanging antenna systems If excessive time appears to be required for the GPS system to lock onto the required number of satellites the problem may be that the keep alive battery that retains receiver data may be exhausted This battery allows the system to retain it s last position the satellite almanac and satellite ephemeris data The battery is located within the silver colored connector near the GPS receiver mounting position If the battery is functional the GPS LED on the handheld display should illuminate within one minute after the STARTING message is displayed Wide Area Augmentation System A problem with the differential correction system will only be evident by the Data Logger never coming out of STANDBY and the DIFF LED never being lit All of the processing of the WAAS signal is done within the Ashtech G12 receiver and the only method one has to determine these internal conditions is to communicate directly with the G12 receiver A second serial port is available to which may be connected to a second computer running a terminal emulator program or the Ashtech Evaluate program This port always operates are 9600 baud no parity and one 1 stop bit
65. es between the red flashes Each green flash indicates one satellite locked being received and processed e g four 4 green flashes indicates four satellites locked The unit must be locked on to a minimum of four satellites for the Data Logger to operate If a fatal error of type G was displayed check the power to the Ashtech G12 receiver Verify that the 9 pin connector labeled Port A is firmly connected to the COMI serial port of the single board computer If neither of the above is the cause of the problem the COMI serial port should be checked and or the Ashtech G12 should be checked for proper operation independent of one another One method is to use a program supplied by Ashtech called Evaluate This program can be run on a Windows computer using a serial extension cable to connect the computer serial port to the connector labeled Port A This program will communicate with and test any number of Ashtech GPS receiver systems A users guide is available for Evaluate 4 0 or above If no fatal errors are displayed but the GPS Led never lights to indicate GPS data is available then the problem is either in the G12 receiver itself or the GPS antenna system The LED on the receiver itself can be helpful in this case If green flashes are never observed the most likely cause is either the antenna or the antenna cabling The most straightforward method of determining the component s at fault is to If the C 100 Compass System is replaced s
66. external connector between the Data Logger and the aircraft the larger of the two circular connectors Secondly verify that the isolation relays are operating these relays should be activated when power is applied to the Data Logger system Another possibility is that the zeroing of the multiplexer and or analog converter may have drifted to an extent which effects these millivolt range measurements without effecting the apparent accuracy of the high level channels This occurrence would be rare but if suspected the procedure for calibration and zeroing of these components is described in the respective product manuals but is too involved to be included here If the errors are restricted to a subset of the level level inputs or to only those from a particular instrument VOR 1 VOR 2 or GS the most likely cause is a wiring fault Use in 24 Volt Aircraft The Data Logger was originally constructed for use in an aircraft with a 12 volt DC power buss In order to convert the unit to operate in a 24 volt aircraft a number of component and wiring changes are required The time required to convert one Data Logger from 12 volt to 24 volt operation is estimated to be less than two hours Components Required for each Data Logger e Power Converter International Power Sources Inc Model PD110 40M e Relays Potter amp Brumfield Model KHAU17D13 93 pieces e Fan Papst Model 4314 or equivalent 24 VDC Brushless 4 7 inch square mount
67. f unsigned status ADParameters 0 1 manual setup ADParameters 1 0x310 address of AD12 8 ADParameters 2 7 IRO 7 ADParameters 3 5 five volt range ADParameters 4 1 bipolar mode ADTask 0 Initialize Board status call driver if status 0 FatalError A001 return on error ADTask 11 clear task list ADParameters 0 2 status call driver if status 0 FatalError A001 return on error ADTask 5 assign point addresses 29 ADParameters ADParameters 0 0 1 status call driver if status 0 FatalError A001 ADParameters 0 ADParameters 1 6 status call driver if status 0 ADParameters ADParameters 0 8 1 1 status TN if status 0 FatalError A001 ADParameters 0 ADParameters 1 13 FatalError A001 status call driver if status 0 FatalError A001 ADTask 14 ADParameters 0 ADParameters 1 ADParameters 2 status call driver 1 3 2 if status 0 FatalError A001 ADParameters 0 ADParameters 2 ang status call driver if status 0 FatalError A001 ADTask 10 ADParameters 0 ADParameters 1 ADParameters 2 NONG ADParameters 3 10000 status call driver if status 0 FatalError A001 ADParameters 0 4 ADParameters 1 0 ADParameters 2 1
68. fferlndex CurrentBuffer 2 0x00 null terminate string Bufferlndex CurrentBuffer 0 reset index GPSBufferFlag CurrentBuffer 1 indicate buffer ready CurrentBuffer CurrentBuffer 0 1 toggle current buffer if Bufferlndex CurrentBuffer 0 GPSBufferFlag CurrentBuffer 0 if input 0x0d return 0 return 0 void SetlON int x f return disable ION switching if x set normal ION on if 1ONFlag f WriteString GPS PASHS ION Y 2 IONFlag 1 else set normal ION off if IONFlag WriteString GPS PASHS ION N 2 IONFlag 0 void SetWAAScor int x if x if GEOSATFlag set WAAS COR on f WriteString GPS PASHS WAS COR ON 2 GEOSATFlag 1 else set WAAS COR off if GEOSATFlag WriteString GPS PASHS WAS COR OFF 2 GEOSATFlag 0 46 JETETOAESCORROTRORHROERAGRROEROREROEAOEROEROEROETOREROEROEROEACEROEROREAROEROERAOEROEOEOEEORAOEEEREOE REGE AOE GPSScan parses the buffers filled by GPSRead GPSBufferFlags are used to determine if buffer is complete pr GPSFlag and DCIFlag are set to 10 each time a valid position comp and diff mode usage are determined These are decremented at a ka once per second rate if no computation or non diff is detected Fe void GPSScan void int index status char ns ew static unsigned long GGATime POSTime L
69. ged For example if the file name to be converted was A111407 98B the resulting ASCII file will have the name A111407 txt As a practical matter if the conversion is being run on a Windows 9x or NT computer the file is manually renamed including the original extension plus the txt extension A111407 98B txt This is a legal file name construct in these operating systems The Mode of the Data Logger which employs WAAS correction has the decimal number 200 added to the mode value to differentiate the data from the original which used DCI RTCM corrections 15 These converted data files can then be processed by any of a number of software packages depending on the desired analysis to be performed In the particular experiment for which the Data Logger was developed this program is a highly modified Microsoft Excel based application 5 Maintenance and Troubleshooting General System Software Configuration System Start Up The autoexec bat file found in the root directory of the fixed disk is configured to change the default directory to that in which the Data Logger software resides and to execute the Data Logger software gpstest exe In the event that the Data Logger system requires maintenance these lines of the autoexec bat file may be commented out so that the system comes up in the standard MSDOS command line mode See the section on General Computer Problems for a procedure that may be used The boot sequence whi
70. h Level Channels The high level channels are defined as those for which the gain of the A D system is less than five These include pitch data roll data yaw or ball data airspeed data If ALL high level inputs are exhibiting errors the common source may be the 10 volt precision reference voltage that is used to excite all of these sensors This reference voltage is generated on the AD12 8 board routed to the AT16 P via the interconnecting cable and is distributed to the sensors via a terminal strip located near the AT16 P board 21 If the error is limited to a single high level channel examine the wiring to between that sensor and the AT16 P If both the pitch and roll channels are exhibiting errors either the vertical gyroscope or the secondary voltage converter may be at fault With the exception of the output of the secondary converter which may be directly measured with a voltmeter the detection of the fault is most easily accomplished by substitution of components the vertical gyroscope pendulum assembly or the differential pressure assembly in event of an airspeed problem Errors in Low Level Channels The low level channels are those associated with the radio navigation instruments These signals are not low level in the strictest sense of the term but these channels are measuring differential voltage inputs in the millivolt range 200 mv range If all of these channels are not responding correctly examine the
71. h gt define IGNORE 0 tdefine RETRY 1 tdefine ABORT 2 pragma warn par int handler int errval int ax int bp int si f unsigned di int drive int errorno diz DI if ax 0 hardretn A BORT 37 drive 2 ax amp OxOOff errorno di amp OxOOff if drive 0 hardretn ABORT sprintf msg Error 96s on drive c r nA bort R etry l gnore err msg errorno A drive i hardresume IGNORE return ABORT pragma warn par GETSYS C include lt stdio h gt include lt string h gt include lt ctype h gt include lt stdlib h gt extern char SystemID extern float PitchOffset PitchGain RollOffset RollGain AltOffset AltGain BallOffset BallGain extern char DataDirPath 50 void FatalError char n void GetChar char x int y float GetFloat char int GetString char buffer char path EEF REESE ALES ALE AL ERA LES AEE A EEE A EER AER A ER EEE AE EAE EE ER ERK JA This routine looks for logger ini file and reads the ui Ft gains and offsets for critical analog channels the system 7 ID and the path in which to store the data files xj EF EKE K KK E K kk K kA KE KKK E k k k LARA KKK KE KKK K K K KEK kk EE EEE AER void ReadSysParameters FILE in char buffer 80 char marker float temp 8 char path 50 int ch char c int count O index char keys 10 25 PitchOffset PitchGain RollOffset Ro
72. hrey Inc This is a passive instrument with a range of 45 degrees and a weight of 6 ounces Output is by means of a center tapped potentiometer excited by the same 10 volt DC source used for the gyroscope excitation The voltage is sensed differentially between the center tap and the wiper yielding an output of zero volts in the vertical position Positive voltage indicates deflection to the right negative voltage deflection to the left The signal is nominally 110 millivolts per degree The pendulum is mounted on the gyroscope carrier described above and is mechanically adjusted to provide a zero volt output when the Data Logger is precisely oriented in the horizontal plane and at rest Flight tests verified the correspondence between the ball of the pilot s turn coordinator instrument and the pendulum sensor Compass System Although the Global Positioning System is capable of providing the course over ground COG the Data Logger is equipped with a magnetic compass system to provide the true aircraft heading The unit chosen is an electronic flux gate compass system that provides data via a serial RS 232 output KVH Industries Inc manufactures the C100 Compass Engine It is available in two configurations the SE 10 gimbaled coil was chosen for this application The compass engine is mounted in a separate non magnetic enclosure and positioned in the aircraft cabin in order to minimize magnetic electrical and electronic interference from
73. icular to the surface of the earth Positioning System GPS Receiver System The Ashtech Model G12 Global Positioning System GPS receiver is installed in the Data Logger This receiver is capable of tracking up to twelve satellites simultaneously using both code and carrier phase data The G12 has been provided with a beta version of software to allow reception and use of EROS WAAS Wide Area Augmentation System differential corrections The GI2 used is the OEM version Part Number 990190 G The receiver is connected to a keep alive battery to maintain the GPS constellation almanac data between operating sessions An active GPS LI band aircraft type antenna is mounted on the fuselage of the aircraft above the front seating area to provide the most unobstructed view of the sky possible Communication with the GPS receiver is by way of two RS 232 serial ports Ports A and B Port A is used for GPS receiver control and data output Port B is unused but may be employed for diagnostic purposes The Ashtech G 12 receiver remains configured in the factory default mode The Data Logger software accomplishes all initialization of the receiver The Data Logger software is configured so that flight logging can not begin until and unless the GPS receiver is providing three dimensional position data If three dimensional position and or WAAS corrections are lost after data logging has begun the session continues with the appropriate notations r
74. ine 143 n for testing only ERROR sscanf response 5f amp heading scan for valid response if heading lastheading ERROR check 45 degree increment printf heading f f n heading lastheading for testing only if ERROR CalAbort Calibration return sprintf response 5 03d xdf pos int heading format prompt QTW Line response 2 Write to Display lastheading heading 45 0 increment lastheading for next do wait for response status ReadCharTimed QT 30000L wait 30 seconds if status lt 0 CalAbort Cal Time Out return no response in 30 seconds abort c char status assure returned value is char disregard characters which are not valid A F and CR are valid Jwhile c Ox0d c A c F if c 0x0d CalAbort Cal User Abort return response other than CR abort while heading 315 0 compass system response changes at this stage requires modifications to procedures CompassCommand cal NULL does not return new heading if ReadStringTimed KVH response 40 0x0d 10000L lt 0 CalAbort Cal Time Out return ERROR 0 if ReadStringTimed KVH response 40 0x0d 2000L lt 0 ERROR if strstr response test NULL ERROR if ERROR CalAbort Cal Failed return QTClear OTWLine Compass Cal ed 1 if
75. ion of the Compass System and User Display Control Console The locations of the major components are illustrated in the Figure below Airspeed Microcomputer DC to DC Power Sensor and Card Cage Converters sr Analog GPS Multiplexer Receiver Single Board Computer The central component of the Data Logger is the single board computer This unit is essentially an IBM PC compatible computer that is fabricated on a single Industry Standard Architecture ISA board yet is capable of operation in a greater range of environmental conditions than a standard desktop personal computer The Industrial Computer Source Model SB486PV single board computer is designed around an Intel 486DX100 microprocessor and provides support for keyboard control video adapter both fixed and floppy disks two serial ports and one parallel port The Intel 486DX100 has a built in numeric co processor which would not normally be needed since no extensive floating point mathematical calculations are required in the operation of the Data Logger However the present compilation of the software assumes such a co processor is present The keyboard and video adapter display are used only during development and repair maintenance functions A rugged card cage passive motherboard is used to house the SB486PV an additional serial port interface and an analog to digital converter There are at least two additional ISA slots available for additional hardware if requir
76. is turned off or loses primary power Airspeed Sensor The Data Logger measures airspeed in the same manner as an aircraft airspeed indicator which senses the differential pressure between the pitot port and the static port However the processing and conversion of differential pressure to altitude is accomplished electronically in the Data Logger The differential pressure sensor is a Model 140PC01D produced by the Micro Switch Division of Honeywell It requires an excitation voltage the same 10 volt DC source used for the gyroscope and pendulum and produces an output voltage proportional to the pressure difference between units two ports From standard FAA calibration specifications it was determined that following formula defines the relationship between the differential pressure expressed in inches of mercury and the airspeed expressed in Knots Airspeed 142 9 differential pressure This relation is employed in the Data Logger and flight testing indicates the recorded airspeed is within 1 or 2 Knots of that of the aircraft s airspeed indicator within the speed range of interest approximately 65 to 110 Knots User Display Control Console The User Display Control Console is a handheld ASCII terminal that has two primary functions e Allow the operator to start stop the logging of flight data and optionally mark data records e Display the state of the Data Logger and indicate the progress of the logging operations
77. istering this grant is Mrs Colleen Peranteau ACT 50 This report is in the process of review and approval and is not at present an official FAA document Consequently the views expressed herein do not necessarily represent official FAA positions References Benton C J Corriveau P amp Koonce J M 1993 Concept Development and Design of a Semi Automated Flight Evaluation System SAFES AL HR TR 1193 0134 DOD 1992 Mapping Datum Transformation Software NTIS PB93 500296 Taylor H L Bradshaw G L Talleur D A Emanuel T W Hulin C L Lendrum L amp Vaughn J A 1999 Effectiveness of Personal Computers to Meet Recency of Experience Requirements Proceedings of the Tenth International Symposium of Aviation Psychology Columbus OH The Ohio State University Lendrum L Taylor H L Talleur D A Hulin C L Bradshaw G L amp Emanuel T W 1999 Airborne Flight Data Recorder Proceedings of the Tenth International Symposium of Aviation Psychology Columbus OH The Ohio State University Hardware and Software Reference Manuals Evaluate 4 0 Users Guide 1997 Sunnyvale CA Ashtech G12 GPS Board and Sensor Reference Manual 2000 Santa Clara CA Magellan Corporation Greenleaf CommLib Reference Manual 1997 Dallas TX Greenleaf Software Inc I O Professional User s Manual 1997 Fremont CA SIIG Inc KVH C100 Compass Engine Technical Manual Rev G1 Middletown RI KVH Industries In
78. l Scale limit at 120 right T FI 311 To From Indicator 1 TO 1 FROM 0 none Flagl VOR LOC 1 Flag 1 GOOD 0 FLAGGED CDI 2 VOR LOC 2 Same as Above T F2 Flag2 GSCDI Glideslope Course Deviation Same as VOR LOC CDI s up GS Flag Glideslope Flag Same as VOR LOC Flags COS Course Over Ground Degrees Derived by GPS SOG Speed Over Ground Knots Derived by GPS Post Processing Procedures A mentioned above the Data Logger produces a copy of the data file on a 3 2 floppy disk at the end of each logging session This file is in the binary data format The Post Flight Data Conversion Software is used to convert these files to ASCII text format The program is used depends on if the horizontal position data is desired in latitude longitude convert exe or in Universal Transverse Mercator utm con exe format The data file is copied to the directory of the computer that contains the conversion program executable file The program either convert exe or utm con exe is run and the user must enter the name of the data file to be converted Each program allows the user to select subsets of the records to be converted The user may 1 convert all records 2 convert only marked records or 3 convert only a decimated number of records with the choice of the decimation factor Once this selection is made the program writes the converted file in the same directory with only the extension of the file name chan
79. llGain AltOffset AltGain BallOffset BallGain SystemID DataDirPath if in fopen logger ini rt NULL FatalError S001 for f if fgets buffer 80 in NULL break for index 0 index lt 10 index 38 if strstr buffer keys index NULL switch index case 8 GetChar buffer amp ch c ch if isalpha c count goto next case 9 if GetString buffer path goto next default if temp index GetFloat buffer lt 9999 count goto next next fclose in if count 9 SystemID c PitchOffset temp 0 PitchGain temp 1 RollOffset temp 2 RollGain temp 3 AltOffset temp 4 AltGain temp 5 BallOffset temp 6 BallGain temp 7 if strlen path 0 strcpy DataDirPath path else FatalError S002 float GetFloat char buffer char marker char tempbuffer 80 float value if marker strstr buffer NULL strcpy tempbuffer marker 1 if sscanf tempbuffer f amp value 1 return value return 10000 void GetChar char buffer int x char marker char tempbuffer 80 39 if marker strstr buffer NULL i strcpy tempbuffer marker 1 if sscanf tempbuffer c x 1 return x 0x00 return int GetString char buffer char path char marker char tempbuffer 80 if marker strstr buffer
80. lure caused the data to stop in an abnormal manner i e a Fatal Error etc j8 Normal termination of the program deletes the restart file kf pp NT int ReadRestart void f extern FILE restart char filename FileName char mark MarklndexNumber char marker char X buffer 80 char tempbuffer 8 0 char localfilename 80 int length int localmarknumber int localfileflag 0 localmarkflag 0 FILE tempfile if restart 2 fopen restart ini rt 2 2 NULL return 0 restart ini not found for f if fgets buffer 80 restart NULL if no more lines break if strstr buffer filename NULL if filename line if marker strpbrk buffer NULL strcpy tempbuffer marker 2 length strlen tempbuffer tempbuffer length 1 2 0x00 if tempfile fopen tempbuffer rb NULL f fclose tempfile localfileflag 1 strcpy localfilename tempbuffer goto next else if strstr buffer mark NULL if marker strpbrk buffer NULL if sscanf marker 1 d amp localmarknumber localmarkflag 1 next 67 fclose restart if localfileflag amp amp localmarkflag ReStartM arkIndex localmarknumber if successfull copy local to globals strcpy LogFileName localfilename ReStartFileFlag 1 return 1 indicate success return 0 failure FERS OR HORROR OR ESAES ERE TOR IOR
81. may be appended to that file if desired JERKA KKKA EES A ERE ALES EERE AEE ER ERE A EE REE A EEE ER A KK K ER ER ERE EK Ef void DisplayRestart void f QTClear QTWLine RESTART POSSIBLE 1 QTBeep fEPEFERESERESAREL SA ES ARES EREA AREER A ARES RAE ARES ESE REGERE ES EE EHR EY ka DisplayReady display either STANDBY or READY depending JE on the state of the datalogger ka KE void DisplayReady void if BannerFlag 1 amp amp RecFlag amp amp GPSFlag amp amp DCIFlag amp amp GyroFlag ReStartFileFlag amp amp ExitFlag QTWLine READY 2 QTBeep BannerFlag 1 if BannerFlag 2 amp amp RecFlag amp amp IGPSFlag DCIFlag GyroFlag QTWLine STANDBY 2 BannerFlag 2 FEF EPES ERTS ELLE ELES ERE EL ESE LES E LES ELSE ELAS ELLE LASER EEA EERE EERE OR EK Li 7 f LEDUpdate controls the state of the LED s depending on the state ft of the machine and the state of internal flags ka j Pkt AEE AERA LAS A EARS AERA EE A ER KFK TEKKET EEK Kk E kkk EK oe void LEDUpdate static int LastRec 65 LastGPS LastDCl int i i RecFlag 2 0 if RecFlag LastRec GPSFlag LastGPS if GPSFlag QTLed 4 1 else QTLed 4 i if i 2 QTBeep if RecFlag LastRec DCIFlag LastDCI if DCIFlag QTLed 3 1 else QTLed 3 i if i2 2 QTBeep LastRec RecFlag LastGPS GPSFl
82. me 100L GPSTime b 100 t ti min unsigned char b t ti hour unsigned char a t ti sec unsigned char GPSTime t ti hund 0 settime amp t SetTimeFlag 0 return 0 69 Basic Post Flight Software LATITUDE LONGITUDE ASCII CONVERSION include lt stdio h gt include lt dos h gt include lt ctype h gt include lt bios h gt tinclude lt alloc h gt include lt stdlib h gt include lt conio h gt include lt math h gt include lt string h gt include lt dir h gt include lt io h struct record unsigned long Time int Mark int M ode double Latitude double Longitude int Altitude int RateOfClimb int Airspeed int M agHeading int Pitch int Roll float Ball int CDI1 int CDIT F1 int CDIFlag1 int CDI2 int CDIT_F2 int CDIFlag2 int GSDev int GSFlag int COG int SOG E struct record Record void convert struct record rec char str sprintf str 96 ld t d t d t 15 51ft 15 51fVt96 d t d t d t d t d t d t 5 2 fVt96 d t d t d t d t d t d t d t d t d t d n rec Time rec Mark rec Mode rec Latitude rec Longitude rec Altitude rec RateOfClimb rec Airspeed rec MagHeading rec Pitch rec Roll rec Ball rec CDI1 70 rec CDIT F1 rec CDIFlag1 rec CDI2 rec CDIT F2 rec CDIFlag2 rec GSDev rec GSFlag rec COG rec SOG int main void char InputFile 80 OutputFile 80 temp 10 int Res FILE
83. nal multifunction input output board Model IO1809 provides this capability This board has two additional serial ports and one additional parallel port In this application only one serial port is used and the remaining serial port and the parallel port are disabled The serial port on the SIIG board is configured in a non standard manner since all serial input output in the data logger uses interrupt driven routines and each serial port must have a unique IRO hardware interrupt request channel This port is designated COM3 I O Ports 2E8 2EF IRO 5 The hardware configuration of this board is documented in Appendix 2 COMI communicates with the Global Positioning receiver COM2 with the User Display Control Console and COMG with the KVH Compass System All serial ports initially operate at 9600 baud no parity 8 bit of data with 1 stop bit 9600N81 The GPS port COMI is operated at 38 400 baud after the GPS receiver is initialized Analog to Digital Converter An analog to digital converter allows the recording of the following analog variables in digital format Aircraft pitch and roll data from the Vertical Gyroscope Aircraft yaw data from the Pendulum Airspeed data derived from a differential pressure sensor Electronic Navigation data from VOR LOC Glideslope In total there are twelve channels of analog information that are sampled and converted into digital data in this application It is possible to add significant number of a
84. ogging EXIT ing copies the present data file to floppy disk if present and terminates the Data Logger functions allowing the power to the system to be safely turned off e RESTART allows the operator to restart data logging after some abnormal behavior terminated the previous logging session If restarting is possible the operator will be informed by text on the display e CAL COMP calibrate compass allows the operator to command the system to perform an autocompensation procedure on the magnetic compass system This key is inoperative if the Data Logger is presently logging flight data e TGGLE toggle allows the operator to mark portions of the flight for later analysis Pressing the key once starts the marking process pressing the key again ends marking The marks are numeric tags incrementing automatically The operator is informed of the numeric value of the tag by text on the display Marking is only functional while the Data Logger is recording data No other inputs or keys are required during normal operations of the Data Logger however two more keys are active to control the display functions See the Operation section for details Some additional functions and displays are provided for maintenance purposes these are discussed in the section Maintenance and Troubleshooting Power Converters The complete Data Logger requires approximately 4 5 amps from the aircraft 12 volt power buss The aircraft power buss and wiring is pro
85. on procedure two single digit numbers are displayed 0 9 the higher the numbers the better The first digit represents the quality of the compensation a score of 7 or above indicates an accuracy of 2 degrees or better The second digit represents the quality of the magnetic environment a score of 5 or better is acceptable If acceptable scores are not achieved the procedure should be repeated after moving the aircraft to a different physical location If calibration does not correct the problem the optimum diagnostic procedure would be to substitute a KVH C100 compass from another Data Logger system to verify the problem is the compass engine If the SIN solves the problem the defective unit should be returned to the manufacturer for repair or replacement If the substitution of the compass engine does not solve the problem the difficulty may be associated with the aircraft Changes in the location of the compass system or additional pieces of eguipment recently installed near the compass engine location may effect accuracy Changes in the aircraft wiring in the area of the compass may also have the same effect It is also possible that the aircraft s engine or generating gt If a new C 100 Compass System is acquired it must be configured using the software provided by the manufacturer See Appendix 3 for details 18 system may be producing electrical noise that may interfere with proper operation of this electronic
86. or variations of the transducers Typical logger ini file SystemID A PitchOffset 4 979 PitchGain 12 27 RollOffset 5 062 RollGain 18 01 AltOffset 1 3 AltGain 0 32175 BallOffset 0 BallGain 1 783 16 DataDirPath c gpstest data General Maintenance and Calibration Periodic Maintenance Generally the Data Logger systems require little maintenance on a regularly scheduled basis The only item would be the air filter which should be checked and cleaned as required every six months The only limited life components are the backup batteries for the CMOS memory and real time clock of the single board computer and for the GPS receiver and the vertical gyroscope The batteries should last approximately five years before requiring replacement The vertical gyroscope has a service life of approximately 300 500 hours according to the manufacturer Humphrey Inc Calibration The only components that may require calibration with the exception of the compass engine the calibration of which is addressed later in this section are those associated with the analog systems The calibration of the analog to digital converter system itself is addressed later in this section and is a rather lengthy procedure which is described in the respective manuals of the two components AD12 8 and AT16 P It should be noted that calibration of these components is the only form of adjustment for correcting errors in the low level A D ch
87. ord Airspeed ADCount Record Pitch ADCount Record Roll ADCount Record Ball 2 ADCount Record CDI1 2 ADCount Record CDI2 ADCount Record GSDev ADCount ADCount 0 if Record Ball lt 0 tempy 1 else tempy 1 Record Ball floor fabs Record Ball 4 0 0 5 Record Ball tempy Record Ball 4 0 Record Mode 0xc8 if RecFlag ReadCompass RecordBuffer Recordindex Record sprintf s 9u count UpdateCount s 51 The following switch displays diagnostic informaton on the A D system functions Displaying the information fx on the third line of the terminal 1 displays pitch and roll 2 displays airspeed and ball position 3 displays CDI 1 and its flag 4 dispalys CDI 2 and its flag 5 displays GS Dev and its flag 0 clears the thrid line display PES ERESERES ER ERE ES ERLE ELE SEAS EES EEE TEEEKEEETEIEEEEEKEEEKKEETK switch DiagnosticFlag case 0 break case 1 PitchRoll Record Pitch Record Roll break case 2 ASPend Record Airspeed Record Ball break case 3 PitchRoll Record CDI1 Record CDIT F1 break case 4 PitchRoll Record CDI2 Record CDIT F2 break case 5 PitchRoll Record GS Dev Record GSFlag break default break time amp WriteTime WriteTimeFlag 1 WriteRecordFlag 0 Record Airspeed 0 Record Pitch 0 Record Roll 0 Record Ball 0 Record CDI1
88. ors which require such an external source the vertical gyroscope pendulum and airspeed sensor Vertical Gyroscope A vertical gyroscope is employed to provide aircraft pitch and roll information for the Data Logger The component used is the Model VG24 0825 1 manufactured by Humphrey Inc The time to erect is less than nine minutes 0 5 degrees The unit weighs 3 0 pounds and requires 1 amp of starting current 0 4 amps running current at 28 volts DC The operational limits are 60 degrees of pitch the roll axis is continuous 360 degrees The unit is shock mount in a specially fabricated carrier which also is used to mount the Pendulum system described below and this carrier is further isolated from the Data Logger enclosure by Lord mounts The outputs are provided by two potentiometers requiring an external DC excitation voltage the 10 volts DC supplied from the analog to digital converter system described above The signal is nominally 66 millivolts per degree in the roll axis and 80 millivolts per degree in the pitch axis Both axes are calibrated initially on the bench at O degrees and 45 degrees Flight tests are performed to verify that the recorded data accurately represents the data provided to the pilot by the standard aircraft instruments Pendulum A standard pendulum is employed to sense aircraft yaw in the same manner as the ball of a rate of turn indicator The instrument used is the Model CP17 0601 1 produced by Hump
89. ould appear on the handheld terminal and the VGA display should provide a standard MSDOS command line prompt In the event that the Data Logger system fails to even boot the MSDOS operating system a keyboard and display must be attached and a bootable 3 45 floppy disk must be available and inserted in the drive When the system is powered press the Del key on the keyboard when prompted to enter the CMOS setup screens Once in setup configure the boot options to allow booting from the floppy disk first then the fixed disk Save the CMOS setting and allow the system to re boot The single board computer should 17 boot the MSDOS operating system from the floppy disk and allow testing to be performed Diagnostics should then be performed to determine the cause of the failure to boot from the fixed disk and this condition remedied Before returning the system to service as a Data Logger restore the boot options back to the original configuration i e boot from the fixed disk only This setting is chosen so that a user can insert a floppy disk used to provide a copy of the Logger data file at any time without having the system attempt to boot from the floppy At this point the autoexec bat file can be edited to comment out the lines that automatically start the Data Logger software gpstest exe These should be removed before the system id returned to service Once the computer is booted and operating in MSDOS all normal MSDOS functions sh
90. ould be available and the unit should behave as a standard computer using command at the standard DOS prompt The floppy drive A and fixed disk C should be accessible for both read and write serial ports COMI and COM2 should be available Note that COM3 is non standard and will not be recognized by DOS Also there are no active parallel ports in the system Executing the file gpstest exe from its home directory will run the actual logger software The external compass system and the handheld display terminal must be connected for the system to start Furthermore if the GPS antenna is not connected and receiving a signal the Data Logger will not be allowed to enter the logging mode Compass System Problems Accuracy If the Data Logger does not provide an error message related to the compass system type C but the data provided by the system appears to be erroneous the first step would be to perform a new calibration autocompensation procedure This is accomplished by powering the Data Logger and moving the aircraft to an area free from metal structures and underground electrical power cables This procedure is most easily accomplished with two operators one to maneuver the aircraft and one to operate the handheld terminal The aircraft must be maneuvered to eight 8 distinct headings during this process The operators will be guided through the procedure by a sequence of messages on the Console At the end of a successful calibrati
91. rec Pitch rec Roll rec Ball rec CDI1 rec CDIT F1 rec CDIFlag1 rec CDI2 rec CDIT F2 rec CDIFlag2 rec GSDev rec GSFlag rec COG rec SOG long double dg2rads long double degrees long double temp1 temp2 temp3 format of geodetic parameters dddmm mmmmmm templ degrees 100 0L if temp1 gt OL temp2 floorl temp1 else temp2 ceill temp1 temp3 templ temp2 100 0L temp2 temp3 60 0L temp1 temp2 d rad return temp1 73 void II2UTM long double latrad long double longrad long double north long double east int IZONE f static int status 0 long double cen meridian delta meridian sinlat coslat tanlat ETA void initialize void long double rad cur long double x long double y long double z long double true mer dis long double a long double b long double c long double d long double e long double f long double t1 t2 t3 t4 t5 t6 t7 t8 t9 SN TMD long double delta 2 delta 4 delta 6 coslat 3 coslat 5 coslat 7 ETA 2 ETA 3 ETA 4 long double tanlat 2 tanlat 4 tanlat 6 long double dg2rads long double latrad dg2rads latrad longrad dg2rads longrad if status initialize status 1 IZONE 31 floorl longrad d rad 6 0L if IZONE gt 60 IZONE 60 ifffIZONE lt 1 IZONE 1 cen meridian long double IZONE 6 183 d rad delta meridian longrad cen meridian delta 2 delta meridian delta meridian delta 4
92. record now FlushRecordBufferFlag 0 f recording stopped flush SetTimeFlag 1 FloppyFlag 0 ExitFlag 0 ADInProgressFlag ADDataReadyFlag BannerFlag 0 DiagnosticFlag 0 0 0 unsigned char CurrentContrast 0x66 char SystemID logger ini variables float PitchOffset PitchGain RollOffset RollGain AltOffset AltGain BallOffset BallGain char DataDirPath 50 struct record 1 unsigned long Time int Mark int Mode double Latitude double Longitude int Altitude int RateOfClimb int Airspeed int M agHeading int Pitch int Roll float Ball int CDI1 int CDIT F1 int CDIFlag1 int CDI2 int CDIT_F2 int CDIFlag2 int GSDev int GSFlag int COG int SOG E struct record Record stru ct record RecordBuffer 10 int RecordIndex 0 int GPSBufferFlag 2 0 0 char GPS Buffer 2 11500 unsigned int LoopCounter 1000 unsigned ADPointBuffer 200 4 Globals for A D board int ADStatus ADTask ADParameters 5 41 ADDataBuffer 200 ADTempBuffer 100 int ADCount 10 HEHRHHHEHHHHHHHBHE int GPS H D Flag 0 IONFlag 1 GPS Precision Flag 1 int GEOSATFlag 0 BRA PORT KVH compass system on COM3 PORT QT terminal on COM2 PORT GPS GPS receiver on COM1 int SendGPSCommand char p void FatalError char p void GPSlnit void int ReadGPS void void GPSDelnit void void GPSScan void
93. s The WAAS signal is the same frequency as the GPS L1 signal and thus can be received and processed by a modified GPS receiver Corrections and integrity bounds are calculated by the ground stations uplinked to the geostationary satellites and transmitted to GPS WAAS users Although the WAAS is not yet commissioned and cannot be used for safety of life applications it is perfectly suitable for this application Radio Navigation Instruments The Data Logger records the radio navigation indications from two VOR LOC displays and one Glideslope display The left right up down deflection of the course deviation indicators CDI s is recorded in addition to the state of the system flags and TO FROM indicators in the case of VOR operations This requires a total of eight analog to digital channels This data are derived from the outputs of the panel mounted display units normally used to connect to an autopilot The Bendix King units installed in the Beech Sundowners used in this application provide industry standard CDI signal voltages 150 millivolts for a full scale deflection however the flags and TO FROM signals are not exactly standardized and the Data Logger software is designed to accommodate the voltages specific to these instruments As a safety precaution all connections to the aircraft navigation displays are routed through relays which totally isolate the aircraft navigation circuitry from that of the Data Logger when the Data Logger
94. s 4 amp SVx 5 SVstatus 5 7 SVstatus 7 amp SV x 8 SVstatus 8 10 SVstatus 10 amp SVx 11 SVstatus 11 if error 2 satcount Record Mode amp Oxfffe if DCIFlag gt 0 DCIFlag GPSBufferFlag index 2 0 return for i 0 i lt satcount i if SVx i gt 32 GEOSATFlag 1 if strchr OKCodes int S Vstatus i 0 NULL Corrected if GPSFlag 0 48 DCIFlag 0 else printf SV122 found 96d Count d n GEOSATFlag Corrected if GEOSATFlag amp amp Corrected gt 4 DCIFlag 10 Record Mode 0x0001 SetlON 0 else Record Mode amp Oxfffe if DCIFlag gt 0 DCIFlag if IDCIFlag SetlON 1 GPSBufferFlag index 0 return if strstr GPS Buffer index PASHR WAS INF NULL is an INF message if sscanf GPS Buffer index infformat amp W AA SFlag printf syn GPSBuffer index if WAASFlag Ox3f SetWAAScor 1 passcount 5 else if passcount SetWAAScor 0 SetlON 1 GPSBufferFlag index 0 return if strstr GPSBuffer index PASHR POS NULL is a POS message WriteRecordFlag 1 time to write a record if sscanf GPSBuffer index posformat amp PFlag amp temptime amp PLat amp ns amp PLon amp ew amp PAIt amp COG amp SOG amp Rate 10 POSTime temptime printf scanned POS message at 96 ldin POSTime
95. sage QTClear QTWLine string 1 QTWLine Record Error Number 2 QTW Line To Restart reset or 3 QTW Line cycle power on unit 4 for i 0 i lt 3 i QTBeep delay 1000 WriteString GPS PASHS RST 2 exit 0 ER EFESELELES EA LEELA ESLER LES EA EL ELE ERE EL EL EA EE ELE EES EE EEE ERE EE RES ERE Displays the Sign On Message and System ID Tests LEDs and Beep 87 JA 2 aaa AA AA FEKK KERK KERR void DisplaySignOn char c char st f char buffer 20 int i QTReset QTWLine IPC Data Logger 1 sprintf buffer System c c QTW Line buffer 2 sprintf buffer 26 s st QTW Line buffer 3 for i 1 i lt 6 i QTLed i 1 LED s on delay 300 QTBeep delay 500 for i 5 15 0 i QTLed i 0 4 LED s off delay 300 61 delay 3000 fEEESERES EREAARES ERE ERED TT ET ERED ERE ARES ERE RES ERE EEE EE REE EERE ER EY Kl Looks for KeyPresses on the OT Terminal scans for valid inputs ha sets flags for the various functions to be performed ka JEE EKEK kK E K kk Kk k RK Kk KKK KK K KK KET EKKAKKK EET KKE EEK EEKKK KKKEKKK KKKAKK J void GetKeyboardInput void int status char buffer 22 char mess1 5 ESC I B char mess2 5 ESC K y if ISRXEmpty QT return return immediately if no characters if PeekChar QT if not tilde single character command if
96. sages of the terminal When operating and collecting data this loop is executed approximately three hundred times per second A data record is taken each second and stored to a temporary buffer Every ten seconds this buffer is written to the fixed disk and the file is closed This procedure ensures that if software or hardware failure occurs during a flight logging session the data recorded with the possible exception of the last ten seconds is saved and recoverable The logger data is stored to the fixed disk in binary format that minimizes the time and disk space required to store each record A binary record is only 60 bytes long One hour of flight data occupies only 211 kilobytes of storage and thus a data file representing more than six hours of flight data can easily be stored on a 3 12 floppy disk When the operator ends a logging session and exits the program the recorded data file is copied to the floppy disk automatically If this operation fails for any reason no disk present disk not formatted or some other reason the file is retained and written to the floppy disk on the next opportunity In any event the data files are always retained on the fixed disk and may be retrieved using standard DOS command line procedures The program consists of multiple modules the source code for which may be found in Appendix 7 Post Flight Data Conversion Software As noted above the flight data files are stored in binary for reasons
97. t 1 if buffer 0 C buffer 0 H QTContrast ClearRXBuffer QT while test QTClear float GetM agHeading void float heading char HDG dl char ans 40 command to get heading data int ERROR 0 CompassCommand HDG ans call command routine ERROR sscanf ans f amp heading scan result for heading if ERROR FatalError C002 exec Fatal error routine return heading aa ENST TETEN ETE TETEN ETAL ES ELLE ELAS ELAS AL ESE RES ERE RARE EE ER EERE RE ER ES f FI lai Prompts User through 8 point calibration procedure kf Checks for errors which are considered non fatal ka EEF REEEAEERA LEE AL ERA LEE AS ERA EEE AE ERA EER EER EEE A EEE AER EE ER EER ERE J void CalCompass void char cal cel calibration command char response 40 return string buffer char pos Position A C to Prompt sub string char test complete SUCCESS sub string float lastheading 0 0 heading int ERROR int status charc if CalFlag return GPSDelnit GPSFlag DCIFlag 0 QTClear Clear Display CalFlag 1 Set CalFlag no other ops QTW Line Compass Calibration 1 4 Use Prompt Strings QTWLine Enter on Positioned 3 QTWLine Press WAN to Abort 4 do printf line 141 for testing only CompassCommand cal response send cal command 35 printf l
98. tected by a 10 amp circuit breaker in the primary power circuit of the Data Logger Two switching DC to DC converters are required in 12 volt aircraft only a primary converter is required in 24 volt aircraft in addition to changes to other components of the Data Logger see the section Maintenance and Troubleshooting for details Primary Converter The primary DC to DC converter is that which converts the aircraft DC power to the voltages required to operate the single board computer and other components that require compatible regulated voltages the Display Terminal and the Compass System The input of the primary converter for the Beech Sundowner is 12 volts DC the outputs are e 5 volts DC regulated e 3 volts DC regulated e 12 volts DC regulated e 12 volts DC regulated The primary DC to DC converter used is the Model PD110 40L by International Power Sources Inc This unit requires an input of 10 to 20 volts DC and provides the four regulated output voltages listed above The unit is capable of providing 5 volts DC 10 amps 12 volts DC 9 amps 12 volts DC and 5 volts DC both 1 amp total power output not to exceed 110 watts The 5 volt output is over voltage protected and all outputs are over current protected Secondary Converter The secondary DC to DC converter is required only in aircraft that are equipped with a 12 volt electrical system such as the model of Beech Sundowner employed in this application The
99. ted Note that in any event pressing the reset button on the Data Logger will require a minute or so before the system appears to respond This delay is caused by the necessity of re loading the operating system followed by the actual program If this fails to resolve the problem the Data Logger should be powered down and the logging session cancelled until the required maintenance can be performed 12 Table 1 Data Logger Error Codes Error Code Description A001 Error initializing the analog to digital converter A002 Error initializing an A D conversion cycle A003 Error starting an A D conversion cycle A004 Error reading data from an A D conversion C001 Magnetic Compass fails to respond to commands C002 Failed to obtain magnetic heading G001 Could not send command to GPS receiver G002 Could not reset the GPS receiver G003 Could not set initiate low dynamics in GPS receiver G004 Could not set navigation mode in GPS receiver G005 Could not start WAAS mode of the GPS receiver G006 Could not set ION mode of the GPS receiver G007 Could not set WAAS POS mode of the GPS receiver G007 Could not set WAAS precision mode of the GPS receiver G008 Could not request WA AS INF message from the GPS receiver G009 Could not request NMEA GGA message from the GPS receiver G010 Could not request NMEA POS message from the GPS receiver G001
100. the handheld terminal There will be no doubt other faults in the hardware and software which may just STOP the system with NO displayed error message If an error message is displayed or if the logging just stops inexplicably pressing the reset button on the Data Logger or turning the power switch OFF and then back ON will re initialize the system 11 In any event if the system was recording a process is in place that allows the operator to restart recording data to the original file If restart is possible the sign on message check for disk compass checks and gyro check will be bypassed The message Restart Possible will be displayed The operator may press RSTRT on the handheld terminal to resume recording if the GPS LED is lit If it desired that subsequent flight data be recorded to a new file the aircraft must be flown straight and level until the GYRO LED is lit then if the GPS LED is also lit pressing the START STOP key begins recording to a new file Other Features Calibrate Compass When NOT recording data the operator may press CAL COMP to begin a compass calibration autocompensation procedure Messages on the handheld terminal will guide the operator through the series of steps required to do an eight point ground calibration of the magnetic compass engine The operator may abort this procedure at any time The unit displays information on the accuracy of the calibration upon completion Details on this proce
101. til turned off by command Appendix 6 Initial Settings for Display Control Console The OTERM II is configured via software provided by the manufacturer The program QSETUP EXE is used to program the terminal using a QDATA File The QDATA File is an ASCII file provided by the manufacturer in several versions for the various models of the QTERM II terminal The particular file appropriate to this unitis ODATA40W V30 Several changes were made to this default file in order to utilize the display more conveniently and to simplify the task of communicating with the terminal Specifically the lines identified below were modified e auto wrap mode off e auto scroll mode off e auto line feed mode off e key repeat mode off e lt k00 gt 5 lt k01 gt 4 lt k02 gt 3 e lt k03 gt 2 lt k04 gt 1 lt k05 gt e sk00 5 lt Sk01 gt lt sk02 gt 3 e sk032 2 lt sk04 gt 1 lt sk05 gt The result of loading this modified configuration is twofold 1 Alltwenty character positions on each of the four lines of the display can be written to without changing the display on any other line in the process and 2 The data sent when a function key is pressed START STOP EXIT etc starts with the tilde character which is not sent by any other key on the keypad Detailed instructions on the use of OSETUP and ODATA Files are in Chapter 3 of the OTERM II User s Manual The QTERM II sends
102. tion Percent Full Scale limit at 120 right T FI 311 To From Indicator 1 TO 1 FROM 0 none Flagl VOR LOC 1 Flag GOOD 0 Z FLAGGED CDI 2 VOR LOC 2 Same as Above T F2 Flag2 GSCDI Glideslope Course Deviation Same as VOR LOC CDI s up GS Flag Glideslope Flag Same as VOR LOC Flags COS Course Over Ground Degrees Derived by GPS SOG Speed Over Ground Knots Derived by GPS The Mode of the Data Logger which employs WAAS correction has the decimal number 200 added to the mode value to differentiate the data from the original which used DCI RTCM corrections 14 Table 3 Legend for UTM ASCII Converted Files Column Heading Description Format and Limits Time Universal Coordinated Time HHMMSS Mark Observer Data Mark Auto incrementing integers Mode GPS Operational Model 0 2 none 2 non diff 3 diff Zone UTM Zone Integers between 1 and 60 Northing UTM Northing Coordinate Meters north of the Equator Fasting UTM Easting Coordinate Meters East of Central Meridian For this Zone 500 000 Alt Altitude Above MSL Units of feet Rate of Climb Vertical Speed Units of feet minute Airspeed Indicated Airspeed Units of Knots MagHeading Magnetic Heading Degrees Pitch Pitch Attitude Degrees nose up Roll Roll Attitude Degrees right Ball Coordination Yaw Units of Ball Width CDI 1 VOR LOC 1 Course Deviation Percent Ful
103. to be placed and calibration data for the analog channels which are hardware dependent pitch roll ball and airspeed This allows re calibration of the system without the need to re compile the basic program Most of the inputs are channeled through hardware interrupt serviced input output ports to insure that data from the external devices is received without loss of information A system of flags and semaphores are used to indicate when data is available for each module to process thus allowing the software to bypass modules which need not be run at that particular instant After the initialization of the sub systems the program enters the main program loop each function within the loop performs a specific relatively short task on the data available to be processed and then passes control the next task By these means an operating system which was never designed to be multitasking can be manipulated into a multitasking function For example one task reads available characters from the GPS system and places them in a buffer temporary storage This routine places each message in a separate buffer and sets a flag if a complete message is available Later another task interrupts the buffered message and acts upon the result In the meantime other tasks are performed such as servicing the analog to digital converter system scanning for and acting upon operator keyboard input processing data storing data and updating the LED s and text mes

Download Pdf Manuals

image

Related Search

Related Contents

  KOHLER K-1418-G-0 Installation Guide  Philips PHC120  Zotac H87-ITX    Spirea2 - Invacare Rea  DFX-256 um v1.2  gebruiksaanwijzing betriebsanleitung user manual mode d  Série MET ONE 3400 Compteur portable de particules aéroportées  Millennium 3 - DAVI Y CIA, S.L.  

Copyright © All rights reserved.
Failed to retrieve file