This is the general information on the bus used by B&G (Brookes and Gatehouse) H2000 and H3000 systems
Fastnet Bus specifications
(Thanks to Tom Lafleur for all the information) The bus is on a 28k8 speed, with odd parity and 2 stopbits Green and White are the data lines, together with a 12V and a Ground signal. Complete layout of a Serial TTL to Fastnet schematic(thanks to Tom for all the work)
Fastnet demo decode
This is an example string recorded on the bus: ff 05 14 01 e7 1d 61 00 58 1c 51 01 df 87 06 00 be e8 e8 86 06 00 be e8 e8 a8
split it into header and checksum parts:
ff 05 14 01 e7 1d 61 00 58 1c 51 01 df 87 06 00 be e8 e8 86 06 00 be e8 e8 a8
ff = broadcast to all
05 = from wind/depth
14 = data in body part, 14hex = 20 dec = 20 databytes
01 = fastnet command, general data send
e7 = checksum header (header + checksum modulo 8 = 0)
a8 = full frame checksum(all data + checksum modulo 8 = 0
decode body parts
the first byte is the channel, the second is a mask to display the data? the rest is data ff 05 14 01 e7 1d 61 00 58 1d = air temp C, format = 61, data = 0058 hex == 88dec == 88/10 = 8.8 graden celsius 1c 51 01 df 1c = air temp F, format = 51, data = 01df hex == 479dec == 479/10 = 47.9 graden fahrenheit (= 8.8 graden celsius) 87 06 00 be e8 e8 87 = barometric pressure, format = 06, raw data is unknown at this moment 86 06 00 be e8 e8 86 = barometric pressure trend, format = 06, raw data is unknown at this moment a8
more examples
41 91 02 71 41 = Boatspeed, format = 91, data = 0271 hex = 625 decimal = 625/100 = 6.25 knots
4d 61 00 04 4d = AWS knots, format = 61, 0004 hex = 4 dec = 4 knots 4f 61 00 02 4f = AWS m/s, format = 61, 0002 hex = 2 dec = 2ms (= 4 knots)
Fastnet Channel information
|
|
Channel Number |
Channel Number |
Number of |
Format |
|
| Channel Name |
Short Name |
Dec |
Hex |
Bytes |
|
Node |
| Node Reset |
|
00 |
00 |
0 |
|
|
| ?? |
|
01 |
01 |
4 |
|
|
| Rudder Angle |
|
11 |
0B |
4 |
|
5 |
| Linear 5 |
|
12 |
0C |
|
|
0D |
| Linear 6 |
|
13 |
0D |
|
|
0D |
| Linear 7 |
|
14 |
0E |
|
|
0D |
| Linear 8 |
|
15 |
0F |
|
|
0D |
| Linear 9 |
|
16 |
10 |
|
|
0D |
| Linear 10 |
|
17 |
11 |
|
|
0D |
| Linear 11 |
|
18 |
12 |
|
|
0D |
| Linear 12 |
|
19 |
13 |
|
|
0D |
| Linear 13 |
|
20 |
14 |
|
|
0D |
| Linear 14 |
|
21 |
15 |
|
|
0D |
| Linear 15 |
|
22 |
16 |
|
|
0D |
| Linear 16 |
|
23 |
17 |
|
|
0D |
| ?? |
|
27 |
1B |
6 |
|
10 |
| Air Temperature degrees F |
|
28 |
1C |
4 |
|
5 |
| Air Temperature degrees C |
|
29 |
1D |
4 |
|
5 |
| Sea Temperature degrees °F |
|
30 |
1E |
4 |
|
1 |
| Sea Temperature degrees °C |
|
31 |
1F |
4 |
|
1 |
| Head/Lift Trend |
|
39 |
27 |
4 |
|
30 |
| Off Course |
|
41 |
29 |
4 |
|
30 |
| Tacking Performance |
|
50 |
32 |
4 |
|
9 |
| Reaching Performance |
|
51 |
33 |
4 |
|
9 |
| Heel Angle |
|
52 |
34 |
6 |
|
5 |
| Optimum Wind Angle |
|
53 |
35 |
4 |
|
9 |
| Depth Sounder Receiver Gain |
|
54 |
36 |
4 |
|
1 |
| Depth Sounder Noise |
|
55 |
37 |
4 |
|
1 |
| Linear 1 |
|
56 |
38 |
4 |
|
9 |
| Linear 2 |
|
57 |
39 |
4 |
|
9 |
| Linear 3 |
|
58 |
3A |
4 |
|
9 |
| Linear 4 |
|
59 |
3B |
4 |
|
9 |
| Boatspeed, Knots |
|
65 |
41 |
4 |
|
1 |
| Boatspeed, raw |
|
66 |
42 |
4 |
|
1 |
| ?? |
|
71 |
47 |
5 |
?? |
|
| Heading |
|
73 |
49 |
4 |
|
x |
| Heading, Raw |
|
74 |
4A |
6 |
|
x |
| Apparent Wind Speed knots |
|
77 |
4D |
4 |
|
5 |
| Apparent Wind Speed, raw |
|
78 |
4E |
6 |
|
5 |
| Apparent Wind Speed m/s |
|
79 |
4F |
4 |
|
5 |
| Apparent Wind Angle |
|
81 |
51 |
4 |
|
5 |
| Apparent Wind Angle, raw |
|
82 |
52 |
6 |
|
5 |
| Target TWA |
|
83 |
53 |
4 |
|
9 |
| True Wind Speed, knots |
|
85 |
55 |
4 |
|
5 |
| True Wind Speed M/S |
|
86 |
56 |
4 |
|
5 |
| ?? |
|
87 |
57 |
4 |
|
|
| True Wind Angle |
|
89 |
59 |
4 |
|
5 |
| ?? |
|
90 |
5A |
4 |
|
|
| Average Speed, knots |
|
100 |
64 |
4 |
|
1 |
| Request for data |
|
104 |
68 |
2 |
|
|
| Course |
|
105 |
69 |
4 |
|
5 |
| Act for data |
|
106 |
6A |
4 |
|
|
| True Wind Direction |
|
109 |
6D |
4 |
|
5 |
| ?? |
|
110 |
6E |
4 |
|
|
| Next Leg Apparent Wind Angle |
|
111 |
6F |
4 |
|
9 |
| Next Leg Target Boat Speed |
|
112 |
70 |
|
|
9 |
| Next Leg Apparent Wind Speed |
|
113 |
71 |
4 |
|
9 |
| Timer |
|
117 |
75 |
6 |
|
5 |
| ?? |
|
119 |
77 |
|
|
|
| Target Boatspeed |
|
125 |
7D |
4 |
|
9 |
| Velocity Made Good, K |
|
127 |
7F |
6 |
|
5 |
| Dead Reckoning Distance |
|
129 |
81 |
4 |
|
1 |
| Leeway |
|
130 |
82 |
6 |
|
5 |
| Tidal Drift |
|
131 |
83 |
4 |
|
9 |
| Tidal Set |
|
132 |
84 |
4 |
|
9 |
| Upwash |
|
133 |
85 |
|
|
|
| Barometric Pressure Trend |
|
134 |
86 |
6 |
|
5 |
| Barometric Pressure |
|
135 |
87 |
6 |
|
5 |
| Battery Volts |
|
141 |
8D |
4 |
|
5 |
| Heading on Next Tack |
|
154 |
9A |
4 |
|
x |
| Fore/Aft Trim |
|
155 |
9B |
6 |
|
5 |
| Mast Angle |
|
156 |
9C |
4 |
|
5 |
| Wind Angle to the Mast |
|
157 |
9D |
4 |
|
5 |
| ?? |
|
180 |
B4 |
6 |
|
10 |
| ?? |
|
182 |
B6 |
2 |
|
|
| Depth Meters |
|
193 |
C1 |
4 |
|
1 |
| Depth Feet |
|
194 |
C2 |
4 |
|
1 |
| Depth Fathoms |
|
195 |
C3 |
4 |
|
1 |
| Stored Log, NM |
|
205 |
CD |
4 |
|
1 |
| Trip Log, NM |
|
207 |
CF |
4 |
|
1 |
| Dead Reckoning Course |
|
211 |
D3 |
4 |
|
1 |
| ?? |
|
219 |
DB |
4 |
|
|
| Local Time |
|
220 |
DC |
|
|
9 |
| Bearing Wpt. to Wpt, true |
|
224 |
E0 |
4 |
|
9 |
| Bearing Wpt. to Wpt., mag. |
|
225 |
E1 |
4 |
|
9 |
| Layline |
|
226 |
E2 |
|
|
9 |
| Bearing to Waypoint, rhumb true |
|
227 |
E3 |
4 |
|
9 |
| Bearing to Waypoint, rhumb mag. |
|
228 |
E4 |
4 |
|
9 |
| Bearing to Waypoint, G.C. true |
|
229 |
E5 |
4 |
|
9 |
| Bearing to Waypoint, G.C. mag. |
|
230 |
E6 |
4 |
|
9 |
| Distance to Waypoint, Rhumb |
|
231 |
E7 |
4 |
|
9 |
| Distance to Waypoint, G.C. |
|
232 |
E8 |
8 |
|
9 |
| Course Over Ground, True |
|
233 |
E9 |
4 |
|
9 |
| Course Over Ground, Mag. |
|
234 |
EA |
4 |
|
9 |
| Speed Over Ground |
|
235 |
EB |
4 |
|
9 |
| Vel. Made Good, Course |
|
236 |
EC |
4 |
|
9 |
| Time to Waypoint |
|
237 |
ED |
4 |
|
9 |
| Cross Track Error |
|
238 |
EE |
4 |
|
9 |
| Remote 0 |
|
239 |
EF |
4 |
|
9 |
| Remote 1 |
|
240 |
F0 |
4 |
|
9 |
| Remote 2 |
|
241 |
F1 |
4 |
|
9 |
| Remote 3 |
|
242 |
F2 |
4 |
|
9 |
| Remote 4 |
|
243 |
F3 |
4 |
|
9 |
| Remote 5 |
|
244 |
F4 |
4 |
|
9 |
| Remote 6 |
|
245 |
F5 |
4 |
|
9 |
| Remote 7 |
|
246 |
F6 |
4 |
|
9 |
| Remote 8 |
|
247 |
F7 |
4 |
|
9 |
| Remote 9 |
|
248 |
F8 |
4 |
|
9 |
| Next Waypoint Distance |
|
250 |
FA |
|
|
9 |
| Time to Layline |
|
251 |
FB |
|
|
9 |
not sure
| F/STAY |
40 |
| B/STAY |
3 |
| PT RUN |
4 |
| ST RUN |
5 |
| PT V1 |
6 |
| ST V1 |
7 |
| MN SHT |
8 |
| IFSTAY |
9 |
| LOAD 1 |
0A |
| LOAD 2 |
2A |
| LOAD 3 |
2B |
| LOAD 4 |
2C |
| LOAD 5 |
2D |
| LOAD 6 |
3D |
| LOAD 7 |
3E |
| LOAD 8 |
3F |
FASTNET COMMANDS
|
|
|
| Command |
|
Bytes |
| 00 |
This maybe a ARP request to see if my node address is in use. (used at start up) or Reset Command |
|
| 01 |
This appears to be a normal broadcast data command |
Var |
| 02 |
New Text ? |
|
| 03 |
Sent from an NMEA FFD when NMEA data is there. ff 60 02 03 50 47 or 47 50 |
2 |
| 04 |
|
|
| 05 |
|
|
| 06 |
|
|
| 07 |
|
|
| 08 |
|
|
| 09 |
|
|
| 0A |
Used at start up?? |
2 |
| 0B |
|
|
| 0C |
This looks like a keep alive message, sent from FFD, 1 byte, ff 60 0C 6f |
1 |
| 0D |
|
|
| 0E |
|
|
| 0F |
|
|
| 10 |
|
|
|
|
|
| 20 |
Sector Alarm |
|
| 21 |
Alarm, low alarm off, 60 01 21 ss 41 24 03 00 00 00 |
7 |
| 22 |
Alarm , hi alarm off , 60 01 22 ss 41 24 04 00 00 32 |
7 |
|
|
|
| 68 |
Request for data, reply is 6A, 2 bytes in request, 00 03, ask for version number |
2 |
|
|
|
| 6A |
Reply from a 68 request.. (FFD do not respond to this), replay is 4 bytes, 00 03 xx xx |
4 |
|
|
|
| C8 |
FFD send this when powering off |
|
| C9 |
Used to set light intensity in FFD and 20/20, two bytes of data, 1st: 0,1,2,4, 2nd byte always 20h, 0 = off, 4 = max |
2 |
| CA |
Timer, 2 bytes, From FFD, start 10 = 05 60 CA ss FD, start 5, FE, start zero, FF |
|
| CB |
Timer, 2 bytes, From FFD, Frezze, Run, Halt |
2 |
| CC |
Timer Run, 2 bytes |
2 |
| CD |
Request Damping value 01 60 CD ss 59 |
2 |
| CE |
Set/Get damping value 60 01 CE ss 41 21 00 5E (94) |
5 |
| CF |
From FFD, Manual Cal request, 01 60 CF ss 41 |
2 |
| D0 |
From FFD , send reaching correct, 05 60 D0 ss 59 04, respond is a D4 |
3 |
| D1 |
Ask for cal 2? |
|
| D2 |
|
|
| D3 |
Cal 1, 60 01 D3 ss 41 91 02 71, => 6.25, 41 = boatspeed, Depth sends 60 01 D3 ss 41 06 00 f8 60 60 (respond to auto cal) |
5 or 7 |
| D4 |
Cal 2, respond to a D0, 60 05 D4 ss 59 54 04 00 00 00 |
7 |
| D5 |
Cal 3 |
|
| D6 |
Cal 4 |
|
| D7 |
|
|
| D8 |
|
|
| D9 |
|
|
| DA |
|
|
| DB |
|
|
| DC |
Timer Freeze from FFD, 2 bytes 01 60 DC ss CF, respon from 01 is FD, 60 01 FD ss 35 |
2 |
| DD |
|
|
| DE |
Alarm low off, 01 60 DE ss 41 |
|
| DF |
|
|
| E0 |
|
|
| E1 |
|
|
| E2 |
Alarm low on, 01 60 E2 ss 41 (boat speed) |
|
| E3 |
|
|
| E4 |
|
|
| E5 |
|
1 |
| E6 |
Alarm off, ff 60 E6 ss |
|
| E7 |
|
|
| E8 |
|
|
| E9 |
Set/Get Cal value, 60 01 E9 ss 41 91 00 64 64=1.00 |
5 |
| EA |
Start a cal run, Boat speed, 01 60 EA ss 41, ack with an FD from FFD |
2 |
| EB |
Stop a cal run, Boat speed, 01 60 EB ss 41, ack with an FD from FFD |
2 |
| EC |
End Cal run, 01 60 EC ss 41 D3, Depth sends 60 01 D3 ss 41 06 00 f8 60 60 |
3 |
| ED |
Cal FD 60 ED 26 |
|
| EE |
From FFD, request Cal value 41, 01 60 EE ss 41, 41 = boatspeed |
|
| EF |
From FFD, ask what meter is connected. FD 60 EF ss 01, what on meter 01 |
2 |
| F0 |
From FFD/Processor , to chang meters display, FD 60 F0 ss 01 03, set meter 01 to Mag Wind 03 |
3 |
| F1 |
From FFD, Max Value, , 1st byte = seq, 2nd = 00 = Boat Speed, 01 = Wind Speed, FD 60 F1 01 00 or FD 60 03 01 |
2 |
| F2 |
Set/Get max value, FD 60 F2 07 00 51 00 78, new max wind is 120 or 12.5 |
5 |
| F3 |
|
|
| F4 |
|
|
| F5 |
|
|
| F6 |
|
|
| F7 |
|
|
| F8 |
|
|
| F9 |
|
|
| FA |
ack for FC?? |
|
| FB |
|
|
| FC |
Used on start up to assign channels, ie: this node will send this data |
Var |
| FD |
ack for FC from FFD, 1 byte look like sequence # to ACK |
1 |
| FE |
|
|
| FF |
FFD send on start up,waiting to see if some one is on the net, 0 bytes |
0 | |
Ċ ď Erik Oppedijk, Feb 20, 2011 8:39 AM
Ĉ ď Erik Oppedijk, Feb 20, 2011 8:40 AM
|