From 63dc7f3d96921c9a813092a11dfb70b12cc8a509 Mon Sep 17 00:00:00 2001 From: Jan-Henrik Bruhn Date: Fri, 17 Jul 2020 11:16:36 +0200 Subject: [PATCH] Fix bugs --- stereo_mix/drivers/dacs.h | 13 ++++++++----- stereo_mix/stereo_mix.cc | 4 ---- stereo_mix/ui.cc | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/stereo_mix/drivers/dacs.h b/stereo_mix/drivers/dacs.h index 0b0fc8b..22d0ba6 100644 --- a/stereo_mix/drivers/dacs.h +++ b/stereo_mix/drivers/dacs.h @@ -7,11 +7,11 @@ namespace stereo_mix { -GPIO_TypeDef* kMDacPorts[] = { GPIOB, GPIOB, GPIOB, GPIOB }; -const uint16_t kMDacPins[] = { GPIO_PIN_8, GPIO_PIN_9, GPIO_PIN_10, GPIO_PIN_11 }; +GPIO_TypeDef* kOffsetDacPorts[] = { GPIOB, GPIOB, GPIOB, GPIOB }; +const uint16_t kOffsetDacPins[] = { GPIO_PIN_8, GPIO_PIN_9, GPIO_PIN_10, GPIO_PIN_11 }; -GPIO_TypeDef* kOffsetDacPorts[] = { GPIOA, GPIOB, GPIOB, GPIOC }; -const uint16_t kOffsetDacPins[] = { GPIO_PIN_15, GPIO_PIN_7, GPIO_PIN_15, GPIO_PIN_13 }; +GPIO_TypeDef* kMDacPorts[] = { GPIOA, GPIOB, GPIOB, GPIOC }; +const uint16_t kMDacPins[] = { GPIO_PIN_15, GPIO_PIN_7, GPIO_PIN_15, GPIO_PIN_13 }; class Dacs { // MCP4xx2 dac implementation public: @@ -89,11 +89,14 @@ class Dacs { // MCP4xx2 dac implementation value |= 1 << 12; // shutdown always set to 1 kMDacPorts[device]->BRR |= kMDacPins[device]; - kOffsetDacPorts[device]->BRR |= kOffsetDacPins[device]; SPI1->DR = value; while ((SPI1->SR & (SPI_SR_TXE | SPI_SR_BSY)) != SPI_SR_TXE) ; kMDacPorts[device]->BSRR |= kMDacPins[device]; + kOffsetDacPorts[device]->BRR |= kOffsetDacPins[device]; + SPI1->DR = value; + while ((SPI1->SR & (SPI_SR_TXE | SPI_SR_BSY)) != SPI_SR_TXE) + ; kOffsetDacPorts[device]->BSRR |= kOffsetDacPins[device]; }; diff --git a/stereo_mix/stereo_mix.cc b/stereo_mix/stereo_mix.cc index 4a67b24..8ed1d2a 100644 --- a/stereo_mix/stereo_mix.cc +++ b/stereo_mix/stereo_mix.cc @@ -1,7 +1,3 @@ - -//#define ENABLE_DEBUG_PIN -#include "drivers/debug_pin.h" - #include "drivers/adc.h" #include "drivers/dacs.h" #include "drivers/leds.h" diff --git a/stereo_mix/ui.cc b/stereo_mix/ui.cc index ec6b3d1..0cc0c2f 100644 --- a/stereo_mix/ui.cc +++ b/stereo_mix/ui.cc @@ -99,7 +99,7 @@ void UI::TaskDrawLeds() { for (size_t i = 0; i < kNumChannels; i++) { if (potControllers[i].editing_hidden_parameter()) { - leds->set_intensity_signed(i, volume_att_pots[i]); + leds->set_intensity_signed(i, volume_att_pots[i] - 32767); } else if (potControllers[i + kNumChannels].editing_hidden_parameter()) { leds->set_intensity_signed(i, pan_att_pots[i] - 32767); } else {