0
1
mirror of https://github.com/radio95-rnt/rds95.git synced 2026-02-26 20:33:53 +01:00

make sure of correct crc offset of the files

This commit is contained in:
2025-04-14 16:41:54 +02:00
parent 38b2d7535e
commit 6b7655b890
2 changed files with 3 additions and 3 deletions

View File

@@ -18,7 +18,7 @@ void Modulator_saveToFile(RDSModulatorParameters *emp, const char *option) {
memset(&tempFile, 0, sizeof(RDSModulatorParametersFile));
tempFile.check = 160;
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));

View File

@@ -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.encoder_data), &(tempEncoder.encoder_data), sizeof(RDSEncoderData));
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");
if (file == NULL) {
@@ -68,7 +68,7 @@ void loadFromFile(RDSEncoder *enc) {
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) {
fprintf(stderr, "[RDSENCODER-FILE] CRC mismatch! Data may be corrupted\n");
return;