From 7a9763c6c7a9cfe69dc759dce1d48b49088d3827 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Wed, 24 Apr 2024 13:00:13 -0400 Subject: [PATCH] DMR: Init Payload Buffer; Fix MS Data Collection; --- src/dmr_ms.c | 7 +++---- src/dsd_main.c | 2 ++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/dmr_ms.c b/src/dmr_ms.c index 836cec2..df59c2f 100644 --- a/src/dmr_ms.c +++ b/src/dmr_ms.c @@ -682,7 +682,6 @@ void dmrMSData (dsd_opts * opts, dsd_state * state) dibit_p++; if(opts->inverted_dmr == 1) dibit = (dibit ^ 2) & 3; state->dmr_stereo_payload[i] = dibit; - } for (i = 0; i < 54; i++) @@ -690,7 +689,6 @@ void dmrMSData (dsd_opts * opts, dsd_state * state) dibit = getDibit(opts, state); if(opts->inverted_dmr == 1) dibit = (dibit ^ 2) & 3; state->dmr_stereo_payload[i+90] = dibit; - } fprintf (stderr, "%s ", getTime()); @@ -717,16 +715,17 @@ void dmrMSData (dsd_opts * opts, dsd_state * state) state->directmode = 0; //flag off //should just be loaded in the dmr_payload_buffer instead now + //but we want to run getDibit so the buffer has actual good values in it for (i = 0; i < 144; i++) //66 { dibit = getDibit(opts, state); - state->dmr_stereo_payload[i] = dibit; + state->dmr_stereo_payload[i] = 1; //set to one so first frame will fail intentionally instead of zero fill } //CACH + First Half Payload = 12 + 54 for (i = 0; i < 66; i++) //66 { dibit = getDibit(opts, state); - state->dmr_stereo_payload[i] = dibit; + state->dmr_stereo_payload[i+66] = 1; ////set to one so first frame will fail intentionally instead of zero fill } } diff --git a/src/dsd_main.c b/src/dsd_main.c index 3236f93..922a594 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -244,6 +244,7 @@ noCarrier (dsd_opts * opts, dsd_state * state) //dmr buffer state->dmr_payload_p = state->dibit_buf + 200; memset (state->dmr_payload_buf, 0, sizeof (int) * 200); + memset (state->dmr_stereo_payload, 1, sizeof(int) * 144); //dmr buffer end //close MBE out files @@ -803,6 +804,7 @@ initState (dsd_state * state) state->dmr_payload_buf = malloc (sizeof (int) * 1000000); state->dmr_payload_p = state->dmr_payload_buf + 200; memset (state->dmr_payload_buf, 0, sizeof (int) * 200); + memset (state->dmr_stereo_payload, 1, sizeof(int) * 144); //dmr buffer end state->repeat = 0;