diff --git a/scripts/98-uecp.lua b/scripts/98-uecp.lua index 8c54f7c..d86357c 100644 --- a/scripts/98-uecp.lua +++ b/scripts/98-uecp.lua @@ -6,7 +6,9 @@ uecp.rt_tx_remaining = 0 hooks.rt_transmission[#hooks.rt_transmission + 1] = function () if #uecp.rt_buffer == 0 then return end - if #uecp.rt_buffer > 1 and uecp.rt_tx_remaining > 1 then + if #uecp.rt_buffer == 1 then return end + + if uecp.rt_tx_remaining > 1 then uecp.rt_tx_remaining = uecp.rt_tx_remaining - 1 return end diff --git a/src/rds_setters.c b/src/rds_setters.c index d6e433e..aea2941 100644 --- a/src/rds_setters.c +++ b/src/rds_setters.c @@ -6,7 +6,7 @@ void set_rds_rt(RDSEncoder* enc, const char *rt, uint8_t program) { enc->state[program].rt_update = 1; memset(enc->data[program].rt, ' ', RT_LENGTH); - while (*rt != 0 && len < RT_LENGTH) enc->data[program].rt[len++] = *rt++; + while (*rt != '\r' && *rt != 0 && len < RT_LENGTH) enc->data[program].rt[len++] = *rt++; while (len > 0 && enc->data[program].rt[len - 1] == ' ') len--;