66
77import os
88import copy
9- from cssrlib .gnss import uGNSS
9+ from cssrlib .gnss import uGNSS , prn2sat
1010from cssrlib .rtcm import rtcm , rtcme , Integrity
1111from random import randint , seed , sample
1212
@@ -22,7 +22,8 @@ def gen_data(mt, sys_t, svid_t):
2222 intr .nid [sys ] = randint (0 , 255 ) # network id DFi071 0-255
2323 intr .flag [sys ] = {}
2424 for svid in svid_t [sys ]:
25- intr .flag [sys ][svid ] = randint (0 , 2 )
25+ sat = prn2sat (sys , svid )
26+ intr .flag [sys ][sat ] = randint (0 , 2 )
2627 # integrity flag DFi068 0:use,1:DNU,2:not monitored,3:reserved
2728
2829 # issue of GNSS satellite mask DFi010
@@ -75,10 +76,12 @@ def write_rtcm(file_rtcm, msg_t, intr, nep=1):
7576 fc .write (msg [:k ])
7677 fc .close ()
7778
79+ return msg [:k ]
7880
79- def read_rtcm (file_rtcm , intr , nep = 1 ):
8081
81- cs = rtcm ()
82+ def read_rtcm (file_rtcm , intr , nep = 1 , logfile = None ):
83+
84+ cs = rtcm (foutname = logfile )
8285 cs .monlevel = 2
8386
8487 fc = open (file_rtcm , 'rb' )
@@ -121,6 +124,7 @@ def read_rtcm(file_rtcm, intr, nep=1):
121124
122125if __name__ == "__main__" :
123126 file_rtcm = '../data/sample.rtcm'
127+ file_log = '../data/sample.log'
124128 nep = 1
125129 maxlen = 1024
126130 nsatmax = 10
@@ -136,17 +140,17 @@ def read_rtcm(file_rtcm, intr, nep=1):
136140 sys_t = [uGNSS .GPS , uGNSS .GLO , uGNSS .GAL , uGNSS .QZS ]
137141
138142 # GNSS satellite mask DFi009
139- prn_rng_t = {uGNSS .GPS : [1 , 63 ], # Table 8.5-1
143+ prn_rng_t = {uGNSS .GPS : [1 , 32 ], # Table 8.5-1
140144 uGNSS .GLO : [1 , 24 ], # Table 8.5-3
141- uGNSS .GAL : [1 , 52 ], # Table 8.5-5
145+ uGNSS .GAL : [1 , 36 ], # Table 8.5-5
142146 uGNSS .BDS : [1 , 63 ],
143147 uGNSS .QZS : [193 , 202 ],
144- uGNSS .IRN : [1 , 10 ]}
148+ uGNSS .IRN : [1 , 14 ]}
145149
146150 mt = msg_t [0 ]
147151
148152 seed (seed_ )
149153 prn_t = gen_sat_list (sys_t , prn_rng_t ) # generate random sat list
150154 intr = gen_data (mt , sys_t , prn_t ) # generate random message data
151- write_rtcm (file_rtcm , msg_t , intr , nep )
152- cs = read_rtcm (file_rtcm , intr , nep )
155+ msg = write_rtcm (file_rtcm , msg_t , intr , nep )
156+ cs = read_rtcm (file_rtcm , intr , nep , logfile = file_log )
0 commit comments