pyfastnet 2.0.4__tar.gz → 2.0.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyfastnet-2.0.4/pyfastnet.egg-info → pyfastnet-2.0.6}/PKG-INFO +1 -1
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/fastnet_decoder/mappings.py +26 -1
- {pyfastnet-2.0.4 → pyfastnet-2.0.6/pyfastnet.egg-info}/PKG-INFO +1 -1
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/setup.py +1 -1
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/LICENSE +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/MANIFEST.in +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/README.md +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/fastnet_decoder/__init__.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/fastnet_decoder/decode_fastnet.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/fastnet_decoder/frame_buffer.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/fastnet_decoder/logger.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/fastnet_decoder/utils.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/pyfastnet.egg-info/SOURCES.txt +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/pyfastnet.egg-info/dependency_links.txt +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/pyfastnet.egg-info/top_level.txt +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/setup.cfg +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_apparent_frame.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_autopilot_frame.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_channels.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_depth_frame.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_format07_msb_regression.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_format08_layout.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_heel_frame.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_rudder_frame.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_tide_frame.py +0 -0
- {pyfastnet-2.0.4 → pyfastnet-2.0.6}/tests/test_true_frame.py +0 -0
|
@@ -282,11 +282,36 @@ SEGMENT_A = {
|
|
|
282
282
|
0x8c: "=[data]", 0x0c: "[data]=",
|
|
283
283
|
0xf3: "H[data]", 0x73: "[data]H",
|
|
284
284
|
0x00: " ",
|
|
285
|
+
|
|
286
|
+
# Plain-positive layout codes (no sign decoration) confirmed from raw log replay
|
|
287
|
+
0x80: " ", # depth channels (0xC1/C2/C3)
|
|
288
|
+
0x5c: " ", # sea temperature °C
|
|
289
|
+
0x74: " ", # sea temperature °F
|
|
290
|
+
0x58: " ", # autopilot compass target (0–360° bearing)
|
|
291
|
+
0x99: " ", # VMG positive direction
|
|
292
|
+
0xbb: " ", # VMG / tidal drift positive
|
|
293
|
+
0xd8: " ", # leeway (always 0.0 in captured data; defaulted to plain)
|
|
294
|
+
0x54: " ", # true wind angle positive (starboard tack)
|
|
295
|
+
0x01: " ", # linear sensor null/zero state
|
|
285
296
|
}
|
|
286
297
|
|
|
287
298
|
SEGMENT_B = {
|
|
288
299
|
0xBE: "O", 0xE8: "F", 0x62: "n",
|
|
289
300
|
0x72: "o", 0x40: "-", 0x00: " ",
|
|
301
|
+
|
|
302
|
+
# Digits confirmed from 7-segment encoding (e=bit7,g=bit6,f=bit5,d=bit4,a=bit3,b=bit2,c=bit1,dp=bit0)
|
|
303
|
+
# and verified against sea-temperature display context (format 0x06 on channel 0x1F)
|
|
304
|
+
0x06: "1",
|
|
305
|
+
0xFA: "6", # a,c,d,e,f,g — also confirmed by -6°C display context
|
|
306
|
+
0x0E: "7", # a,b,c
|
|
307
|
+
0xFE: "8", # all segments
|
|
308
|
+
|
|
309
|
+
# B&G variant digit encoding (non-standard segment activation):
|
|
310
|
+
0xDA: "2", # a,c,d,e,g (uses lower-right c instead of standard upper-right b)
|
|
311
|
+
0xDE: "3", # a,b,c,d,e,g (standard 3 + lower-left e)
|
|
312
|
+
0xC6: "4", # b,c,e,g (uses lower-left e instead of standard upper-left f; 2 occurrences)
|
|
313
|
+
|
|
314
|
+
0xB8: "C", # Celsius label — a,d,e,f segments
|
|
290
315
|
}
|
|
291
316
|
|
|
292
317
|
AUTOPILOT_MODES = {
|
|
@@ -302,7 +327,7 @@ FORMAT_SIZE_MAP = {
|
|
|
302
327
|
0x04: 4, # 32 bits (4 bytes)
|
|
303
328
|
0x05: 4, # 32 bits (4 bytes)
|
|
304
329
|
0x06: 4, # 32 bits (4 bytes)
|
|
305
|
-
0x07: 4, #
|
|
330
|
+
0x07: 4, # 32 bits (4 bytes)
|
|
306
331
|
0x08: 2, # 16 bits (2 bytes)
|
|
307
332
|
0x0A: 4 # 32 bits (4 bytes)
|
|
308
333
|
}
|
|
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|
|
2
2
|
|
|
3
3
|
setup(
|
|
4
4
|
name="pyfastnet",
|
|
5
|
-
version="2.0.
|
|
5
|
+
version="2.0.6", # Ensure this matches your intended version
|
|
6
6
|
author="Alex Salmon",
|
|
7
7
|
author_email="alex@ivila.net",
|
|
8
8
|
description="A Python library for decoding FastNet protocol data streams.",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|