This commit is contained in:
2025-03-17 20:18:49 +01:00
parent 5b3739e1ea
commit 1c7e8936de
+15 -15
View File
@@ -237,7 +237,21 @@ static void get_rds_ps_group(RDSEncoder* enc, uint16_t *blocks) {
}
} else {
if(enc->data[enc->program].dps1_len > PS_LENGTH) {
uint8_t scroll_threshold = (enc->data[enc->program].dps_speed == 0) ? 6 : 4;
if(enc->state[enc->program].dynamic_ps_position >= enc->data[enc->program].dps1_len) {
enc->state[enc->program].dynamic_ps_position = 0;
enc->state[enc->program].dps1_repeat_count++;
if(enc->state[enc->program].dps1_repeat_count >= enc->data[enc->program].dps1_numberofrepeats) {
enc->state[enc->program].dynamic_ps_state = 0;
enc->state[enc->program].dynamic_ps_period = 0;
enc->state[enc->program].dps1_repeat_count = 0;
enc->state[enc->program].dynamic_ps_scroll_counter = 0;
enc->state[enc->program].static_ps_period = 0;
memcpy(enc->state[enc->program].ps_text, enc->data[enc->program].ps, PS_LENGTH);
}
}
uint8_t scroll_threshold = (enc->data[enc->program].dps_speed == 0) ? 4 : 2;
if(enc->state[enc->program].dynamic_ps_scroll_counter >= scroll_threshold) {
switch(enc->data[enc->program].dps1_mode) {
@@ -254,20 +268,6 @@ static void get_rds_ps_group(RDSEncoder* enc, uint16_t *blocks) {
} else {
enc->state[enc->program].dynamic_ps_scroll_counter++;
}
if(enc->state[enc->program].dynamic_ps_position >= enc->data[enc->program].dps1_len) {
enc->state[enc->program].dynamic_ps_position = 0;
enc->state[enc->program].dps1_repeat_count++;
if(enc->state[enc->program].dps1_repeat_count >= enc->data[enc->program].dps1_numberofrepeats) {
enc->state[enc->program].dynamic_ps_state = 0;
enc->state[enc->program].dynamic_ps_period = 0;
enc->state[enc->program].dps1_repeat_count = 0;
enc->state[enc->program].dynamic_ps_scroll_counter = 0;
enc->state[enc->program].static_ps_period = 0;
memcpy(enc->state[enc->program].ps_text, enc->data[enc->program].ps, PS_LENGTH);
}
}
} else {
memcpy(enc->state[enc->program].ps_text, enc->state[enc->program].dps1_text, PS_LENGTH);
enc->state[enc->program].dynamic_ps_period++;