Skip to content

Commit 48652a6

Browse files
committed
update to 1.3.9, fixed GNSSSATINF message
1 parent 4a3882a commit 48652a6

5 files changed

Lines changed: 56 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## [1.3.9] - 2025-11-17
4+
5+
### Fixed
6+
7+
- Fixed variable length message `GNSSSATINF`
8+
39
## [1.3.8] - 2025-11-05
410

511
### Added

ixcom/grep.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,6 @@ def combine_callback(msg, from_device):
288288
_msg_length = 16
289289

290290
buffer_view = buffer.getbuffer()
291-
#buffer_view = buffer.read()
292291
buffer_length = len(buffer_view)
293292
parser = NpMessageParser()
294293
parser.nothrow = True

ixcom/messages.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,37 @@ class GNSSSATINFO_Payload(ProtocolPayload):
598598
PayloadItem(name = 'Azimuth', dimension = 1, datatype = 'f'),
599599
])
600600

601+
@message(0x51)
602+
class GNSSSATINF_Payload(ProtocolPayload):
603+
604+
_satellite_info = Message([
605+
PayloadItem(name='sat_system', dimension=1, datatype='I'),
606+
PayloadItem(name='sat_id', dimension=1, datatype='H'),
607+
PayloadItem(name='glo_freq', dimension=1, datatype='h'),
608+
PayloadItem(name='cn0', dimension=1, datatype='f'),
609+
PayloadItem(name='reject', dimension=1, datatype='I'),
610+
PayloadItem(name='azimuth', dimension=1, datatype='f'),
611+
PayloadItem(name='elevation', dimension=1, datatype='f')
612+
])
613+
614+
message_description = Message([
615+
PayloadItem(name = 'num_obs', dimension = 1, datatype = 'I'),
616+
PayloadItem(name = 'sat_observations', dimension = 0, datatype = _satellite_info)
617+
])
618+
619+
620+
def get_varsize_item_list(self, num_obs):
621+
_item_list = [
622+
PayloadItem(name = 'num_obs', dimension = 1, datatype = 'I'),
623+
PayloadItem(name = 'sat_observations', dimension = num_obs, datatype = self._satellite_info)
624+
]
625+
return _item_list
626+
627+
def get_varsize_arg_from_bytes(self, inBytes):
628+
num_obs = int.from_bytes(inBytes[:3],'little')
629+
return num_obs
630+
631+
601632
@message(0x45)
602633
class NTRIPSTAT_Payload(ProtocolPayload):
603634
message_description = Message([

ixcom/parser.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,24 @@ def forced_zupt(self, enable: bool):
735735
msgToSend.payload.data['enable'] = enable
736736
self.send_msg_and_waitfor_okay(msgToSend)
737737

738+
def forced_zupt_param(self, enable: bool):
739+
'''Enables or disables forced Zero Velocity updates
740+
741+
Enables or disables forced Zero Velocity updates using the EKF FORCED_ZUPT parameter.
742+
743+
Args:
744+
enable: boolean value to enable or disable ZUPTs.
745+
746+
Raises:
747+
ClientTimeoutError: Timeout while waiting for response from the XCOM server
748+
ResponseError: The response from the system was not 'OK'
749+
750+
'''
751+
msgToSend = data.getMessageByName("PAREKF_FORCEDZUPT")
752+
msgToSend.payload.data['action'] = data.ParameterAction.CHANGING
753+
msgToSend.payload.data['enable'] = enable
754+
self.send_msg_and_waitfor_okay(msgToSend)
755+
738756
def save_antoffset(self, antenna: int):
739757
'''Saves the currently estimated GNSS antenna offset
740758

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
long_description = open(readmePath, "rt").read()
1515

1616
setup(name='ixcom',
17-
version='1.3.8',
17+
version='1.3.9',
1818
description='Library for communicating with xcom devices over network',
1919
author='iMAR Navigation GmbH',
2020
author_email='[email protected]',

0 commit comments

Comments
 (0)