Skip to content

Commit baf07b5

Browse files
committed
- added rtcm ssr decoder.
1 parent 69e4df2 commit baf07b5

File tree

3 files changed

+29
-28
lines changed

3 files changed

+29
-28
lines changed

receiver/decode_jps.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,8 @@ def decode_obs(self):
398398
obs.D[np.isnan(obs.D)] = 0
399399
obs.S[np.isnan(obs.S)] = 0
400400

401+
obs.sort()
402+
401403
return obs
402404

403405
def decode_nd(self, buff, sys=uGNSS.GPS):

receiver/decode_rtcm.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,10 @@ def __init__(self, opt=None, prefix='', gnss_t='GECJ'):
103103
uTYP.S: [rSigRnx('IS5A'), rSigRnx('IS1X')],
104104
}
105105

106-
self.rtcm = rtcm()
106+
if opt is not None:
107+
foutname = opt.foutname
108+
109+
self.rtcm = rtcm(foutname=foutname)
107110
self.time_p = gtime_t()
108111
self.obs = None
109112

@@ -164,19 +167,8 @@ def init_obs(self, time):
164167
self.obs.sat = np.empty(0, dtype=int)
165168
self.obs.sig = {}
166169

167-
# if tow_p > 0 and tow_p != obs.tow:
168-
# flg_head = True
169-
# k = 0
170-
# f.seek(0)
171-
172-
# tow_p = obs.tow
173-
174-
# if not flg_head:
175-
# for sys in self.sig:
176-
# self.re.sig_tab[sys] = self.sig[sys]
177-
# self.re.rnx_obs_header_sent
178-
179170
def decode(self, buff, len_, sys=[], prn=[]):
171+
""" decode RTCM binary messages """
180172

181173
_, obs, eph, geph, seph = self.rtcm.decode(buff, len_)
182174

@@ -221,7 +213,7 @@ def decode(f, opt, args):
221213
prefix = fname[4:].removesuffix('.rtcm3')+'_'
222214
prefix = str(Path(bdir) / prefix) if bdir else prefix
223215
rtcmdec = rtcmDec(opt=opt, prefix=prefix, gnss_t=args.gnss)
224-
rtcmdec.monlevel = 1
216+
rtcmdec.monlevel = 2
225217

226218
rtcmdec.rtcm.week = args.weekref
227219

@@ -250,6 +242,8 @@ def decode(f, opt, args):
250242

251243
rtcmdec.file_close()
252244

245+
# python decode_rtcm.py ..\data\doy2025-298\CL07298j.rtc --weekref=2389
246+
253247

254248
def main():
255249

@@ -285,6 +279,9 @@ def main():
285279
opt.flg_rnxobs = True
286280
opt.flg_rnxnav = True
287281

282+
s = args.inpFileName
283+
opt.foutname = s[:s.rfind('.')]+'.log'
284+
288285
# Start processing pool
289286
#
290287
with mp.Pool(processes=args.jobs) as pool:

receiver/decode_sbf.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -260,22 +260,22 @@ def decode_obs(self, buff, k=8):
260260
else:
261261
S1 = cn0*0.25 + 10.0
262262

263-
if code not in self.sig_tab[sys][code.typ]:
264-
if self.monlevel > 1:
265-
print("skip code={:}".format(code))
266-
k += nb2*sb2len
267-
continue
268-
idx = self.sig_tab[sys][code.typ].index(code)
263+
if code in self.sig_tab[sys][code.typ]:
264+
idx = self.sig_tab[sys][code.typ].index(code)
269265

270-
pr[idx] = P1
271-
cp[idx] = L1
272-
dp[idx] = D1
273-
ll[idx] = lli
274-
cn[idx] = S1
266+
pr[idx] = P1
267+
cp[idx] = L1
268+
dp[idx] = D1
269+
ll[idx] = lli
270+
cn[idx] = S1
275271

276-
if self.monlevel >= 2:
277-
print("{:6d} {:3d} {:} {:14.3f} {:14.3f} {:10.3f} {:4.2f}".
278-
format(int(self.tow), prn, code, P1, L1, D1, S1))
272+
if self.monlevel >= 2:
273+
print("{:6d} {:3d} {:} {:14.3f} {:14.3f} {:10.3f} {:4.2f}".
274+
format(int(self.tow), prn, code, P1, L1, D1, S1))
275+
276+
else:
277+
if self.monlevel > 1:
278+
print("skip code={:}".format(code))
279279

280280
for j in range(nb2):
281281
typ, ltime, cn0, ofst1, cp1, info, cofst0, cp0, dop0 = \
@@ -350,6 +350,8 @@ def decode_obs(self, buff, k=8):
350350
obs.S = obs.S.reshape(len(obs.sat), self.nsig[uTYP.S])
351351
obs.lli = obs.lli.reshape(len(obs.sat), self.nsig[uTYP.L])
352352

353+
obs.sort()
354+
353355
return obs
354356

355357
def decode_gpsnav(self, buff, k=8):

0 commit comments

Comments
 (0)