mirror of
https://github.com/radio95-rnt/rds95.git
synced 2026-07-31 09:19:15 +02:00
make sure of correct crc offset of the files
This commit is contained in:
+1
-1
@@ -18,7 +18,7 @@ void Modulator_saveToFile(RDSModulatorParameters *emp, const char *option) {
|
|||||||
memset(&tempFile, 0, sizeof(RDSModulatorParametersFile));
|
memset(&tempFile, 0, sizeof(RDSModulatorParametersFile));
|
||||||
tempFile.check = 160;
|
tempFile.check = 160;
|
||||||
memcpy(&tempFile.params, emp, sizeof(RDSModulatorParameters));
|
memcpy(&tempFile.params, emp, sizeof(RDSModulatorParameters));
|
||||||
tempFile.crc = crc16_ccitt((char*)&tempFile, sizeof(RDSModulatorParametersFile) - sizeof(uint16_t));
|
tempFile.crc = crc16_ccitt((char*)&tempFile, offsetof(RDSModulatorParametersFile, crc));
|
||||||
}
|
}
|
||||||
memcpy(&tempMod, &tempFile.params, sizeof(RDSModulatorParameters));
|
memcpy(&tempMod, &tempFile.params, sizeof(RDSModulatorParameters));
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ void saveToFile(RDSEncoder *emp, const char *option) {
|
|||||||
memcpy(&(rdsEncoderfile.rtpData[emp->program]), &(tempEncoder.rtpData[emp->program]), sizeof(RDSRTPlusData)*2);
|
memcpy(&(rdsEncoderfile.rtpData[emp->program]), &(tempEncoder.rtpData[emp->program]), sizeof(RDSRTPlusData)*2);
|
||||||
memcpy(&(rdsEncoderfile.encoder_data), &(tempEncoder.encoder_data), sizeof(RDSEncoderData));
|
memcpy(&(rdsEncoderfile.encoder_data), &(tempEncoder.encoder_data), sizeof(RDSEncoderData));
|
||||||
rdsEncoderfile.program = tempEncoder.program;
|
rdsEncoderfile.program = tempEncoder.program;
|
||||||
rdsEncoderfile.crc = crc16_ccitt((char*)&rdsEncoderfile, sizeof(RDSEncoderFile) - sizeof(uint16_t));
|
rdsEncoderfile.crc = crc16_ccitt((char*)&rdsEncoderfile, offsetof(RDSEncoderFile, crc));
|
||||||
|
|
||||||
file = fopen(encoderPath, "wb");
|
file = fopen(encoderPath, "wb");
|
||||||
if (file == NULL) {
|
if (file == NULL) {
|
||||||
@@ -68,7 +68,7 @@ void loadFromFile(RDSEncoder *enc) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t calculated_crc = crc16_ccitt((char*)&rdsEncoderfile, sizeof(RDSEncoderFile) - sizeof(uint16_t));
|
uint16_t calculated_crc = crc16_ccitt((char*)&rdsEncoderfile, offsetof(RDSEncoderFile, crc));
|
||||||
if (calculated_crc != rdsEncoderfile.crc) {
|
if (calculated_crc != rdsEncoderfile.crc) {
|
||||||
fprintf(stderr, "[RDSENCODER-FILE] CRC mismatch! Data may be corrupted\n");
|
fprintf(stderr, "[RDSENCODER-FILE] CRC mismatch! Data may be corrupted\n");
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user