From 418630fc23884cae798a52a9dbf7de0bcf3fa744 Mon Sep 17 00:00:00 2001 From: KubaPro010 Date: Sat, 22 Mar 2025 18:16:21 +0100 Subject: [PATCH] why does short rt not work on start? --- src/rds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rds.c b/src/rds.c index 63b33fd..004f06c 100644 --- a/src/rds.c +++ b/src/rds.c @@ -731,8 +731,6 @@ static void init_rtplus(RDSEncoder* enc, uint8_t group, uint8_t program) { } void reset_rds_state(RDSEncoder* enc, uint8_t program) { - enc->program = program; - RDSEncoder tempCoder; tempCoder.program = program; memset(&(tempCoder.state[program]), 0, sizeof(RDSState)); @@ -740,6 +738,7 @@ void reset_rds_state(RDSEncoder* enc, uint8_t program) { tempCoder.state[program].rt_ab = 1; tempCoder.state[program].ptyn_ab = 1; + tempCoder.state[program].current_rt = 0; set_rds_rt1(&tempCoder, enc->data[program].rt1); set_rds_rt2(&tempCoder, enc->data[program].rt2); set_rds_ps(&tempCoder, enc->data[program].ps); @@ -868,6 +867,7 @@ void set_rds_ps(RDSEncoder* enc, char *ps) { memset(enc->data[enc->program].ps, ' ', PS_LENGTH); while (*ps != 0 && len < PS_LENGTH) enc->data[enc->program].ps[len++] = *ps++; } + void set_rds_dps1(RDSEncoder* enc, char *dps1) { uint8_t len = 0;