KIK01 Release
Dependencies: mcp3008 mbed mbed-rtos AverageMCP3008 VoltageMonitor
Diff: main.cpp
- Revision:
- 32:41cda5ad45e4
- Parent:
- 31:3c7e1cd0d947
- Child:
- 33:eac518ea0f34
--- a/main.cpp Sat Oct 21 03:50:56 2017 +0000 +++ b/main.cpp Fri Dec 01 10:38:26 2017 +0000 @@ -2,6 +2,7 @@ * KIK01 * Kick Machine * + * 2017.11.29 Proto06: Add Power Monitor * 2017.10.19 Proto05: Add NOS01 Controller * 2017.09.16 Proto04: SPI1 for AD8402 Wein Bridge DCO & Internal DAC for Dual-OTA-VCA * 2017.07.04 Proto03: MCP4922 DCA @@ -17,9 +18,11 @@ #include "EnvelopeAR.h" #define UART_TRACE (1) +#include "VoltageMonitor.h" + #define PIN_CHECK (1) #define TITLE_STR1 ("KIK01 Kick Machine") -#define TITLE_STR2 ("20171020") +#define TITLE_STR2 ("20171129") #define PI_F (3.1415926f) @@ -32,6 +35,10 @@ #define AVERAGE_BUFFER_SIZE (4) +#define PM_VDD (3.32f) +#define PM_LoThreshold (2.375f) +#define PM_HiThreshold (2.625f) + AnalogOut Dac1(PA_4); AnalogOut Dac2(PA_5); @@ -43,12 +50,17 @@ // MCP3008 SPI // SPI (PinName mosi, PinName miso, PinName sclk, PinName ssel=NC) SPI SpiMAdc(PB_5, PB_4, PB_3); -MCP3008 Adc1(&SpiMAdc, PB_10); +MCP3008 Adc1(&SpiMAdc, PA_9); MCP3008 Adc2(&SpiMAdc, PA_8); -MCP3008 Adc3(&SpiMAdc, PA_9); +MCP3008 Adc3(&SpiMAdc, PB_10); AverageMCP3008 AvgAdc1(&Adc1, AVERAGE_BUFFER_SIZE); AverageMCP3008 AvgAdc2(&Adc2, AVERAGE_BUFFER_SIZE); -AverageMCP3008 AvgAdc3(&Adc3, AVERAGE_BUFFER_SIZE); +AverageMCP3008 AvgAdc3(&Adc3, AVERAGE_BUFFER_SIZE); + +// Power Monitor +AnalogIn PowerMonitorIn(PA_0); +DigitalOut PowerMonitorLed(PA_15); +VoltageMonitor PWMon(&PowerMonitorIn, PM_VDD, PM_LoThreshold, PM_HiThreshold, &PowerMonitorLed); // Sync DigitalOut SyncPin(PA_10); @@ -221,6 +233,7 @@ Dout3 = 0; #endif + #if UART_TRACE printf("%.1f\t%d\t", bpm, envelopeLength); @@ -234,9 +247,11 @@ printf("| %d\t%d\t", noiseAmplitudeParam.attack, noiseAmplitudeParam.release); printf("%.2f\t%.2f\t%.2f\t", noiseAmplitudeParam.v0, noiseAmplitudeParam.v1, noiseAmplitudeParam.v2); - printf("%.2f\t%.2f\r\n", noiseAmplitudeParam.attackTauRatio, noiseAmplitudeParam.releaseTauRatio); + printf("%.2f\t%.2f\t", noiseAmplitudeParam.attackTauRatio, noiseAmplitudeParam.releaseTauRatio); #endif + PWMon.check(); + Thread::wait(1); } }