From fe976e5c6453a46308b043c45eb397483c1d4835 Mon Sep 17 00:00:00 2001 From: RetiredWizard Date: Wed, 17 Sep 2025 21:38:09 -0400 Subject: [PATCH 1/3] new float volume setting and don't set volume to override --- Fruit_Jam/Larsio_Paint_Music/sound_manager.py | 10 ++++------ Metro/Metro_RP2350_Chips_Challenge/code.py | 8 +++----- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/Fruit_Jam/Larsio_Paint_Music/sound_manager.py b/Fruit_Jam/Larsio_Paint_Music/sound_manager.py index 47c979a14..f29630151 100755 --- a/Fruit_Jam/Larsio_Paint_Music/sound_manager.py +++ b/Fruit_Jam/Larsio_Paint_Music/sound_manager.py @@ -83,7 +83,7 @@ def __init__(self, audio_output="pwm", seconds_per_eighth=0.25): # Initialize TLV320 fjPeriphs = adafruit_fruitjam.Peripherals( audio_output=launcher_config["audio"].get("output", "headphone"), - safe_volume_limit=launcher_config["audio"].get("volume_override_danger",12), + safe_volume_limit=launcher_config["audio"].get("volume_override_danger",.75), sample_rate=11025, bit_depth=16, i2c=board.STEMMA_I2C() @@ -103,7 +103,7 @@ def __init__(self, audio_output="pwm", seconds_per_eighth=0.25): # Initialize TLV320 fjPeriphs = adafruit_fruitjam.Peripherals( audio_output=launcher_config["audio"].get("output", "headphone"), - safe_volume_limit=launcher_config["audio"].get("volume_override_danger",12), + safe_volume_limit=launcher_config["audio"].get("volume_override_danger",.75), sample_rate=11025, bit_depth=16, i2c=board.I2C() @@ -112,10 +112,8 @@ def __init__(self, audio_output="pwm", seconds_per_eighth=0.25): self.tlv = fjPeriphs.dac # If volume was specified use it, otherwise use the fruitjam library default - if "volume_override_danger" in launcher_config["audio"]: - fjPeriphs.volume = launcher_config["audio"]["volume_override_danger"] - elif "volume" in launcher_config["audio"]: - fjPeriphs.volume = launcher_config["audio"]["volume"] # FruitJam vol (1-20) + if "volume" in launcher_config["audio"]: + fjPeriphs.volume = launcher_config["audio"]["volume"] # FruitJam vol 0.0-1.0 # Setup I2S audio output - important to do this AFTER configuring the DAC # Fruitjam library actually does this before we modify the configuration diff --git a/Metro/Metro_RP2350_Chips_Challenge/code.py b/Metro/Metro_RP2350_Chips_Challenge/code.py index 0954d158f..04a2d3d64 100755 --- a/Metro/Metro_RP2350_Chips_Challenge/code.py +++ b/Metro/Metro_RP2350_Chips_Challenge/code.py @@ -50,7 +50,7 @@ fjPeriphs = adafruit_fruitjam.Peripherals.Peripherals( audio_output=launcher_config["audio"].get("output", "headphone"), - safe_volume_limit=launcher_config["audio"].get("volume_override_danger",12), + safe_volume_limit=launcher_config["audio"].get("volume_override_danger",.75), sample_rate=44100, bit_depth=16, i2c=board.I2C() @@ -61,10 +61,8 @@ fjPeriphs.audio = audiobusio.I2SOut(board.D9, board.D10, board.D11) # If volume was specified use it, otherwise use the fruitjam library default -if "volume_override_danger" in launcher_config["audio"]: - fjPeriphs.volume = launcher_config["audio"]["volume_override_danger"] -elif "volume" in launcher_config["audio"]: - fjPeriphs.volume = launcher_config["audio"]["volume"] # FruitJam vol (1-20) +if "volume" in launcher_config["audio"]: + fjPeriphs.volume = launcher_config["audio"]["volume"] # FruitJam vol 0.0-1.0 if fjPeriphs.audio is not None: audio = Audio(fjPeriphs.audio, SOUND_EFFECTS) From 696427867984d888b7f8a18c20f864f2353e57ef Mon Sep 17 00:00:00 2001 From: RetiredWizard Date: Wed, 17 Sep 2025 22:19:44 -0400 Subject: [PATCH 2/3] pylint line length --- Fruit_Jam/Larsio_Paint_Music/sound_manager.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Fruit_Jam/Larsio_Paint_Music/sound_manager.py b/Fruit_Jam/Larsio_Paint_Music/sound_manager.py index f29630151..206f4268f 100755 --- a/Fruit_Jam/Larsio_Paint_Music/sound_manager.py +++ b/Fruit_Jam/Larsio_Paint_Music/sound_manager.py @@ -83,7 +83,8 @@ def __init__(self, audio_output="pwm", seconds_per_eighth=0.25): # Initialize TLV320 fjPeriphs = adafruit_fruitjam.Peripherals( audio_output=launcher_config["audio"].get("output", "headphone"), - safe_volume_limit=launcher_config["audio"].get("volume_override_danger",.75), + safe_volume_limit= + launcher_config["audio"].get("volume_override_danger",.75), sample_rate=11025, bit_depth=16, i2c=board.STEMMA_I2C() @@ -103,7 +104,8 @@ def __init__(self, audio_output="pwm", seconds_per_eighth=0.25): # Initialize TLV320 fjPeriphs = adafruit_fruitjam.Peripherals( audio_output=launcher_config["audio"].get("output", "headphone"), - safe_volume_limit=launcher_config["audio"].get("volume_override_danger",.75), + safe_volume_limit= + launcher_config["audio"].get("volume_override_danger",.75), sample_rate=11025, bit_depth=16, i2c=board.I2C() From a2514c6ffe52b83980a1d52a7566168030421bf6 Mon Sep 17 00:00:00 2001 From: foamyguy Date: Thu, 25 Sep 2025 09:24:29 -0500 Subject: [PATCH 3/3] use new volume API in spell jam --- Fruit_Jam/Fruit_Jam_Spell_Jam/code.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Fruit_Jam/Fruit_Jam_Spell_Jam/code.py b/Fruit_Jam/Fruit_Jam_Spell_Jam/code.py index 69f629ec4..d7613346c 100644 --- a/Fruit_Jam/Fruit_Jam_Spell_Jam/code.py +++ b/Fruit_Jam/Fruit_Jam_Spell_Jam/code.py @@ -42,7 +42,8 @@ # initialize Fruit Jam built-in hardware fj = FruitJam() fj.neopixels.brightness = 0.1 -fj.peripherals.volume = 9 +fj.peripherals.volume = 0.5 +vol_int = 50 # AWS auth requires us to have accurate date/time now = fj.sync_time() @@ -119,13 +120,13 @@ def say_and_spell_lastword(): say_and_spell_lastword() elif c.encode("utf-8") == b"\x1b[B": # down arrow - fj.peripherals.volume = max(1, fj.peripherals.volume - 1) + vol_int = max(0, vol_int - 5) + fj.peripherals.volume = vol_int / 100 print(f"Volume: {fj.peripherals.volume}") elif c.encode("utf-8") == b"\x1b[A": # up arrow - fj.peripherals.volume = min( - fj.peripherals.safe_volume_limit, fj.peripherals.volume + 1 - ) + vol_int = min(fj.peripherals.safe_volume_limit * 100, vol_int + 5) + fj.peripherals.volume = vol_int / 100 print(f"Volume: {fj.peripherals.volume}") else: print(f"unused key: {c.encode('utf-8')}")