diff --git a/include/dsd.h b/include/dsd.h index 1b1e0c0..0a152b3 100644 --- a/include/dsd.h +++ b/include/dsd.h @@ -555,7 +555,7 @@ typedef struct uint8_t data_conf_data[2]; //flag for confirmed data blocks per slot uint8_t dmr_pdu_sf[2][288]; //unified pdu 'superframe' //[slot][byte] uint8_t cap_plus_csbk_bits[2][12*8*8]; //CSBK Cap+ FL initial and appended block bit storage, by slot - uint8_t cap_plus_block_num; //received block number storage + uint8_t cap_plus_block_num[2]; //received block number storage -- per timeslot uint8_t data_block_crc_valid[2][25]; //flag each individual block as good crc on confirmed data char dmr_embedded_signalling[2][7][48]; //embedded signalling 2 slots by 6 vc by 48 bits (replacing TS1SuperFrame.TimeSlotRawVoiceFrame.Sync structure) diff --git a/src/dmr_block.c b/src/dmr_block.c index 67561fb..cf318f1 100644 --- a/src/dmr_block.c +++ b/src/dmr_block.c @@ -773,6 +773,7 @@ void dmr_reset_blocks (dsd_opts * opts, dsd_state * state) memset (state->dmr_lrrp_source, 0, sizeof(state->dmr_lrrp_source)); memset (state->dmr_cach_fragment, 1, sizeof (state->dmr_cach_fragment)); memset (state->cap_plus_csbk_bits, 0, sizeof(state->cap_plus_csbk_bits)); + memset (state->cap_plus_block_num, 0, sizeof(state->cap_plus_block_num)); memset (state->data_header_valid, 0, sizeof(state->data_header_valid)); memset (state->data_header_format, 7, sizeof(state->data_header_format)); //reset some strings diff --git a/src/dmr_csbk.c b/src/dmr_csbk.c index 80f98fc..7b3d036 100644 --- a/src/dmr_csbk.c +++ b/src/dmr_csbk.c @@ -762,7 +762,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 uint8_t bank_one = 0; uint8_t bank_two = 0; uint8_t b2_start = 0; - uint8_t block_num = state->cap_plus_block_num; + uint8_t block_num = state->cap_plus_block_num[ts]; uint8_t pdflag = 0; uint8_t pdflag2 = 0; uint16_t private_target = 0; @@ -781,7 +781,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 //sanity check if (block_num > 6) { - state->cap_plus_block_num = 6; + state->cap_plus_block_num[ts] = 6; block_num = 6; } @@ -796,13 +796,13 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 //NOTE: this has been changed to store per slot memset (state->cap_plus_csbk_bits[ts], 0, sizeof(state->cap_plus_csbk_bits[ts])); for (i = 0; i < 10*8; i++) state->cap_plus_csbk_bits[ts][i] = cs_pdu_bits[i]; - state->cap_plus_block_num = 0; + state->cap_plus_block_num[ts] = 0; } else //appended block (fl 0) or final block (fl 1) { for (i = 0; i < 7*8; i++) state->cap_plus_csbk_bits[ts][i+80+(7*8*block_num)] = cs_pdu_bits[i+24]; block_num++; - state->cap_plus_block_num++; + state->cap_plus_block_num[ts]++; } if (rest_channel != state->dmr_rest_channel) @@ -1087,7 +1087,7 @@ void dmr_cspdu (dsd_opts * opts, dsd_state * state, uint8_t cs_pdu_bits[], uint8 fprintf (stderr, "%s", KNRM); } memset (state->cap_plus_csbk_bits[ts], 0, sizeof(state->cap_plus_csbk_bits[ts])); - state->cap_plus_block_num = 0; + state->cap_plus_block_num[ts] = 0; } //if (fl == 1 || fl == 3) } //opcode == 0x3E diff --git a/src/dsd_main.c b/src/dsd_main.c index 89c184e..afc4f67 100644 --- a/src/dsd_main.c +++ b/src/dsd_main.c @@ -370,7 +370,7 @@ noCarrier (dsd_opts * opts, dsd_state * state) //initialize cap+ bits and block num storage memset (state->cap_plus_csbk_bits, 0, sizeof(state->cap_plus_csbk_bits)); - state->cap_plus_block_num = 0; + memset (state->cap_plus_block_num, 0, sizeof(state->cap_plus_block_num)); //init confirmed data individual block crc as invalid memset (state->data_block_crc_valid, 0, sizeof(state->data_block_crc_valid)); @@ -921,7 +921,7 @@ initState (dsd_state * state) //initialize cap+ bits and block num storage memset (state->cap_plus_csbk_bits, 0, sizeof(state->cap_plus_csbk_bits)); - state->cap_plus_block_num = 0; + memset (state->cap_plus_block_num, 0, sizeof(state->cap_plus_block_num)); //init confirmed data individual block crc as invalid memset (state->data_block_crc_valid, 0, sizeof(state->data_block_crc_valid)); diff --git a/src/nxdn_element.c b/src/nxdn_element.c index 4e35b0d..28a8d0f 100644 --- a/src/nxdn_element.c +++ b/src/nxdn_element.c @@ -1154,7 +1154,7 @@ void NXDN_decode_VCALL(dsd_opts * opts, dsd_state * state, uint8_t * Message) // limazulu = limazulu & 0xFFFF; //make sure no larger than 16-bits // fprintf (stderr, "%s", KCYN); -// if (freq) fprintf (stderr, "\n Freq: %ld - Freq Hash: %0ld", freq, limazulu); +// if (freq) fprintf (stderr, "\n Freq: %ld - Freq Hash: %d", freq, limazulu); // if (state->rkey_array[limazulu] != 0) fprintf (stderr, " - Key Loaded: %lld", state->rkey_array[limazulu]); // fprintf (stderr, "%s", KNRM); diff --git a/src/nxdn_frame.c b/src/nxdn_frame.c index be86b78..c65ee82 100644 --- a/src/nxdn_frame.c +++ b/src/nxdn_frame.c @@ -380,7 +380,7 @@ void nxdn_frame (dsd_opts * opts, dsd_state * state) limazulu = limazulu & 0xFFFF; //make sure no larger than 16-bits fprintf (stderr, "%s", KYEL); - if (freq) fprintf (stderr, "\n Freq: %ld - Freq Hash: %0ld", freq, limazulu); + if (freq) fprintf (stderr, "\n Freq: %ld - Freq Hash: %d", freq, limazulu); if (state->rkey_array[limazulu] != 0) fprintf (stderr, " - Key Loaded: %lld", state->rkey_array[limazulu]); fprintf (stderr, "%s", KNRM);