@@ -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 )
602633class NTRIPSTAT_Payload (ProtocolPayload ):
603634 message_description = Message ([
0 commit comments