Update Readme

Update Readme; Minor Bug Fix. Update dmr_so and dmr_soR in the Voice LC Header.
This commit is contained in:
lwvmobile
2022-08-10 20:03:26 -04:00
committed by GitHub
parent 11b353089b
commit 6043b14c13
3 changed files with 24 additions and 10 deletions

View File

@@ -45,7 +45,7 @@ char * getDateL(void) {
return curr2;
}
//Trellis Decoding still needs work, so be surprised by bad decodes
//Trellis Decoding still needs work, so don't be surprised by bad decodes
void Process34Data(dsd_opts * opts, dsd_state * state, unsigned char tdibits[98], uint8_t syncdata[48], uint8_t SlotType[20])
{
@@ -1029,8 +1029,6 @@ void ProcessUnifiedData(dsd_opts * opts, dsd_state * state, uint8_t info[196], u
CRCExtracted = CRCExtracted | (uint32_t)(DmrDataBit[i + 80] & 1);
}
//Look into whether or not we need to run these CRC checks for this header information
//and see if its applied the same or differently
/* Apply the CRC mask (see DMR standard B.3.12 Data Type CRC Mask) */
CRCExtracted = CRCExtracted ^ 0x3333;
@@ -1464,8 +1462,6 @@ void ProcessCSBK(dsd_opts * opts, dsd_state * state, uint8_t info[196], uint8_t
CRCExtracted = CRCExtracted | (uint32_t)(DmrDataBit[i + 80] & 1); //80-96 for PI header
}
//Look into whether or not we need to run these CRC checks for this header information
//and see if its applied the same or differently
/* Apply the CRC mask (see DMR standard B.3.12 Data Type CRC Mask) */
//CRCExtracted = CRCExtracted ^ 0x969696; //does this mask get applied here though for PI?
CRCExtracted = CRCExtracted ^ 0xA5A5;
@@ -1761,8 +1757,6 @@ void ProcessDmrPIHeader(dsd_opts * opts, dsd_state * state, uint8_t info[196], u
CRCExtracted = CRCExtracted | (uint32_t)(DmrDataBit[i + 80] & 1); //80-96 for PI header
}
//Look into whether or not we need to run these CRC checks for this header information
//and see if its applied the same or differently
/* Apply the CRC mask (see DMR standard B.3.12 Data Type CRC Mask) */
//CRCExtracted = CRCExtracted ^ 0x969696; //does this mask get applied here though for PI?
CRCExtracted = CRCExtracted ^ 0x6969;
@@ -1965,6 +1959,26 @@ void ProcessDmrVoiceLcHeader(dsd_opts * opts, dsd_state * state, uint8_t info[19
{
/* CRC is correct so consider the Full LC data as correct/valid */
TSVoiceSupFrame->FullLC.DataValidity = 1;
if (state->currentslot == 0)
{
state->dmr_so = TSVoiceSupFrame->FullLC.ServiceOptions;
}
if (state->currentslot == 1)
{
state->dmr_soR = TSVoiceSupFrame->FullLC.ServiceOptions;
}
}
else if(IrrecoverableErrors == 0)
{
//FEC okay? Set SVCop code anyways
if (state->currentslot == 0)
{
state->dmr_so = TSVoiceSupFrame->FullLC.ServiceOptions;
}
if (state->currentslot == 1)
{
state->dmr_soR = TSVoiceSupFrame->FullLC.ServiceOptions;
}
}
else
{

View File

@@ -180,8 +180,8 @@ noCarrier (dsd_opts * opts, dsd_state * state)
state->data_p_head[0] = 0;
state->data_p_head[1] = 0;
state->dmr_so = 0;
state->dmr_soR = 0;
// state->dmr_so = 0; //let TLC or Voice Burst zero or set this instead?
// state->dmr_soR = 0;
}