Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is something wrong with seatalk 1 ap for track follow? #30

Open
ckcrs opened this issue Oct 31, 2023 · 2 comments
Open

Is something wrong with seatalk 1 ap for track follow? #30

ckcrs opened this issue Oct 31, 2023 · 2 comments

Comments

@ckcrs
Copy link

ckcrs commented Oct 31, 2023

Hello,
I'm not sure, if this is due to my mistake or a kinf of bug.
System: SignalK version 2.3; autopilot plugin :latest version with Raymarine seatalk 1 AP and wilhelmSK and freeboard.
Issue: When I set WSK to auto works, set to wind works, set to standby works, but when set to Track, my autopilot controller st-6001 gives error of :"NO DATA" and alarm beeps, even if with freeboard "navigate to here" point activated and data shown for courseApi and course-provider. ( That is valid for autopilot web application also)

$PSMDST,86,11,03,FC*05 seems a seatalk1 command but not starting with $STALK at serial streams, maybe related?

Any comments, appreciated?

Some log data:

for autopilot plugin:
Oct 31 15:19:15 2023-10-31T12:19:15.773Z @signalk/signalk-autopilot datagram: 86,11,03,FC
Oct 31 15:19:15 ::ffff:10.10.10.16 - - [31/Oct/2023:12:19:15 +0000] "PUT /signalk/v1/api/vessels/self/steering/autopilot/state HTTP/1.1" 200 177 "-" "WilhelmSK/133 CFNetwork/978.0.7 Darwin/18.7.0"
Oct 31 15:19:15 ::ffff:10.10.10.16 - - [31/Oct/2023:12:19:15 +0000] "GET /signalk/v1/api/vessels/self/steering/autopilot/state HTTP/1.1" 200 138 "-" "WilhelmSK/133 CFNetwork/978.0.7 Darwin/18.7.0"
for streams-seria:
Oct 31 15:36:55 2023-10-31T12:36:55.393Z signalk:streams:serialport Writing:$STALK,54,31,93,0C3B
Oct 31 15:36:55 2023-10-31T12:36:55.396Z signalk:streams:serialport Writing:$STALK,56,A1,1F,17
43
Oct 31 15:36:57 2023-10-31T12:36:57.144Z signalk:streams:serialport Writing:$STALK,50,02,28,C1,1615
Oct 31 15:36:57 2023-10-31T12:36:57.146Z signalk:streams:serialport Writing:$STALK,51,02,1D,DC,80
11
Oct 31 15:36:57 2023-10-31T12:36:57.169Z signalk:streams:serialport Writing:$STALK,52,01,00,0047
Oct 31 15:36:57 2023-10-31T12:36:57.654Z signalk:streams:serialport Writing:$STALK,85,06,00,0B,74,00,96,00,69
17
Oct 31 15:36:57 2023-10-31T12:36:57.657Z signalk:streams:serialport Writing:$STALK,85,06,00,0B,74,00,96,00,6917
Oct 31 15:36:57 2023-10-31T12:36:57.659Z signalk:streams:serialport Writing:$STALK,85,06,00,0B,74,00,96,00,69
17
Oct 31 15:36:59 2023-10-31T12:36:59.627Z signalk:streams:serialport Writing:$STALK,86,11,03,FC49
Oct 31 15:36:59 2023-10-31T12:36:59.629Z signalk:streams:serialport Writing:**$PSMDST,86,11,03,FC
05**
Oct 31 15:36:59 ::ffff:10.10.10.16 - - [31/Oct/2023:12:36:59 +0000] "PUT /signalk/v1/api/vessels/self/steering/autopilot/state HTTP/1.1" 200 177 "-" "WilhelmSK/133 CFNetwork/978.0.7 Darwin/18.7.0"
Oct 31 15:36:59 ::ffff:10.10.10.16 - - [31/Oct/2023:12:36:59 +0000] "GET /signalk/v1/api/vessels/self/steering/autopilot/state HTTP/1.1" 200 138 "-" "WilhelmSK/133 CFNetwork/978.0.7 Darwin/18.7.0"l

@joabakk
Copy link
Contributor

joabakk commented Oct 31, 2023

Hi,

I don't think track mode was ever fully implemented. There was a requirement that the next waypoint. See https://github.com/SignalK/signalk-autopilot/blob/master/raymarinest.js#L176-L184

There is very little information about this available, so development stopped here

@ckcrs
Copy link
Author

ckcrs commented Nov 6, 2023

Thanks.
Sometime ago I've found info about seatalk, I guess sourced from openplotter related document, I hope, this helps for any developer/maintainer of code.

"85  X6  XX  VU ZW ZZ YF 00 yf   Navigation to waypoint information 
                  Cross Track Error: XXX/100 nautical miles 
                   Example: X-track error 2.61nm => 261 dec => 0x105 => X6XX=5_10 
                  Bearing to destination: (U & 0x3) * 90° + WV / 2° 
                   Example: GPS course 230°=180+50=290 + 0x64/2 => VUZW=42_6 
                   U&8: U&8 = 8 -> Bearing is true, U&8 = 0 -> Bearing is magnetic 
                  Distance to destination: Distance 0-9.99nm: ZZZ/100nm, Y & 1 = 1 
                                           Distance >=10.0nm: ZZZ/10 nm, Y & 1 = 0 
                  Direction to steer: if Y & 4 = 4 Steer right to correct error 
                                      if Y & 4 = 0 Steer left  to correct error 
                  Example: Distance = 5.13nm, steer left: 5.13100 = 513 = 0x201 => ZW ZZ YF=1_ 20 1_ 
                           Distance = 51.3nm, steer left: 51.3*10  = 513 = 0x201 => ZW ZZ YF=1_ 20 0_ 
                  F contains four flags which indicate the available data fields:
                           Bit 0 (F & 1): XTE present
                           Bit 1 (F & 2): Bearing to destination present 
                           Bit 2 (F & 4): Range to destination present 
                           Bit 3 (F & 8): XTE >= 0.3nm 
                       These bits are used to allow a correct translation from for instance an RMB sentence which 
                       contains only an XTE value, all other fields are empty. Since SeaTalk has no special value 
                       for a data field to indicate a "not present" state, these flags are used to indicate the 
                       presence of a value. 
                   In case of a waypoint change, sentence 85, indicating the new bearing and distance, 
                   should be transmitted prior to sentence 82 (which indicates the waypoint change). 
                   Corresponding NMEA sentences: RMB, APB, BWR, BWC, XTE
"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants