Skip to content
This repository was archived by the owner on Apr 13, 2021. It is now read-only.

Commit b6994bd

Browse files
committed
Use mk_sdiff_array in dgnss_update Python bindings
1 parent 0aef497 commit b6994bd

File tree

1 file changed

+81
-3
lines changed

1 file changed

+81
-3
lines changed

src/dgnss_management.c

Lines changed: 81 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -251,11 +251,23 @@ void dgnss_update(u8 num_sats, sdiff_t *sdiffs, double receiver_ecef[3],
251251
{
252252
DEBUG_ENTRY();
253253
if (DEBUG) {
254-
printf("sdiff[*].prn = {");
254+
printf("dgnss_update\n");
255+
printf("============\n");
256+
printf("n: %u\n", num_sats);
257+
printf("ecef: %f\t%f\t%f\n", receiver_ecef[0], receiver_ecef[1], receiver_ecef[2]);
258+
printf("sdiff[*] \n");
255259
for (u8 i=0; i < num_sats; i++) {
256-
printf("%u, ", sdiffs[i].sid.sat);
260+
printf("sid: %u \n", sdiffs[i].sid.sat);
261+
printf(" pr: %f \n", sdiffs[i].pseudorange);
262+
printf(" cp: %f \n", sdiffs[i].carrier_phase);
263+
printf(" do: %f \n", sdiffs[i].doppler);
264+
printf(" sn: %f \n", sdiffs[i].snr);
265+
printf(" pos/vel\n");
266+
for (u8 j=0; j < 3; j++) {
267+
printf(" %f \t %f\n", sdiffs[i].sat_pos[j], sdiffs[i].sat_vel[j]);
268+
}
257269
}
258-
printf("}\n");
270+
printf("\n");
259271
}
260272

261273
if (num_sats <= 1) {
@@ -368,6 +380,20 @@ s8 dgnss_iar_get_single_hyp(double *dhyp)
368380
*/
369381
void dgnss_update_ambiguity_state(ambiguity_state_t *s)
370382
{
383+
if (DEBUG) {
384+
printf("dgnss_update_ambiguity_state\n");
385+
printf("============================\n");
386+
printf("==BEFORE==\n");
387+
printf("fixed:\n");
388+
for (u8 i=0; i < s->fixed_ambs.n; i++){
389+
printf(" %u: %f\n", s->fixed_ambs.sids[i].sat, s->fixed_ambs.ambs[i]);
390+
}
391+
printf("float:\n");
392+
for (u8 i=0; i < s->float_ambs.n; i++){
393+
printf(" %u: %f\n", s->float_ambs.sids[i].sat, s->float_ambs.ambs[i]);
394+
}
395+
}
396+
371397
/* Float filter */
372398
/* NOTE: if sats_management.num_sats <= 1 the filter is not updated and
373399
* nkf.state_dim may not match. */
@@ -394,6 +420,19 @@ void dgnss_update_ambiguity_state(ambiguity_state_t *s)
394420
} else {
395421
s->fixed_ambs.n = 0;
396422
}
423+
424+
if (DEBUG) {
425+
printf("==AFTER==\n");
426+
printf("fixed:\n");
427+
for (u8 i=0; i < s->fixed_ambs.n; i++){
428+
printf(" %u: %f\n", s->fixed_ambs.sids[i].sat, s->fixed_ambs.ambs[i]);
429+
}
430+
printf("float:\n");
431+
for (u8 i=0; i < s->float_ambs.n; i++){
432+
printf(" %u: %f\n", s->float_ambs.sids[i].sat, s->float_ambs.ambs[i]);
433+
}
434+
printf("\n");
435+
}
397436
}
398437

399438
/** Finds the baseline using low latency sdiffs.
@@ -420,12 +459,46 @@ s8 dgnss_baseline(u8 num_sdiffs, const sdiff_t *sdiffs,
420459
u8 *num_used, double b[3],
421460
bool disable_raim, double raim_threshold)
422461
{
462+
if (DEBUG) {
463+
printf("dgnss_baseline\n");
464+
printf("==============\n");
465+
printf("n: %u\n", num_sdiffs);
466+
printf("ecef: %f\t%f\t%f\n", ref_ecef[0], ref_ecef[1], ref_ecef[2]);
467+
printf("sdiff[*] \n");
468+
for (u8 i=0; i < num_sdiffs; i++) {
469+
printf("sid: %u \n", sdiffs[i].sid.sat);
470+
printf(" pr: %f \n", sdiffs[i].pseudorange);
471+
printf(" cp: %f \n", sdiffs[i].carrier_phase);
472+
printf(" do: %f \n", sdiffs[i].doppler);
473+
printf(" sn: %f \n", sdiffs[i].snr);
474+
printf(" pos/vel\n");
475+
for (u8 j=0; j < 3; j++) {
476+
printf(" %f \t %f\n", sdiffs[i].sat_pos[j], sdiffs[i].sat_vel[j]);
477+
}
478+
}
479+
printf("amb[*] \n");
480+
printf("fixed:\n");
481+
for (u8 i=0; i < s->fixed_ambs.n; i++){
482+
printf(" %u: %f\n", s->fixed_ambs.sids[i].sat, s->fixed_ambs.ambs[i]);
483+
}
484+
printf("float:\n");
485+
for (u8 i=0; i < s->float_ambs.n; i++){
486+
printf(" %u: %f\n", s->float_ambs.sids[i].sat, s->float_ambs.ambs[i]);
487+
}
488+
printf("\n");
489+
}
490+
423491
s8 ret = baseline(num_sdiffs, sdiffs, ref_ecef, &s->fixed_ambs, num_used, b,
424492
disable_raim, raim_threshold);
425493
if (ret >= 0) {
426494
if (ret == 1) /* TODO: Export this rather than just printing */
427495
log_warn("dgnss_baseline: Fixed baseline RAIM repair");
428496
log_debug("fixed solution");
497+
if (DEBUG) {
498+
printf("ret: %i\n", ret);
499+
printf("fixed baseline: %f\t%f\t%f\n", b[0], b[1], b[2]);
500+
printf("\n");
501+
}
429502
DEBUG_EXIT();
430503
return 1;
431504
}
@@ -437,6 +510,11 @@ s8 dgnss_baseline(u8 num_sdiffs, const sdiff_t *sdiffs,
437510
if (ret == 1) /* TODO: Export this rather than just printing */
438511
log_warn("dgnss_baseline: Float baseline RAIM repair");
439512
log_debug("float solution");
513+
if (DEBUG) {
514+
printf("ret: %i\n", ret);
515+
printf("float baseline: %f\t%f\t%f\n", b[0], b[1], b[2]);
516+
printf("\n");
517+
}
440518
DEBUG_EXIT();
441519
return 2;
442520
}

0 commit comments

Comments
 (0)