Barnard Microsystems Limited

Developing Unmanned Aircraft Systems to benefit Mankind

Unmanned aircraft status message syntax - Status Message

In this section, we detail a binary Unmanned Aircraft Status Message Syntax that is only 600 bytes in size. This 4,800 bit message can be BYTE multiplexed at a rate of 1 message per second with 4,800 bps CELP encoded digitised Tower or ATC voice. The Tower or ATC centre voice together with one status message per second can be transmitted using the modem capability of an inexpensive satellite phone to a low earth orbit satellite.

Message length

We calculate a Status Message length for a well equipped Unmanned Aircraft with:

  • three engines
  • three battery units
  • one generator
  • five Power Supply Units
  • four altimeters (3 ultrasonic + 1 LIDAR)
  • five communication systems (3 VHF + 1 satellite modem + 1 GSM modem)
  • a Sense and Avoid system
  • four cameras

    BLOCK 0

    section

    Bytes

    Preamble = 55:55:55:55:55:55:0F:0F

    consisting of:

    6 x NULL_0101

    NULL_0101 = 01010101 = HEX 55

    2 x Preamble_0

    Preamble_0 = 00001111 = HEX 0F

    8

    padding with n x NULL_0101

    34

    Payload

    44

    BLOCK 0 checksum

    4

    BLOCK 1

    section

    Bytes

    padding with NULL_0101

    NULL_0101 = HEX 55 = 0101 0101

    0

    Header

    28

    Power

    54

    GPS

    67

    Warnings

    15

    Communications systems

    59

    BLOCK 2

    section

    Bytes

    padding with NULL_0101

    NULL_0101 = HEX 55 = 0101 0101

    2

    IMU

    52

    FCU

    105

    Sense and Avoid system

    58

    End_Of_String

    1

    • BLOCK 0 has a 4 Byte unsigned integer checksum, but is not FEC encoded since the Payload Status is not considered to be "mission critical" from a command and control perspective
    • BLOCK 1 is FEC encoded to 255 Bytes, as is BLOCK 2, using Reed Solomon RS(255,223) coding.
    • If the data in BLOCK 1 or in BLOCK 2 is less than 233 Bytes, then the data is padded with NULL_0101 to 233 Bytes. NULL_0101 = 0101 0101, i.e. an alternating sequence of ONEs and ZEROs.
    • BLOCK 0, 1 and 2 data may be encrypted using an algorithm that does not increase the message size. Any encryption of BLOCK 1 and BLOCK 2 data is performed prior to FEC encoding.
    • The Payload BLOCK 0 + FEC encoded BLOCK 1 + FEC encoded BLOCK 2 = 600 Bytes = 4,800 bits.
    • This Status Message is BYTE multiplexed with the 4,800 bps digitised voice channel to end up with a 9,600 bps digital data signal that can be transmitted via a satellite phone modem.

    return to top

    Status Message keywords

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments on B1:B2:B3:B4

    00

    End_Of_String

    0

    Reserved for use at the end of the BLOCK 2 section.

    01

    BEGIN

    1

    beginning of section; B1 = section ID (shown next)

    00 = HEADER (message header data: message_ID,...)

    01 = IMU (Inertial Measurement Unit)

    02 = FCU (Flight Control Unit)

    03 = POWER (electrical power supplies monitoring)

    04 = WARNINGS (warning flags: ON, OFF)

    05 = COMMS (status of comms systems; BER, RSSI)

    06 = PAYLOAD (any warnings from payload)

    07 = GPS (GPS data, received each second)

    08 = SENSE (from Sense and Avoid system, if fitted)

    09 = engine

    0A = flaps

    0B = altimeter

    0C = FCU_general

    0D = battery

    0E = PSU

    0F = comms_system

    10 = GPS_satellite

    11 = air_object

    12 = camera

    13 = generator

    02

    END

    0

    end of section

    03

    ID_msg

    3

    16,777,216 unique message IDs

    sufficient for 194 day (each 24 hours) UA flight

    04

    ID_UA_source

    4

    B1:B2 = country code = the International Telephone Dialling Code, where the largest number = 1929 (the North American Numbering Plan) for Puerto Rico.

    B3:B4 = 65,536 unique IDs

    05

    time_UTC

    3

    hhmmss with hh using 24 hour UTC GPS clock

    eg: 231205 = 23h:12:05 = 5 seconds past 11:12 pm

    06

    date_UTC

    3

    Format is yymmdd

    example 080117 = 17 JAN 2008

    07

    ID_BLK12_format

    2

    B1 = BLOCK 1 format ID from 0 to 255

    B2 = BLOCK 2 format ID from 0 to 255

    08

    ID_GCS_destination

    4

    B1:B2 = country code = the International Telephone Dialling Code, where the largest number = 1929 (the North American Numbering Plan) for Puerto Rico.

    B3:B4 = 65,536 unique IDs

    09

    ID_GCS_backup

    4

    B1:B2 = country code = the International Telephone Dialling Code, where the largest number = 1929 (the North American Numbering Plan) for Puerto Rico.

    B3:B4 = 65,536 unique IDs

    0A - 0E

    unused

    5 Item_ID Bytes reserved for future use.

    0F

    Preamble_0

    0

    Used in the Preamble

    HEX 0F = BIN 0000 1111

    Example

    text format

    binary format

    BEGIN HEADER

    01:00 (not included)

    ID_msg

    ID_msg 133

    03:00:00:85

    ID_UA_source

    ID_UA_source GB_133

    04:2C:00:00:85

    time_UTC

    time_UTC 16:35:23

    05:02:7E:C3

    date_UTC

    date_UTC 071114

    06:01:15:CA

    ID_BLK12_format

    ID_BLK12_format 5 15

    07:05:0F

    ID_GCS_destination

    ID_GCS_destination

    08:2C:76:12:46

    ID_GCS_backup

    ID_GCS_backup

    09:2C:A1:23:77

    END

    02 (not included)

    Note that the BEGIN HEADER and the END Item_IDs are not included to save message length.

    • HEADER binary message section length = 28 Bytes

    return to top

    IMU section

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments on B1:B2:B3

    10

    IMU_gyro_x

    3

    0 to +/- 8,388,607 millidegrees / sec in B1:B2:B3 format

    11

    IMU_gyro_y

    3

    0 to +/- 8,388,607 millidegrees / sec in B1:B2:B3 format

    12

    IMU_gyro_z

    3

    0 to +/- 8,388,607 millidegrees / sec in B1:B2:B3 format

    13

    IMU_accel_AVG_x

    3

    0 to +/- 8,388,607 ug in B1:B2:B3 format (g = 9.8m/s 2 )

    14

    IMU_accel_AVG_y

    3

    0 to +/- 8,388,607 ug in B1:B2:B3 format (g = 9.8m/s 2 )

    15

    IMU_accel_AVG_z

    3

    0 to +/- 8,388,607 ug in B1:B2:B3 format (g = 9.8m/s 2 )

    16

    IMU_mag_x

    3

    0 +/- 8,388,607 nT in B1:B2:B3 format

    Earth's magnetic field strength = 48,489 nT

    17

    IMU_mag_y

    3

    0 to +/- 8,388,607 nT in B1:B2:B3 frmat

    18

    IMU_mag_z

    3

    0 to +/- 8,388,607 nT in B1:B2:B3 format

    19

    IMU_inclin_x

    2

    0 to +/- 32,767 millidegrees in B1:B2 format

    This is the "angle-of-attack".

    1A

    IMU_inclin_y

    2

    0 to +/- 32,767 millidegrees in B1:B2 format

    This is the "horizontal situation indicator".

    1B

    IMU_temp

    2

    IMU_temp = B1:B2 / 100 in degrees Centigrade

    B1B2 / 100 = 0 to 655.35 degrees Centigrade

    1C

    IMU_AMP_vib_x

    3

    0 to 16,777,215 ug in B1:B2:B3 format (g = 9.8m/s 2 )

    vibration amplitude of largest peak in spectrum (not f=0)

    1D

    IMU_FREQ_vib_x

    3

    0 to 16,777,215 milliHz in B1:B2:B3 format

    vibration frequency of largest peak in spectrum (not f=0)

    suitable for engine related vibrations to 1,006,632 rpm

    1E

    IMU_AMP_vib_y

    3

    0 to 16,777,215 ug in B1:B2:B3 format (g = 9.8m/s 2 )

    1F

    IMU_FREQ_vib_y

    3

    0 to 16,777,215 milliHz in B1:B2:B3 format

    20

    IMU_AMP_vib_z

    3

    0 to 16,777,215 ug in B1:B2:B3 format (g = 9.8m/s 2 )

    21

    IMU_FREQ_vib_z

    3

    0 to 16,777,215 milliHz in B1:B2:B3 format

    22 - 2E

    unused

    13 Item_ID Bytes reserved for future use.

    2F

    IMU_fault

    1

    B1 = 0 to 255

    if B1 = 0 no fault is reported from the IMU

    if B1 = 1 to 255, fault number B1 was reported by IMU

    Example

    text format

    binary format

    BEGIN IMU

    01:01 (not included)

    IMU Item_IDs

    52 Bytes

    END

    02 (not included)

    • IMU binary message section length = 52 Bytes

    return to top

    FCU section

    FCU section: engine

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments on B1:B2:B3:B4

    30

    eng_ID

    1

    0 to 255

    31

    eng_prop_pitch

    2

    0 to 255

    0 = one extreme

    255 = the other extreme

    32

    eng_speed_ACT

    2

    engine_speed = B1:B2 * 10

    B1:B2 * 10 = 0 to 655,350 rpm

    33

    eng_carb_SET

    1

    0 to 255 where 255 = max setting

    34

    eng_TEMP

    2

    temp = B1:B2 / 100 degrees Centigrade

    B1:B2 / 100 = 0 to 655.35 degrees Centigrade

    35

    eng_TEMP_exhaust

    2

    temp = B1:B2 / 100 degrees Centigrade

    B1:B2 / 100 = 0 to 655.35 degrees Centigrade

    36

    eng_flow_rate_fuel

    2

    16 bit value from ADC in arbitrary units

    37

    eng_AMP_vib

    3

    0 to 16,777,215 ug in B1:B2:B3 format (g = 9.8m/s 2 )

    vibration amplitude of largest peak in spectrum (not f=0)

    38 - 3F

    unused

    8 Item_ID Bytes reserved for future use

    FCU engine binary message section length = 15 Bytes per engine

    FCU section: flaps

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments on B1

    40

    F_aileron_LHS_set

    1

    0 to +/- 127 degrees

    41

    F_aileron_LHS_act

    1

    0 to +/- 127 degrees

    42

    F_aileron_RHS_set

    1

    0 to +/- 127 degrees

    43

    F_aileron_RHS_act

    1

    0 to +/- 127 degrees

    44

    F_lift_LHS_set

    1

    0 to +/- 127 degrees

    45

    F_lift_LHS_actual

    1

    0 to +/- 127 degrees

    46

    F_lift_RHS_set

    1

    0 to +/- 127 degrees

    47

    F_lift_RHS_actual

    1

    0 to +/- 127 degrees

    48

    F_rudder_set

    1

    0 to +/- 127 degrees

    49

    F_rudder_actual

    1

    0 to +/- 127 degrees

    4A

    F_elev_LHS_set

    1

    0 to +/- 127 degrees

    4B

    F_elev_LHS_actual

    1

    0 to +/- 127 degrees

    4C

    F_elev_RHS_set

    1

    0 to +/- 127 degrees

    4D

    3_elev_RHS_actual

    1

    0 to +/- 127 degrees

    4E

    F_airbrake_LHS_set

    1

    0 to +/- 127 degrees

    4F

    F_airbrake_LHS_act

    1

    0 to +/- 127 degrees

    50

    F_airbrake_RHS_set

    1

    0 to +/- 127 degrees

    51

    F_airbrake_RHS_act

    1

    0 to +/- 127 degrees

    52 - 54

    reserved

    2 Item_ID Bytes reserved for future use

    55

    NULL_0101

    0

    This is a NULL command used to pad out BLOCKs

    HEX 55 = BIN 0101 0101

    The complimentary command is AA = NULL_1010

    56 - 5F

    unused

    10 Item_ID Bytes reserved for future use

    FCU flaps binary message section length = 18 Bytes

    FCU section: general

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments on B1:B2:B3:B4:B5

    60

    FCU_pressure_BARO

    3

    0 to 16,777,215 Pa

    zero altitude = 101,325 Pa

    61

    FCU_speed_air_pitot

    2

    0 to 65,535 cm/s (= 2,359 kph = 1,466 mph)

    62

    FCU_fuel_1

    2

    0 to 65,535 millilitres (cc)

    63

    FCU_fuel_2

    2

    0 to 65,535 millilitres (cc)

    64

    FCU_fuel_3

    2

    0 to 65,535 millilitres (cc)

    65

    FCU_direction_wind

    2

    0 to 359 degrees: NORTH is 0 degrees

    66

    FCU_speed_wind

    1

    0 to 255 kph (= 158 mph)

    67

    FCU_height_AGL_ALT

    4

    B1 = altimeter_type

    where U = ultrasonic; L = LIDAR; M = microwave

    B2 = altimeter_ID from 0 to 255

    B3:B4:B5 = 0 to 16,777,215 mm (16.7 km = FL550)

    68

    FCU_dx_OpFlow

    2

    0 to 65,535 cm (655 m/s = 2,359 kph = 1,465 mph)

    69

    FCU_dy_OpFlow

    2

    0 to 65,535 cm (655 m/s = 2,359 kph = 1,465 mph)

    6A

    FCU_dPITCH_OpFlow

    2

    0 to +/- 32,767 millidegrees

    6B

    FCU_dROLL_OpFlow

    2

    0 to +/- 32,767 millidegrees

    6C

    FCU_light_ambient

    3

    ambient_light = B1:B2:B3 / 100

    ambient_light = 0 to 167,772.15 LUX

    sunlight = 100,000 LUX; moonlight = 0.1 LUX

    6D - 6E

    unused

    2 Item_ID Bytes reserved for future use

    6F

    FCU_fault

    1

    B1 = 0 to 255

    if B1 = 0 no fault is reported from the FCU

    if B1 = 1 to 255, fault number B1 was reported by FCU

    FCU general binary message section length = 26 + n * 4 Bytes where n = number of altimeters

    FCU general binary message section length = 42 Bytes for 4 altimeters: 3 ultrasonic + 1 LIDAR

    Example

    text format

    binary format

    BEGIN FCU

    01:02 (not included)

    BEGIN engine

    01:09 (not included)

    15 Bytes per engine

    FCU engine Item_IDs

    15 Bytes per engine

    END

    02 (not included)

    BEGIN flaps

    01:0A (not included)

    18 Bytes

    FCU flaps Item_IDs

    18 Bytes

    END

    02 (not included)

    BEGIN FCU_general

    01:0C (not included)

    FCU general Item_IDs

    42 Bytes for a four altimeter system

    END

    02 (not included)

    END

    02 (not included)

    • FCU binary message section length = 105 Bytes for 3 engines, 4 altimeters, Unmanned Aircraft

    return to top

    Power

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments B1:B2:B3

    70

    batt_ID

    1

    0 to 255

    71

    batt_voltage

    2

    0 to 65,535 mV

    72

    batt_current

    2

    0 to 65,535 mA

    73

    batt_TEMP

    1

    0 to 255 degrees Centigrade

    74

    gen_ID

    1

    0 to 255

    75

    gen_RMS_voltage

    2

    0 to 65,535 mV

    76

    gen_RMS_current

    2

    0 to 65,535 mA

    77

    gen_TEMP

    1

    0 to 255

    78

    PSU_ID

    1

    0 to 255

    79

    PSU_voltage

    2

    0 to 65,535 mV with referece to GROUND

    7A

    PSU_current

    2

    0 to 65,535 mA

    7B

    PSU_TEMP

    1

    0 to 255 degrees Centigrade

    7C - 7F

    unused

    4 Item_ID Bytes reserved for future use

    Example

    text format

    binary format

    BEGIN POWER

    01:03 (not included)

    BEGIN battery

    01:0D (not included)

    6 Bytes per battery

    battery Item_IDs

    6 Bytes

    END battery

    02 (not included)

    BEGIN generator

    01:1D (not included)

    6 Bytes per generator

    generator Item_IDs

    6 Bytes

    END_generator

    02 (not included)

    BEGIN PSU

    01:1E (not included)

    6 Bytes per PSU

    PSU Item_IDs

    6 Bytes

    END PSU

    02 (not included)

    END POWER

    02 (not included)

    Typical battery and PSU configuration on a small Unmanned Aircraft:

    • battery 1 at -7.4 volts (two LiPo cells in series) for -5V PSU
    • battery 2 at 7.4 volts (two LiPo cells in series) for 3.3V and 5.0V PSU
    • battery 3 at 14.8 V (three LiPo cells in series) for 12 V and 28 V PSU
    • generator 1 at 6 V RMS
    • PSU 1 at -5.0 V
    • PSU 2 at +3.3 V
    • PSU 3 at +5.0 V
    • PSU 4 at +12 V
    • PSU 5 at +28 V for the payload

    Binary message length = j * 6 + k * 6 + n * 6 Bytes

    where j = number of batteries; k = number of generators; n = number of PSUs

    • POWER binary message section length = 54 Bytes for 3 batteries + 1 generator + 5 PSUs

    return to top

    Warnings

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments B2:B3:B4

    80

    warning_lights

    4

    B1

    B2

    B3

    B4

    warning_bitmap_format_ID = 01

    name

    W_land_wheels_LHS

    W_land_wheels_RHS

    W_land_wheels_TAIL

    W_fault_light_wing_RHS

    W_fault_light_wing_LHS

    W_fault_light_TAIL

    W_fault_VHF_1

    W_fault_VHF_2

    W_fault_VHF_3

    W_batt_1_low

    W_batt_2_low

    W_batt_3_low

    warning_bitmap_format_ID = 02

    name

    W_fuel_leak

    W_low_fuel

    W_stall

    W_overspeed

    W_rain

    W_fault_S+A

    W_collision_imminent

    W_ice_on_LHS wing

    W_ice_on_RHS_wing

    W_fire_in_eng_1

    W_fire_in_eng_2

    W_fire_in_eng_3

    warning_bitmap_format_ID = 03

    name

    W_wheel_brake_ON

    W_VHF_1_voice_ON

    W_VHF_2_voice_ON

    W_VHF_3_voice_ON

    W_not_used

    W_not_used

    W_not_used

    W_not_used

    W_not_used

    W_not_used

    W_not_used

    W_not_used

    Example

    Syntax

    comments

    BEGIN WARNINGS

    01:04 (not included)

    warning_lights 01:B2:B3:B4

    80:01:24:54:63

    warning_lights 02:B2:B3B4

    80:02:37:24:00

    warning_lights 03:B2:B3B4

    80:03:2A:AA:AA

    END

    02 (not included)

    • WARNINGS binary message section length = 15 Bytes

    80:00:24:54:63:80:01:37:24:00:80:03:2A:AA:AA

    return to top

    Communication systems

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments B1:B2:B3:B4

    80

    comm_system_ID

    1

    0 to 255

    81

    comm_Rx_freq

    4

    0 to 4,294,967,295 kHz

    for VHF and sat comms

    82

    comm_RSSI

    1

    -255 dBm to 0 dBm

    83

    comm_errors_msg

    1

    0 to 255; errors reported from the FEC decoder

    for GSM and sat comms

    84

    comm_Tx_freq

    4

    0 to 4,294,967,295 kHz

    for VHF and sat comms

    85

    comm_Tx_OP_power

    1

    0 to 255 dBm

    for VHF and sat comms

    86

    comm_ANT_azim

    3

    0 to 16,777,215 millidegrees

    only 0 to 359,999 millidegrees is sensible

    for sat comms

    87

    comm_ANT_elev

    3

    0 to 16,777,215 millidegrees

    only 0 to 89,999 millidegrees is sensible

    for sat comms

    88 - 8E

    unused

    9 Item_ID Bytes reserved for future use

    8F

    comm_fault

    1

    B1 = 0 to 255

    if B1 = 0 no fault is reported from the Comms Unit

    if B1 = 1 to 255, fault number B1 was reported by Comms

    Example

    text format

    binary format

    BEGIN COMMS

    01:05 (not included)

    BEGIN comms_system

    01:0F (not included)

    12 Bytes / VHF comms

    4 Bytes / GSM comms

    19 Bytes / sat comms

    comms_system Item_IDs

    12 Bytes = VHF comms

    4 Bytes = GSM comms

    19 Bytes = sat comms

    END

    02 (not included)

    END

    02 (not included)

    Typically, one would have five communications links on a small Unmanned Aircraft:

    • 3 comms VHF communications systems: TWR, ATC1 and ATC2 = 36 Bytes
    • 1 sat comms BLOS duplex link = 19 Bytes
    • 1 GSM BLOS duplex link as back-up to sat comms link = 4 Bytes
    • Five comms systems would require 36 + 19 + 4 Bytes = 59 Bytes

    return to top

    GPS

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments B1:B2:B3

    90

    GPS_time_UTC

    3

    hhmmss format: example 143903

    0 to 8,388,607

    91

    GPS_latitude

    4

    ddmm.sssss format: example 5112.31099

    latitude = B1:B2:B3:B4 / 1E5

    B1:B2:B3:B4 / 1E5 = 0 to 42,949.67295

    92

    GPS_NS

    1

    B1 = 0000 1111 for S

    B1 = 1111 0000 for N

    93

    GPS_longitude

    4

    ddmm.sssss format: example 00158.66984

    longitude = B1:B2:B3:B4 / 1E5

    B1:B2:B3:B4 / 1E5 = 0 to 42,949.67295

    94

    GPS_EW

    1

    B1 = 0000 1111 for E

    B1 = 1111 0000 for W

    95

    GPS_speed_ground

    3

    speed = B1:B2:B3 / 1000 in knots: example 0.004

    B1:B2:B3 / 1000 = 0 to 16,777.215

    96

    GPS_date_fix_UTC

    3

    ddmmyy format: example 151007

    0 to 16,777,215

    97

    GPS_Num_Satellites

    1

    B1 = 0 to 255

    98

    GPS_HDOP

    2

    horizontal dilution of position = HDOP = B1:B2 / 1000

    B1:B2 / 1000 = 0 to 65.535: example 1.21

    99

    GPS_PDOP

    2

    position dilution of precision = PDOP = B1:B2 / 1000

    B1:B2 / 1000 = 0 to 65.535: example 1.93

    9A

    GPS_altitude_MSL

    2

    0 to 65,535 m: example 136.0

    9B

    GPS_sat_PRN

    1

    0 to 255

    9C

    GPS_sat_PRN_elev

    1

    0 to 255

    only 0 to 90 actually used

    9D

    GPS_sat_PRN_azim

    2

    0 to 65,535

    only 0 to 360 actually used

    9E

    GPS_sat_PRN_SNR

    1

    0 to 255 dB

    = signal-to-noise ratio in dB

    9F

    unused

    1 Item_ID Bytes reserved for future use

    A0 - A9

    unused

    10 Item_ID Bytes reserved for future use

    AA

    NULL_1010

    0

    This is a NULL command used to pad out BLOCKs

    HEX AA = BIN 1010 1010

    The complimentary command is Item_ID 55 = NULL_0101

    AB - AE

    unused

    4 Item_ID Bytes reserved for future use

    AF

    GPS_fault

    1

    B1 = 0 to 255

    if B1 = 0 no fault is reported from the GPS unit

    if B1 = 1 to 255, fault number B1 was reported by GPS unit

    Example

    text format

    binary format

    BEGIN GPS

    01:07 (not included)

    GPS Item_IDs

    27 Bytes

    BEGIN GPS_satellite

    01:1E (not included)

    5 Bytes for each of 8 most powerful satellites

    GPS Item_IDs

    5 Bytes

    END

    02 (not included)

    END

    02 (not included)

    • GPS binary message section length = 67 Bytes

    return to top

    S+A System

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments B1:B2:B3:B4

    B0

    SA_air_object_ID

    1

    0 to 255

    B1

    SA_latitude

    4

    ddmm.sssss format: example 5112.31099

    latitude = B1:B2:B3:B4 / 1E5

    B1:B2:B3:B4 / 1E5 = 0 to 42,949.67295

    B2

    SA_NS

    1

    B1 = 0000 1111 for S

    B1 = 1111 0000 for N

    B3

    SA_longitude

    2

    ddmm.sssss format: example 00158.66984

    longitude = B1:B2:B3:B4 / 1E5

    B1:B2:B3:B4 / 1E5 = 0 to 42,949.67295

    B4

    SA_EW

    1

    B1 = 0000 1111 for E

    B1 = 1111 0000 for W

    B5

    SA_bearing

    2

    0 to 65,535

    only 0 to 360 actually used

    B6

    SA_climb rate

    2

    0 to +/- 32,767 mm / second

    B7

    SA_speed

    2

    0 to 65,535 cm/s (= 2,359 kph = 1,466 mph)

    B8

    SA_zoom_LHS_cam

    1

    0 - 255

    0 = minimum zoom

    255 = maximum zoom

    B9

    SA_zoom_FWD_cam

    1

    0 - 255

    0 = minimum zoom

    255 = maximum zoom

    BA

    SA_zoom_RHS_cam

    1

    0 - 255

    0 = minimum zoom

    255 = maximum zoom

    BB - BE

    unused

    4 Item_ID Bytes reserved for future use

    BF

    SA_fault

    1

    B1 = 0 to 255

    if B1 = 0 no fault is reported from the S+A unit

    if B1 = 1 to 255, fault number B1 was reported by S+A unit

    Example

    text format

    binary format

    BEGIN SENSE

    01:08 (not included)

    BEGIN air_object

    01:1D (not included)

    11 Bytes

    air_object Item_IDs

    11 Bytes

    END

    02 (not included)

    END

    02 (not included)

    • 1 camera looking to the left of centre
    • 1 camera looking straight ahead
    • 1 camera looking to the right of centre

    S+A System binary message section length = 3 + n x 11 Bytes for n air_objects detected

    • We report on the 5 closest air_objects, so the SENSE message length = 58 Bytes

    return to top

    PAYLOAD system

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments B1:B2:B3:B4

    C0

    ID_BLK0_FORMAT

    1

    B1 = BLOCK 0 format ID from 0 to 255

    C1

    ID_msg

    3

    16,777,216 unique message IDs

    copied from HEADER section

    C2

    ID_UA_source

    4

    B1:B2 = country code = the International Telephone Dialling Code, where the largest number = 1929 (the North American Numbering Plan) for Puerto Rico.

    B3:B4 = 65,536 unique IDs

    C3

    cam_ID

    4

    B1:B2:B3 = Char_1:Char_2:Char_3, eg. NIK (for Nikon)

    B4 = 0 to 255 = camera ID number

    C4

    cam_mag_compass

    2

    degrees = B1:B2 / 100

    B1:B2 = 0 to 655.35 degrees

    only 0 to 359.99 degrees used

    C5

    unused

    C6

    unused

    C7

    cam_inclin_x

    2

    inclin_x = B1:B2 / 100

    B1:B2 / 100 = 0 to +/- 327.67 degrees

    C8

    cam_inclin_y

    2

    inclin_x = B1:B2 / 100

    B1:B2 / 100 = 0 to +/- 327.67 degrees

    C9

    cam_azim_set

    2

    azimuth = B1:B2 / 100 degrees

    B1:B2 / 100 = 0 to 655.35 degrees

    CA

    cam_zoom_set

    1

    0 to 255 in arbitrary units, where:

    0 = minimum zoom

    255 = maximum zoom

    CB

    ID_GCS_destination

    4

    B1:B2 = country code = the International Telephone Dialling Code, where the largest number = 1929 (the North American Numbering Plan) for Puerto Rico.

    B3:B4 = 65,536 unique IDs

    CC

    ID_GCS_backup

    4

    B1:B2 = country code = the International Telephone Dialling Code, where the largest number = 1929 (the North American Numbering Plan) for Puerto Rico.

    B3:B4 = 65,536 unique IDs

    CD - CE

    unused

    1

    2 Item_ID Bytes reserved for future use

    CF

    cam_fault

    1

    B1 = 0 to 255

    if B1 = 0 no fault is reported from the Cam Unit

    if B1 = 1 to 255, fault number B1 was reported by Cam

    Example

    text format

    binary format

    BEGIN PAYLOAD

    01:06 (not included)

    ID_BLK0_FORMAT

    ID_msg

    ID_UA_source

    8 Bytes

    BEGIN camera

    01:12 (not included)

    14 Bytes

    camera Item_IDs

    14 Bytes

    END

    02 (not included)

    ID_GCS_destination

    4 Bytes

    ID_GCS_backup

    4 Bytes

    END

    02 (not included)

    The cameras are assumed to support auto-focus: hence no need to report on focus setting.

    Typically, one would have four cameras on a small Unmanned Aircraft fitted with a Sense and Avoid system:

    • 2 cameras on gimbals, both operated by personnel at the GCS

    Four cameras would require 2 x 14 + 16 Bytes = 44 Bytes

    return to top

    Reserved for future use

    B0 HEX

    Item_ID

    name

    Value

    Bytes

    comments B1:B2:B3:B4

    D0 - DF

    unused

    16 Item_ID Bytes reserved for future use

    E0 - EF

    unused

    16 Item_ID Bytes reserved for future use

    F0

    Preamble_1

    0

    Used in the Preamble

    HEX F0 = BIN 1111 0000

    F1 - FE

    unused

    14 Item_ID Bytes reserved for future use

    FF

    Do not use.

    Reserved.

    return to top