From 6c54b80d802f76a592c9281d9c1a8f321c32ae60 Mon Sep 17 00:00:00 2001 From: Aadi Desai <21363892+supleed2@users.noreply.github.com> Date: Sun, 21 May 2023 01:23:08 +0100 Subject: [PATCH] Add volume control to main.cpp --- demo/main.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/demo/main.cpp b/demo/main.cpp index 37ffcbd..76dc994 100644 --- a/demo/main.cpp +++ b/demo/main.cpp @@ -98,6 +98,9 @@ static void help(void) { puts("imperial - Imperial March demo"); puts("roll - Music demo"); #endif +#ifdef CSR_DAC_VOL_BASE + puts("volume - Get / Set DAC Volume"); +#endif } /*-----------------------------------------------------------------------*/ @@ -211,6 +214,18 @@ static void roll_cmd() { note(NOTE_G3S, 1500); } #endif +#ifdef CSR_DAC_VOL_BASE +static void dac_vol_cmd(char **val) { + char *token = get_token(val); + if (token == *val) { + printf("DAC volume is %d (of 128)\n", dac_vol_volume_read()); + } else { + int value = (int)strtol(token, NULL, 0); + printf("Setting DAC volume to %d (of 128)\n", value); + dac_vol_volume_write(value); + } +} +#endif void donut(void); @@ -258,6 +273,10 @@ static void console_service(void) { imperial_cmd(); else if (strcmp(token, "roll") == 0) roll_cmd(); +#endif +#ifdef CSR_DAC_VOL_BASE + else if (strcmp(token, "volume") == 0) + dac_vol_cmd(&str); #endif prompt(); }