.:ARINC429: Difference between revisions
(Created page with "=Aeronautical Radio, Incorporated (ARINC) 429 Processing= ==process_raw (Level 1)== '''Purpose''' Extracts ARINC 429 data from the SEA M300 data acquisition system file (*....") |
|||
Line 38: | Line 38: | ||
process_raw 23_07_31_11_16_20.sea | process_raw 23_07_31_11_16_20.sea | ||
==arinc429_fl946.pro Data Conversions== | |||
'''Static and Impact Pressures''' | |||
Calculate the two's complement integer from the 16-digit binary data starting at index 4 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 63.9990234/2.0^16.0 to get the pressure in inches of mercury. Multiply the pressure by 33.86389 to convert to hectopascals. | |||
'''Aircraft Altitude''' | |||
Calculate the two's complement integer from the 17-digit binary data starting at index 3 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 131071.0/2.0^17.0 to get the altitude in feet. Multiply the altitude by 0.3048 to convert to meters. | |||
'''Mach Number''' | |||
Calculate the two's complement integer from the 16-digit binary data starting at index 4 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 4.096/2.0^16.0 to get the unit-less mach number. | |||
'''(Indicated) Airspeed''' | |||
Calculate the two's complement integer from the 14-digit binary data starting at index 6 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 1023.75/2.0^14.0 to get the airspeed in knots. Multiply the airspeed by 0.5144447 to convert to meters per second. | |||
'''Maximum Operating Speed''' | |||
Calculate the two's complement integer from the 12-digit binary data starting at index 8 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 1024.00/2.0^12.0 to get the airspeed in knots. Multiply the airspeed by 0.5144447 to convert to meters per second. | |||
'''True Airspeed''' | |||
Calculate the two's complement integer from the 15-digit binary data starting at index 5 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 12048.0/2.0^15.0 to get the airspeed in knots. Multiply the airspeed by 0.5144447 to convert to meters per second. | |||
'''Total Air Temperature''' | |||
Calculate the two's complement integer from the 11-digit binary data starting at index 9 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 511.75/2.0^11.0 to get the total air temperature in degrees Celsius. | |||
'''Aircraft Vertical Speed''' | |||
Calculate the two's complement integer from the 11-digit binary data starting at index 9 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 32752.02.0^11.0 to get the aircraft vertical speed in feet per minute. Multiply the vertical speed by 0.3048/60.0 to convert to meters per second. | |||
'''Static Air Temperature''' | |||
Calculate the two's complement integer from the 11-digit binary data starting at index 9 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 511.75/2.0^11.0 to get the static air temperature in degrees Celsius. | |||
'''Various Diagnostic Parameters''' | |||
Calculate the two's complement integer from the 20-digit binary data starting at index 0 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 180.0/2.0^20.0 to get the physical floating-point equivalent. |
Latest revision as of 19:31, 9 November 2023
Aeronautical Radio, Incorporated (ARINC) 429 Processing
process_raw (Level 1)
Purpose
Extracts ARINC 429 data from the SEA M300 data acquisition system file (*.sea) and saves the data to one or two output files.
Program Flow The process_raw.pro script calls the process_WMI.pro subroutine, which sorts the data based on data type and tag number. For data type 16 and tag numbers 12000 through 12022, call arinc.pro subroutine; for data type 16 and all other tag numbers call arinc429.pro. The arinc429.pro determines the aircraft ID associated with the data; if aircraft ID equals "FL-946", then go to arinc429_fl946.pro subroutine; otherwise convert the binary ARINC data to an integer and save to .serial.arinc429.raw and .serial.arinc429ch2.raw files. The arinc429_fl946.pro subroutine converts parameters with known conversion factors from digital data to floating-point type numbers and converts the other binary data to an integer and saves the data to the serial.arinc429.raw and .serial.arinc429ch2.raw files.
Subroutines
- process_WMI.pro
- arinc429_fl946.pro
- arinc429.pro
- arinc.pro
- create_arinc429ch2_fl946_header.pro
- create_arinc429ch2_header.pro
- create_arinc429_header.pro
- create_arinc_header.pro
Required Input Files
*.sea
Output Files
Among many other files, process_raw may generate:
- *.serial.arinc.raw'
- *.serial.arinc429.raw'
- .serial.arinc429ch2.raw'
Syntax
process_raw <-d> <-v> <-vm> input_file
Example
process_raw 23_07_31_11_16_20.sea
arinc429_fl946.pro Data Conversions
Static and Impact Pressures
Calculate the two's complement integer from the 16-digit binary data starting at index 4 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 63.9990234/2.0^16.0 to get the pressure in inches of mercury. Multiply the pressure by 33.86389 to convert to hectopascals.
Aircraft Altitude
Calculate the two's complement integer from the 17-digit binary data starting at index 3 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 131071.0/2.0^17.0 to get the altitude in feet. Multiply the altitude by 0.3048 to convert to meters.
Mach Number
Calculate the two's complement integer from the 16-digit binary data starting at index 4 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 4.096/2.0^16.0 to get the unit-less mach number.
(Indicated) Airspeed
Calculate the two's complement integer from the 14-digit binary data starting at index 6 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 1023.75/2.0^14.0 to get the airspeed in knots. Multiply the airspeed by 0.5144447 to convert to meters per second.
Maximum Operating Speed
Calculate the two's complement integer from the 12-digit binary data starting at index 8 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 1024.00/2.0^12.0 to get the airspeed in knots. Multiply the airspeed by 0.5144447 to convert to meters per second.
True Airspeed
Calculate the two's complement integer from the 15-digit binary data starting at index 5 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 12048.0/2.0^15.0 to get the airspeed in knots. Multiply the airspeed by 0.5144447 to convert to meters per second.
Total Air Temperature
Calculate the two's complement integer from the 11-digit binary data starting at index 9 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 511.75/2.0^11.0 to get the total air temperature in degrees Celsius.
Aircraft Vertical Speed
Calculate the two's complement integer from the 11-digit binary data starting at index 9 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 32752.02.0^11.0 to get the aircraft vertical speed in feet per minute. Multiply the vertical speed by 0.3048/60.0 to convert to meters per second.
Static Air Temperature
Calculate the two's complement integer from the 11-digit binary data starting at index 9 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 511.75/2.0^11.0 to get the static air temperature in degrees Celsius.
Various Diagnostic Parameters
Calculate the two's complement integer from the 20-digit binary data starting at index 0 (leftmost digit equals index zero). Multiply the two's complement integer by the scaling factor 180.0/2.0^20.0 to get the physical floating-point equivalent.