Skip to content

Commit e8319de

Browse files
committed
Additional AIS messages
Created the AISMessage07, to represent Message 7 : Binary acknowledge. Created the AISMessage13, to represent Message 13 : Safety related acknowledge. Created the AISMessage19, to represent Message 19 : Extended class B equipment position report.
1 parent c6022ec commit e8319de

16 files changed

+2090
-23
lines changed

AIS/AIS.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
88
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
99
<PackageId>TensionDev.Maritime.AIS</PackageId>
10-
<Version>0.3.0</Version>
10+
<Version>0.4.0</Version>
1111
<Authors>TensionDev amsga</Authors>
1212
<Company>TensionDev</Company>
1313
<Product>TensionDev.Maritime.AIS</Product>
@@ -20,8 +20,8 @@
2020
<PackageTags>AIS</PackageTags>
2121
<PackageReleaseNotes>Initial project release</PackageReleaseNotes>
2222
<NeutralLanguage>en-SG</NeutralLanguage>
23-
<AssemblyVersion>0.3.0.0</AssemblyVersion>
24-
<FileVersion>0.3.0.0</FileVersion>
23+
<AssemblyVersion>0.4.0.0</AssemblyVersion>
24+
<FileVersion>0.4.0.0</FileVersion>
2525
<IncludeSymbols>true</IncludeSymbols>
2626
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
2727
</PropertyGroup>

AIS/AISMessage.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ public static AISMessage DecodeSentences(IList<String> sentences)
106106
aisMessage = new AISMessage05();
107107
break;
108108

109+
case "7":
110+
aisMessage = new AISMessage07();
111+
break;
112+
109113
case "9":
110114
aisMessage = new AISMessage09();
111115
break;
@@ -118,10 +122,18 @@ public static AISMessage DecodeSentences(IList<String> sentences)
118122
aisMessage = new AISMessage11();
119123
break;
120124

125+
case "=":
126+
aisMessage = new AISMessage13();
127+
break;
128+
121129
case "B":
122130
aisMessage = new AISMessage18();
123131
break;
124132

133+
case "C":
134+
aisMessage = new AISMessage19();
135+
break;
136+
125137
case "H":
126138
aisMessage = new AISMessage24();
127139
break;

AIS/AISMessage05.cs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ public override IList<String> EncodeSentences()
391391
IList<String> payload = EncodePayloads();
392392

393393
stringBuilder.AppendFormat("!AI{0},2,1,{1},A,{2},0", SentenceFormatter.ToString(), s_groupId, payload[0]);
394-
stringBuilder2.AppendFormat("!AI{0},2,2,{1},A,{2},0", SentenceFormatter.ToString(), s_groupId, payload[1]);
394+
stringBuilder2.AppendFormat("!AI{0},2,2,{1},A,{2},2", SentenceFormatter.ToString(), s_groupId, payload[1]);
395395

396396
Byte checksum = CalculateChecksum(stringBuilder.ToString());
397397
Byte checksum2 = CalculateChecksum(stringBuilder2.ToString());
@@ -470,6 +470,8 @@ protected override IList<String> EncodePayloads()
470470

471471
private void GetBitVector0_59()
472472
{
473+
_bitVector0_59 = 0;
474+
473475
_bitVector0_59 = messageId6;
474476

475477
_bitVector0_59 <<= 2;
@@ -487,6 +489,8 @@ private void GetBitVector0_59()
487489

488490
private void GetBitVector60_119()
489491
{
492+
_bitVector60_119 = 0;
493+
490494
_bitVector60_119 = GetBitVector((UInt64)imoNumber30, 10);
491495

492496
_bitVector60_119 <<= 42;
@@ -498,6 +502,8 @@ private void GetBitVector60_119()
498502

499503
private void GetBitVector120_179()
500504
{
505+
_bitVector120_179 = 0;
506+
501507
_bitVector120_179 = GetBitVector((UInt64)name0_59, 52);
502508

503509
_bitVector120_179 <<= 8;
@@ -506,6 +512,8 @@ private void GetBitVector120_179()
506512

507513
private void GetBitVector180_239()
508514
{
515+
_bitVector180_239 = 0;
516+
509517
_bitVector180_239 = GetBitVector((UInt64)name60_119, 52);
510518

511519
_bitVector180_239 <<= 8;
@@ -514,6 +522,8 @@ private void GetBitVector180_239()
514522

515523
private void GetBitVector240_299()
516524
{
525+
_bitVector240_299 = 0;
526+
517527
_bitVector240_299 = dimensionToBow9;
518528

519529
_bitVector240_299 <<= 9;
@@ -546,6 +556,8 @@ private void GetBitVector240_299()
546556

547557
private void GetBitVector300_359()
548558
{
559+
_bitVector300_359 = 0;
560+
549561
_bitVector300_359 = GetBitVector((UInt64)maxPresentStaticDraught8, 2);
550562

551563
_bitVector300_359 <<= 58;
@@ -554,6 +566,8 @@ private void GetBitVector300_359()
554566

555567
private void GetBitVector360_419()
556568
{
569+
_bitVector360_419 = 0;
570+
557571
_bitVector360_419 = GetBitVector((UInt64)destination0_59, 2);
558572

559573
_bitVector360_419 <<= 58;
@@ -562,6 +576,8 @@ private void GetBitVector360_419()
562576

563577
private void GetBitVector420_423()
564578
{
579+
_bitVector420_423 = 0;
580+
565581
_bitVector420_423 = GetBitVector((UInt64)destination60_119, 2);
566582

567583
_bitVector420_423 <<= 1;

0 commit comments

Comments
 (0)