#include <vdm_parse.h>
From IEC 62287. This differs slightly from the original message, some of the regional bits were changed to flags.
Data Fields | |
| char | msgid |
| 6 bits : MessageID (18) | |
| char | repeat |
| 2 bits : Repeated | |
| unsigned long | userid |
| 30 bits : UserID / MMSI | |
| unsigned char | regional1 |
| 8 bits : Regional Bits | |
| int | sog |
| 10 bits : Speed Over Ground | |
| char | pos_acc |
| 1 bit : Position Accuracy | |
| long | longitude |
| 28 bits : Longitude in 1/10000 minute | |
| long | latitude |
| 27 bits : Latitude in 1/10000 minute | |
| int | cog |
| 12 bits : Course Over Ground | |
| int | true |
| 9 bits : True Heading | |
| char | utc_sec |
| 6 bits : UTC Seconds | |
| char | regional2 |
| 2 bits : Regional Bits | |
| char | unit_flag |
| 1 bit : Class B CS Flag | |
| char | display_flag |
| 1 bit : Integrated msg14 Display Flag | |
| char | dsc_flag |
| 1 bit : DSC Capability flag | |
| char | band_flag |
| 1 bit : Marine Band Operation Flag | |
| char | msg22_flag |
| 1 bit : Msg22 Frequency Management Flag | |
| char | mode_flag |
| 1 bit : Autonomous Mode Flag | |
| char | raim |
| 1 bit : RAIM Flag | |
| char | comm_state |
| 1 bit : Comm State Flag | |
| struct { | |
| char sync_state | |
| 2 bits : SOTDMA Sync State | |
| char slot_timeout | |
| 3 bits : SOTDMA Slot Timeout | |
| int sub_message | |
| 14 bits : SOTDMA Sub-Message | |
| } | sotdma |
| struct { | |
| char sync_state | |
| 2 bits : ITDMA Sync State | |
| int slot_inc | |
| 13 bits : ITDMA Slot Increment | |
| char num_slots | |
| 3 bits : ITDMA Number of Slots | |
| char keep_flag | |
| 1 bit : ITDMA Keep Flag | |
| } | itdma |
| char aismsg_18::msgid |
6 bits : MessageID (18)
| char aismsg_18::repeat |
2 bits : Repeated
| unsigned long aismsg_18::userid |
30 bits : UserID / MMSI
| unsigned char aismsg_18::regional1 |
8 bits : Regional Bits
| int aismsg_18::sog |
10 bits : Speed Over Ground
| char aismsg_18::pos_acc |
1 bit : Position Accuracy
| long aismsg_18::longitude |
28 bits : Longitude in 1/10000 minute
| long aismsg_18::latitude |
27 bits : Latitude in 1/10000 minute
| int aismsg_18::cog |
12 bits : Course Over Ground
| int aismsg_18::true |
9 bits : True Heading
| char aismsg_18::utc_sec |
6 bits : UTC Seconds
| char aismsg_18::regional2 |
2 bits : Regional Bits
| char aismsg_18::unit_flag |
1 bit : Class B CS Flag
1 bit : Integrated msg14 Display Flag
| char aismsg_18::dsc_flag |
1 bit : DSC Capability flag
| char aismsg_18::band_flag |
1 bit : Marine Band Operation Flag
1 bit : Msg22 Frequency Management Flag
| char aismsg_18::mode_flag |
1 bit : Autonomous Mode Flag
| char aismsg_18::raim |
1 bit : RAIM Flag
1 bit : Comm State Flag
2 bits : ITDMA Sync State
3 bits : SOTDMA Slot Timeout
14 bits : SOTDMA Sub-Message
| struct { ... } aismsg_18::sotdma |
13 bits : ITDMA Slot Increment
| char aismsg_18::num_slots |
3 bits : ITDMA Number of Slots
| char aismsg_18::keep_flag |
1 bit : ITDMA Keep Flag
| struct { ... } aismsg_18::itdma |
1.5.2