2020-10-27, 03:25 PM
Thanks for all the replies.
Personally, I'm reluctant to modify a working ST2000 AP, which functions reasonably well and is very useful as is. So what I am looking to do is improve it's performance without any hardware modification to the AP itself.
On perusing the Seatalk protocol (http://www.thomasknauf.de/rap/seatalk2.htm), I see:
89 U2 VW XY 2Z Compass heading sent by ST40 compass instrument
(it is read as a compass heading by the ST1000(+) or ST2000(+) autopilot)
Compass heading in degrees:
The two lower bits of U * 90 +
the six lower bits of VW * 2 +
the two higher bits of U / 2 =
(U & 0x3) * 90 + (VW & 0x3F) * 2 + (U & 0xC) / 8
Locked stear reference (only send by the ST40 compass):
The two higher bits of V * 90 + XY / 2
Z & 0x2 = 0 : St40 in Standby mode
Z & 0x2 = 2 : St40 in Locked stear mode
Corresponding NMEA sentences: HDM, HDG, HDT, VHW
So my question shifts somewhat. Can PyPilot send Seatalk compass heading messages derived from the IMU?
Personally, I'm reluctant to modify a working ST2000 AP, which functions reasonably well and is very useful as is. So what I am looking to do is improve it's performance without any hardware modification to the AP itself.
On perusing the Seatalk protocol (http://www.thomasknauf.de/rap/seatalk2.htm), I see:
89 U2 VW XY 2Z Compass heading sent by ST40 compass instrument
(it is read as a compass heading by the ST1000(+) or ST2000(+) autopilot)
Compass heading in degrees:
The two lower bits of U * 90 +
the six lower bits of VW * 2 +
the two higher bits of U / 2 =
(U & 0x3) * 90 + (VW & 0x3F) * 2 + (U & 0xC) / 8
Locked stear reference (only send by the ST40 compass):
The two higher bits of V * 90 + XY / 2
Z & 0x2 = 0 : St40 in Standby mode
Z & 0x2 = 2 : St40 in Locked stear mode
Corresponding NMEA sentences: HDM, HDG, HDT, VHW
So my question shifts somewhat. Can PyPilot send Seatalk compass heading messages derived from the IMU?