Skip to content

Commit

Permalink
Seatalk1 interface support (#2265)
Browse files Browse the repository at this point in the history
* New binding with Seatalk Support, including schematics for required hardware.
  • Loading branch information
pgrawehr authored Jan 28, 2024
1 parent 2d20081 commit 5226fe6
Show file tree
Hide file tree
Showing 59 changed files with 15,471 additions and 17 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -336,3 +336,4 @@ ASALocalRun/

# Ignore Mac DS_Store files
.DS_Store
/src/devices/Seatalk1/schematics/SeaTalk1/SeaTalk1-backups
14 changes: 14 additions & 0 deletions src/Iot.Device.Bindings/CompatibilitySuppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,13 @@
<Right>lib/net6.0/Iot.Device.Bindings.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:Iot.Device.Nmea0183.Sentences.WaterSpeedAndAngle.#ctor(UnitsNet.Angle,UnitsNet.Angle,UnitsNet.Speed)</Target>
<Left>lib/net6.0/Iot.Device.Bindings.dll</Left>
<Right>lib/net6.0/Iot.Device.Bindings.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:Iot.Device.Ssd13xx.Ssd1306.#ctor(System.Device.I2c.I2cDevice)</Target>
Expand Down Expand Up @@ -267,6 +274,13 @@
<Right>lib/netstandard2.0/Iot.Device.Bindings.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:Iot.Device.Nmea0183.Sentences.WaterSpeedAndAngle.#ctor(UnitsNet.Angle,UnitsNet.Angle,UnitsNet.Speed)</Target>
<Left>lib/netstandard2.0/Iot.Device.Bindings.dll</Left>
<Right>lib/netstandard2.0/Iot.Device.Bindings.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:Iot.Device.Ssd13xx.Ssd1306.#ctor(System.Device.I2c.I2cDevice)</Target>
Expand Down
14 changes: 14 additions & 0 deletions src/devices/Nmea0183/Nmea0183.sln
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common", "..\Common\Common.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SimpleParser", "samples\SimpleParser\SimpleParser.csproj", "{C66E7575-9ECA-4329-A145-1DCADE028DDC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Seatalk1", "..\Seatalk1\Seatalk1.csproj", "{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -83,6 +85,18 @@ Global
{C66E7575-9ECA-4329-A145-1DCADE028DDC}.Windows-Debug|Any CPU.Build.0 = Debug|Any CPU
{C66E7575-9ECA-4329-A145-1DCADE028DDC}.Windows-Release|Any CPU.ActiveCfg = Release|Any CPU
{C66E7575-9ECA-4329-A145-1DCADE028DDC}.Windows-Release|Any CPU.Build.0 = Release|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Linux-Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Linux-Debug|Any CPU.Build.0 = Debug|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Linux-Release|Any CPU.ActiveCfg = Release|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Linux-Release|Any CPU.Build.0 = Release|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Release|Any CPU.Build.0 = Release|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Windows-Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Windows-Debug|Any CPU.Build.0 = Debug|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Windows-Release|Any CPU.ActiveCfg = Release|Any CPU
{4C6A3828-5AC7-42AD-BE8A-111DF1D46C8E}.Windows-Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
67 changes: 67 additions & 0 deletions src/devices/Nmea0183/Sentences/AutopilotStatus.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Iot.Device.Nmea0183.Sentences
{
/// <summary>
/// The current state of the autopilot
/// </summary>
public enum AutopilotStatus
{
/// <summary>
/// The autopilot controller is offline or not present
/// </summary>
Offline,

/// <summary>
/// The autopilot is in standby mode (= manual steering is active)
/// </summary>
Standby,

/// <summary>
/// The autopilot is in auto mode. For most controllers, this means "desired heading" mode.
/// </summary>
Auto,

/// <summary>
/// The autopilot is in desired track mode (following a planned route)
/// </summary>
Track,

/// <summary>
/// The autopilot is in Wind mode (keeping the relative wind angle constant)
/// </summary>
Wind,

/// <summary>
/// The autopilot is in track mode, but inactive
/// </summary>
InactiveTrack,

/// <summary>
/// The autopilot is in wind mode, but inactive
/// </summary>
InactiveWind,

/// <summary>
/// The autopilot is in calibration mode
/// </summary>
Calibration,

/// <summary>
/// Direct rudder control mode
/// </summary>
RudderControl,

/// <summary>
/// The state is unknown
/// </summary>
Undefined,
}
}
Loading

0 comments on commit 5226fe6

Please sign in to comment.