From a2038ef55655709335d8f8f5649db9a2fd14eb03 Mon Sep 17 00:00:00 2001 From: David RICQ Date: Sat, 19 Jul 2014 19:32:06 +0200 Subject: [PATCH] Update pi_fm_rds.c --- src/pi_fm_rds.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pi_fm_rds.c b/src/pi_fm_rds.c index 254efb9..02c4dc9 100644 --- a/src/pi_fm_rds.c +++ b/src/pi_fm_rds.c @@ -269,7 +269,7 @@ map_peripheral(uint32_t base, uint32_t len) #define DATA_SIZE 5000 -int tx(uint32_t carrier_freq, uint32_t volume, char *audio_file, uint16_t pi, char *ps, char *rt, int16_t ppm, char *control_pipe) { +int tx(uint32_t carrier_freq, float volume, char *audio_file, uint16_t pi, char *ps, char *rt, int16_t ppm, char *control_pipe) { int i, fd, pid; char pagemap_fn[64]; @@ -517,7 +517,7 @@ int main(int argc, char **argv) { char *audio_file = NULL; char *control_pipe = NULL; uint32_t carrier_freq = 107900000; - uint32_t volume = 100; + float volume = 100; char *ps = NULL; char *rt = "PiFmRds: live FM-RDS transmission from the RaspberryPi"; uint16_t pi = 0x1234; @@ -542,6 +542,8 @@ int main(int argc, char **argv) { } else if(strcmp("-vol", arg)==0 && param != NULL) { i++; volume = atof(param); + if(volume < 0) + fatal("Incorrect volume specification. Must be positive\n"); } else if(strcmp("-pi", arg)==0 && param != NULL) { i++; pi = (uint16_t) strtol(param, NULL, 16);