KIK01 Release

Dependencies:   mcp3008 mbed mbed-rtos AverageMCP3008 VoltageMonitor

Files at this revision

API Documentation at this revision

Comitter:
ryood
Date:
Fri Mar 01 01:02:38 2019 +0000
Parent:
42:f58bae8771fe
Commit message:
EnvelopeAR: Range check (attack, release)

Changed in this revision

EnvelopeAR.h Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/EnvelopeAR.h	Fri Mar 01 00:57:06 2019 +0000
+++ b/EnvelopeAR.h	Fri Mar 01 01:02:38 2019 +0000
@@ -50,7 +50,11 @@
     ~EnvelopeAR() {}
 
     void setAttack(int _attack) {
-        attack = _attack;
+        if (_attack > 0) {
+            attack = _attack;
+        } else {
+            attack = 1;
+        }
         tau0 = attack * attackTauRatio;
     }
     int getAttack() {
@@ -58,7 +62,11 @@
     }
 
     void setRelease(int _release) {
-        release = _release;
+        if (_release > 0) {
+            release = _release;
+        } else {
+            release = 1;
+        }                
         tau1 = release * releaseTauRatio;
     }
     int getRelease() {
--- a/main.cpp	Fri Mar 01 00:57:06 2019 +0000
+++ b/main.cpp	Fri Mar 01 01:02:38 2019 +0000
@@ -292,7 +292,7 @@
     envelopeLength = 60 * ENVELOPE_UPDATE_RATE / bpm;
     stepLength = envelopeLength / 4;
 
-    amplitudeParamKik.attack = AvgAdc1.read_input(0) * envelopeLength + 1;
+    amplitudeParamKik.attack = AvgAdc1.read_input(0) * envelopeLength;
     amplitudeParamKik.release = AvgAdc1.read_input(1) * envelopeLength;
     amplitudeParamKik.v0 = AvgAdc1.read_input(4);
     amplitudeParamKik.v1 = AvgAdc1.read_input(5);
@@ -301,14 +301,14 @@
     amplitudeParamKik.releaseTauRatio = AvgAdc1.read_input(3) + 0.01f;
 
     frequencyParamKik.attack = AvgAdc2.read_input(0) * envelopeLength * 0.1f;
-    frequencyParamKik.release = AvgAdc2.read_input(1) * envelopeLength + 1;
+    frequencyParamKik.release = AvgAdc2.read_input(1) * envelopeLength;
     frequencyParamKik.v0 = AvgAdc2.read_input(4) * 4000.0f;
     frequencyParamKik.v1 = AvgAdc2.read_input(5) * 400.0f;
     frequencyParamKik.v2 = AvgAdc2.read_input(6) * 400.0f;
     frequencyParamKik.attackTauRatio = AvgAdc2.read_input(2) + 0.01f;
     frequencyParamKik.releaseTauRatio = AvgAdc2.read_input(3) + 0.01f;
     
-    amplitudeParamNos.attack = AvgAdc3.read_input(0) * envelopeLength + 1;
+    amplitudeParamNos.attack = AvgAdc3.read_input(0) * envelopeLength;
     amplitudeParamNos.release = AvgAdc3.read_input(1) * envelopeLength;
     amplitudeParamNos.v0 = AvgAdc3.read_input(4);
     amplitudeParamNos.v1 = AvgAdc3.read_input(5);