From cf7565472e07d16c7c6dc44148e917e79b236ee8 Mon Sep 17 00:00:00 2001 From: Kuba <132459354+KubaPro010@users.noreply.github.com> Date: Mon, 30 Oct 2023 19:43:54 +0000 Subject: [PATCH] runtime :) --- src/pifmrds/control_pipe.c | 6 ++++++ src/pifmrds/control_pipe.h | 1 + src/pifmrds/pi_fm_rds.cpp | 2 ++ 3 files changed, 9 insertions(+) diff --git a/src/pifmrds/control_pipe.c b/src/pifmrds/control_pipe.c index 6f4a37b..a1b4e19 100644 --- a/src/pifmrds/control_pipe.c +++ b/src/pifmrds/control_pipe.c @@ -139,6 +139,12 @@ ResultAndArg poll_control_pipe() { set_rds_rt(arg); printf("RT B set to: \"%s\"\n", arg); resarg.res = CONTROL_PIPE_RT_SET; + } else if(fifo[0] == 'R' && fifo[1] == 'D' && fifo[2] == 'S') { + int rds = ( strcmp(arg, "ON") == 1 ); + printf("Set RDS to "); + if(rds) printf("ON\n"); else printf("OFF\n"); + resarg.res = CONTROL_PIPE_RDS_SET; + resarg.arg = rds; } } return resarg; diff --git a/src/pifmrds/control_pipe.h b/src/pifmrds/control_pipe.h index 1421e82..3e29aca 100644 --- a/src/pifmrds/control_pipe.h +++ b/src/pifmrds/control_pipe.h @@ -14,6 +14,7 @@ #define CONTROL_PIPE_AB_SET 7 #define CONTROL_PIPE_PI_SET 8 #define CONTROL_PIPE_PWR_SET 9 +#define CONTROL_PIPE_RDS_SET 10 typedef struct { int res; diff --git a/src/pifmrds/pi_fm_rds.cpp b/src/pifmrds/pi_fm_rds.cpp index 6cb9971..bd3b0fc 100644 --- a/src/pifmrds/pi_fm_rds.cpp +++ b/src/pifmrds/pi_fm_rds.cpp @@ -187,6 +187,8 @@ int tx(uint32_t carrier_freq, char *audio_file, uint16_t pi, char *ps, char *rt, ResultAndArg pollResult = poll_control_pipe(); if(pollResult.res == CONTROL_PIPE_PS_SET) { varying_ps = 0; + } else if(pollResult.res == CONTROL_PIPE_RDS_SET) { + drds = pollResult.arg; } }