From 2c7c60d42881ab70ad666c635611faaa7adedacd Mon Sep 17 00:00:00 2001 From: Zilog80 Date: Tue, 27 Aug 2019 18:06:41 +0200 Subject: [PATCH] baseband decode: --json output --- demod/multi/demod_base.h | 1 + demod/multi/dfm09base.c | 2 +- demod/multi/m10base.c | 1 + demod/multi/rs41base.c | 4 ++-- demod/multi/rs_multi.c | 9 ++++++++- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/demod/multi/demod_base.h b/demod/multi/demod_base.h index 2cfbcae..5e34ea5 100644 --- a/demod/multi/demod_base.h +++ b/demod/multi/demod_base.h @@ -142,6 +142,7 @@ typedef struct { typedef struct { pcm_t pcm; thd_t thd; + int option_jsn; } thargs_t; diff --git a/demod/multi/dfm09base.c b/demod/multi/dfm09base.c index 4c15fec..c3fe653 100644 --- a/demod/multi/dfm09base.c +++ b/demod/multi/dfm09base.c @@ -830,7 +830,7 @@ void *thd_dfm09(void *targs) { gpx.option.ecc = 1; gpx.option.aut = 1; gpx.option.dst = 0; - gpx.option.jsn = 0; + gpx.option.jsn = tharg->option_jsn; headerlen = strlen(dfm_rawheader); diff --git a/demod/multi/m10base.c b/demod/multi/m10base.c index 9b9c31e..4586087 100644 --- a/demod/multi/m10base.c +++ b/demod/multi/m10base.c @@ -924,6 +924,7 @@ void *thd_m10(void *targs) { // pcm_t *pcm, double xlt_fq gpx.option.inv = 0; // irrelevant gpx.option.vbs = 2; gpx.option.ptu = 1; + gpx.option.jsn = tharg->option_jsn; gpx.option.col = 0; //option_color; diff --git a/demod/multi/rs41base.c b/demod/multi/rs41base.c index 805f56c..dfb845a 100644 --- a/demod/multi/rs41base.c +++ b/demod/multi/rs41base.c @@ -1511,9 +1511,9 @@ void *thd_rs41(void *targs) { // pcm_t *pcm, double xlt_fq gpx.option.vbs = 1; gpx.option.ptu = 1; gpx.option.aut = 1; - gpx.option.jsn = 0; + gpx.option.jsn = tharg->option_jsn; - gpx.option.ecc = 1; // turn off for ber-measurement + gpx.option.ecc = 1; if (gpx.option.ecc) { rs_init_RS255(&gpx.RS); // RS, GF diff --git a/demod/multi/rs_multi.c b/demod/multi/rs_multi.c index a28136f..a08fd16 100644 --- a/demod/multi/rs_multi.c +++ b/demod/multi/rs_multi.c @@ -85,7 +85,8 @@ int main(int argc, char **argv) { int xlt_cnt = 0; double base_fqs[MAX_FQ]; void *rstype[MAX_FQ]; - int option_pcmraw = 0; + int option_pcmraw = 0, + option_jsn = 0; #ifdef CYGWIN _setmode(fileno(stdin), _O_BINARY); // _fileno(stdin) @@ -138,6 +139,9 @@ int main(int argc, char **argv) { xlt_cnt++; } } + else if (strcmp(*argv, "--json") == 0) { + option_jsn = 1; + } else if (strcmp(*argv, "-") == 0) { int sample_rate = 0, bits_sample = 0, channels = 0; ++argv; @@ -197,8 +201,11 @@ int main(int argc, char **argv) { tharg[k].thd.blk = block_decMB; tharg[k].thd.max_fq = xlt_cnt; tharg[k].thd.xlt_fq = -base_fqs[k]; // S(t)*exp(-f*2pi*I*t): fq baseband -> IF (rotate from and decimate) + tharg[k].pcm = pcm; + tharg[k].option_jsn = option_jsn; + rbf1 |= tharg[k].thd.tn_bit; }