From 761de5a94dd880b37eff3c95c91047a3848754b4 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Wed, 10 Apr 2024 14:37:20 +0200 Subject: [PATCH] add mute switch --- sound-driver/Makefile | 2 +- sound-driver/main.c | 2 ++ sound-driver/mute.c | 20 ++++++++++++++++++++ sound-driver/mute.h | 8 ++++++++ sound-driver/spi.c | 4 ++-- 5 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 sound-driver/mute.c create mode 100644 sound-driver/mute.h diff --git a/sound-driver/Makefile b/sound-driver/Makefile index 31aae1c..6bf22b6 100644 --- a/sound-driver/Makefile +++ b/sound-driver/Makefile @@ -11,7 +11,7 @@ CFLAGS=-Wall -mmcu=$(MCU) -std=gnu99 -I $(TOOLCHAIN_PREFIX)/include -O1 -g0 LDFLAGS=-mmcu=$(MCU) -L $(TOOLCHAIN_PREFIX)/include -$(ARTIFACT).elf: main.o scheduler.o spi.o sequencer.o melody_tetris.o melody_tusch1.o ay_3_8913.o +$(ARTIFACT).elf: main.o scheduler.o spi.o sequencer.o melody_tetris.o melody_tusch1.o ay_3_8913.o mute.o $(CC) -o $@ $(LDFLAGS) $^ $(OBJDUMP) -D $(ARTIFACT).elf > $(ARTIFACT).txt diff --git a/sound-driver/main.c b/sound-driver/main.c index f6bcee1..5cb2487 100644 --- a/sound-driver/main.c +++ b/sound-driver/main.c @@ -7,6 +7,7 @@ #include "scheduler.h" #include "sequencer.h" #include "melody_tetris.h" +#include "mute.h" int main() { WDTCTL = WDTPW | WDTHOLD; @@ -24,6 +25,7 @@ int main() { // spiInit(); psgInit(); + muteInit(); sequencerInit(); __enable_interrupt(); diff --git a/sound-driver/mute.c b/sound-driver/mute.c new file mode 100644 index 0000000..1b11ecc --- /dev/null +++ b/sound-driver/mute.c @@ -0,0 +1,20 @@ +#include +#include "mute.h" + + + +void muteInit() { + // BIT6: MuteCtrl + P1DIR |= BIT6; + P1OUT &= ~BIT6; +} + +void mute() { + P1OUT |= BIT6; +} + +void unMute() { + P1OUT &= ~BIT6; +} + + diff --git a/sound-driver/mute.h b/sound-driver/mute.h new file mode 100644 index 0000000..9b27d4b --- /dev/null +++ b/sound-driver/mute.h @@ -0,0 +1,8 @@ +#ifndef _MUTE_H_ +#define _MUTE_H_ + +void muteInit(); +void mute(); +void unMute(); + +#endif // _MUTE_H_ diff --git a/sound-driver/spi.c b/sound-driver/spi.c index e335e6c..53b6d24 100644 --- a/sound-driver/spi.c +++ b/sound-driver/spi.c @@ -15,8 +15,8 @@ void spiInit() { // BIT5: UCB0CLK // BIT6: UCB0SOMI // BIT7: UCB0SIMO - P1SEL |= BIT4 | BIT5 | BIT6 | BIT7; - P1SEL2 |= BIT4 | BIT5 | BIT6 | BIT7; + P1SEL |= BIT4 | BIT5 | BIT7; + P1SEL2 |= BIT4 | BIT5 | BIT7; // most significant bit first, enable STE UCB0CTL0 = UCSYNC | UCMSB | UCMODE_2;