Skip to content

Commit

Permalink
Fix #121 UBX rendering
Browse files Browse the repository at this point in the history
  • Loading branch information
Knio committed Mar 22, 2021
1 parent d9064ea commit 2dab8f5
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 8 deletions.
2 changes: 1 addition & 1 deletion pynmea2/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '1.16.0'
__version__ = '1.17.0'
11 changes: 6 additions & 5 deletions pynmea2/types/proprietary/ubx.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,13 @@ def __new__(_cls, manufacturer, data):
cls = _cls.sentence_types.get(name, _cls)
return super(UBX, cls).__new__(cls)

def __init__(self, manufacturer, data):
self.sentence_type = manufacturer + data[1]
super(UBX, self).__init__(manufacturer, data[2:])


class UBX00(UBX, LatLonFix):
""" Lat/Long Position Data
"""
fields = (
("Blank", "_blank"),
("UBX Type", "ubx_type"),
("Timestamp (UTC)", "timestamp", timestamp),
("Latitude", "lat"),
("Latitude Direction", "lat_dir"),
Expand All @@ -41,14 +39,15 @@ class UBX00(UBX, LatLonFix):
("Time Dilution of Precision", "tdop"),
("Number of Satellites Used", "num_svs"),
("Reserved", "reserved")

)


class UBX03(UBX):
""" Satellite Status
"""
fields = (
("Blank", "_blank"),
("UBX Type", "ubx_type"),
("Number of GNSS Satellites Tracked", "num_sv", int),
)

Expand All @@ -61,6 +60,8 @@ class UBX04(UBX):
""" Time and Day Clock Information
"""
fields = (
("Blank", "_blank"),
("UBX Type", "ubx_type"),
("UTC Time", "time", timestamp),
("UTC Date", "date", datestamp),
("UTC Time of Week", "utc_tow"),
Expand Down
10 changes: 9 additions & 1 deletion test/test_proprietary.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,11 @@ def test_srf():
data = '$PSRF999,0,1200,8,1,1'
msg = pynmea2.parse(data)
assert type(msg) == pynmea2.srf.SRF
assert msg.render(checksum=False) == data


def test_grm():
data = ' $PGRME,15.0,M,45.0,M,25.0,M*1C'
data = '$PGRME,15.0,M,45.0,M,25.0,M*1C'
msg = pynmea2.parse(data)
assert type(msg) == pynmea2.grm.GRME
assert msg.sentence_type == 'GRME'
Expand All @@ -118,6 +119,7 @@ def test_grm():
assert msg.vpe_unit == 'M'
assert msg.osepe == 25.0
assert msg.osepe_unit == 'M'
assert msg.render() == data


def test_tnl():
Expand All @@ -127,22 +129,27 @@ def test_tnl():
assert msg.datestamp == datetime.date(2007,12,2)
assert msg.latitude == 37.384897319
assert msg.longitude == -122.00543668866666
assert msg.render() == data


def test_ubx00():
data = '$PUBX,00,074440.00,4703.74203,N,00736.82976,E,576.991,D3,2.0,2.0,0.091,0.00,-0.032,,0.76,1.05,0.65,14,0,0*70'
msg = pynmea2.parse(data)
assert type(msg) == pynmea2.ubx.UBX00
assert msg.identifier() == 'PUBX'
assert msg.ubx_type == '00'
assert msg.timestamp == datetime.time(7, 44, 40)
assert msg.latitude == 47.06236716666667
assert msg.lat_dir == 'N'
assert msg.render() == data


def test_ubx03():
data = '$PUBX,03,20,3,e,281,72,36,062,5,e,034,10,23,000,8,U,328,11,44,064,9,-,323,-2,,000,13,-,341,01,,000,16,U,307,45,49,064,18,e,144,18,,000,21,U,150,74,35,037,25,e,134,06,,000,27,U,271,20,52,064,29,U,074,36,36,063,31,U,209,26,37,040,120,e,210,31,,000,126,-,157,33,,000,66,U,036,19,34,015,67,e,090,20,22,000,68,-,136,00,,000,73,e,273,60,47,064,74,U,330,24,44,064,80,U,193,36,36,023*33'
msg = pynmea2.parse(data)
assert type(msg) == pynmea2.ubx.UBX03
assert msg.num_sv == 20
assert msg.render() == data


def test_ubx04():
Expand All @@ -152,6 +159,7 @@ def test_ubx04():
assert msg.date == datetime.date(2014, 10, 13)
assert msg.time == datetime.time(7, 38, 24)
assert msg.clk_bias == 495176
assert msg.render() == data


def test_create():
Expand Down
2 changes: 1 addition & 1 deletion test/test_pynmea.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@


def test_version():
version = '1.16.0'
version = '1.17.0'
assert pynmea2.version == version
assert pynmea2.__version__ == version

Expand Down

0 comments on commit 2dab8f5

Please sign in to comment.