From 3871660e28e742cbe8108e952ec5148f8470b754 Mon Sep 17 00:00:00 2001 From: KubaPro010 Date: Sun, 16 Mar 2025 19:17:43 +0100 Subject: [PATCH] add some dps definitions --- src/rds.c | 1 - src/rds.h | 12 +++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/rds.c b/src/rds.c index 4c6fd9d..3d854d1 100644 --- a/src/rds.c +++ b/src/rds.c @@ -195,7 +195,6 @@ static void get_rds_ps_group(RDSEncoder* enc, uint16_t *blocks) { if(enc->data[enc->program].ta && enc->state[enc->program].tps_text[0] != '\0') { blocks[3] = enc->state[enc->program].tps_text[enc->state[enc->program].ps_csegment * 2] << 8 | enc->state[enc->program].tps_text[enc->state[enc->program].ps_csegment * 2 + 1]; } else { - // TODO: Add DPS blocks[3] = enc->state[enc->program].ps_text[enc->state[enc->program].ps_csegment * 2] << 8 | enc->state[enc->program].ps_text[enc->state[enc->program].ps_csegment * 2 + 1]; } enc->state[enc->program].ps_csegment++; diff --git a/src/rds.h b/src/rds.h index 12643c4..bc62e5d 100644 --- a/src/rds.h +++ b/src/rds.h @@ -95,17 +95,19 @@ typedef struct { uint8_t eqtext1 : 1; uint8_t dps1_enabled : 1; uint8_t dps2_enabled : 1; + uint8_t dps1_len; char dps1[255]; + uint8_t dps2_len; char dps2[255]; uint8_t dps1_mode : 2; uint8_t dps2_mode : 2; uint8_t dps1_numberofrepeats : 7; uint8_t dps1_numberofrepeats_clear : 1; uint8_t dps2_numberofrepeats; - uint8_t dps_label_period; + uint8_t dps_label_period; // One transmission of a part of the dynamic ps uint8_t dps_restart : 1; - uint8_t dps_speed : 1; - uint8_t static_ps_period; + uint8_t dps_speed : 1; // Low is 8 transmissions, high is 4 + uint8_t static_ps_period; // One Transmission of static ps uint8_t shortrt : 1; uint8_t rt1_enabled : 1; @@ -152,6 +154,10 @@ typedef struct { char dps1_text[255]; char dps1_nexttext[127]; + uint8_t static_ps_period : 4; + uint8_t dynamic_ps_period : 4; + uint8_t dynamic_ps_position : 4; + uint8_t dynamic_ps_state : 2; char rt_text[RT_LENGTH]; uint8_t rt_state : 5;