Synthesizer / Mbed 2 deprecated DBSMUSICPROJ4

Dependencies:   mbed

Committer:
liam_grazier
Date:
Mon Jul 22 16:35:45 2019 +0000
Revision:
1:5b491fa83cb7
Parent:
0:951442bd3f7f
Child:
3:086e556b57f9
THIS COMIT IS THE WORKING CODE; ; NOTES/DURATION/OCTIVE USING EXTERNAL CLOCK;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liam_grazier 0:951442bd3f7f 1 #include "mbed.h"
liam_grazier 0:951442bd3f7f 2 #include "main.hpp"
liam_grazier 1:5b491fa83cb7 3 #include "variables.hpp"
liam_grazier 1:5b491fa83cb7 4 float abstempo = 0;
liam_grazier 1:5b491fa83cb7 5 int clockcountneg;
liam_grazier 1:5b491fa83cb7 6 int storedduration;
liam_grazier 1:5b491fa83cb7 7 int runval;
liam_grazier 1:5b491fa83cb7 8 void fire(void){
liam_grazier 1:5b491fa83cb7 9 clockout = 1;
liam_grazier 1:5b491fa83cb7 10 wait(0.0001);
liam_grazier 1:5b491fa83cb7 11 clockout = 0;
liam_grazier 1:5b491fa83cb7 12 wait(0.0001);
liam_grazier 1:5b491fa83cb7 13 }
liam_grazier 1:5b491fa83cb7 14 void runonce(void){
liam_grazier 1:5b491fa83cb7 15 getfaderdata();
liam_grazier 1:5b491fa83cb7 16 //tempo calculations
liam_grazier 1:5b491fa83cb7 17 gettempodata();
liam_grazier 1:5b491fa83cb7 18 //note calculations
liam_grazier 1:5b491fa83cb7 19 sumprobabilitynotes();
liam_grazier 1:5b491fa83cb7 20 randomgeneratenotes();
liam_grazier 1:5b491fa83cb7 21 determinenotes();
liam_grazier 1:5b491fa83cb7 22
liam_grazier 1:5b491fa83cb7 23 //octive calculation
liam_grazier 1:5b491fa83cb7 24 sumprobabilityoctives();
liam_grazier 1:5b491fa83cb7 25 randomgenerateoctives();
liam_grazier 1:5b491fa83cb7 26 determineoctives();
liam_grazier 1:5b491fa83cb7 27
liam_grazier 1:5b491fa83cb7 28 //duration calculation
liam_grazier 1:5b491fa83cb7 29 sumprobabilityduration();
liam_grazier 1:5b491fa83cb7 30 randomgenerateduration();
liam_grazier 1:5b491fa83cb7 31 determineduration();
liam_grazier 1:5b491fa83cb7 32 outputdecision();
liam_grazier 1:5b491fa83cb7 33 }
liam_grazier 1:5b491fa83cb7 34 void firetrig(void){
liam_grazier 1:5b491fa83cb7 35 if(clockcount<32){
liam_grazier 1:5b491fa83cb7 36 clockcount++;
liam_grazier 1:5b491fa83cb7 37 clockcountneg = clockcount - 1;
liam_grazier 1:5b491fa83cb7 38 }
liam_grazier 1:5b491fa83cb7 39 else
liam_grazier 1:5b491fa83cb7 40 {
liam_grazier 1:5b491fa83cb7 41 clockcount = 0;
liam_grazier 1:5b491fa83cb7 42 clockcount++;
liam_grazier 1:5b491fa83cb7 43 }
liam_grazier 1:5b491fa83cb7 44 if(clockcount == 1){
liam_grazier 1:5b491fa83cb7 45 storedduration = duration;
liam_grazier 1:5b491fa83cb7 46 }
liam_grazier 1:5b491fa83cb7 47 pc.printf("%i \n\r",clockcount);
liam_grazier 1:5b491fa83cb7 48 fire();
liam_grazier 1:5b491fa83cb7 49 //getfaderdata
liam_grazier 1:5b491fa83cb7 50 if(clockcount == 1 && storedduration == 1){
liam_grazier 1:5b491fa83cb7 51 allledoff();
liam_grazier 1:5b491fa83cb7 52 getfaderdata();
liam_grazier 1:5b491fa83cb7 53 //tempo calculations
liam_grazier 1:5b491fa83cb7 54 gettempodata();
liam_grazier 1:5b491fa83cb7 55 //note calculations
liam_grazier 1:5b491fa83cb7 56 sumprobabilitynotes();
liam_grazier 1:5b491fa83cb7 57 randomgeneratenotes();
liam_grazier 1:5b491fa83cb7 58 determinenotes();
liam_grazier 1:5b491fa83cb7 59 //octive calculation
liam_grazier 1:5b491fa83cb7 60 sumprobabilityoctives();
liam_grazier 1:5b491fa83cb7 61 randomgenerateoctives();
liam_grazier 1:5b491fa83cb7 62 determineoctives();
liam_grazier 1:5b491fa83cb7 63 //duration calculation
liam_grazier 1:5b491fa83cb7 64 sumprobabilityduration();
liam_grazier 1:5b491fa83cb7 65 randomgenerateduration();
liam_grazier 1:5b491fa83cb7 66 determineduration();
liam_grazier 1:5b491fa83cb7 67 outputdecision();
liam_grazier 1:5b491fa83cb7 68 }
liam_grazier 1:5b491fa83cb7 69 if(clockcount == storedduration-1){
liam_grazier 1:5b491fa83cb7 70 allledoff();
liam_grazier 1:5b491fa83cb7 71 getfaderdata();
liam_grazier 1:5b491fa83cb7 72 //tempo calculations
liam_grazier 1:5b491fa83cb7 73 gettempodata();
liam_grazier 1:5b491fa83cb7 74 //note calculations
liam_grazier 1:5b491fa83cb7 75 sumprobabilitynotes();
liam_grazier 1:5b491fa83cb7 76 randomgeneratenotes();
liam_grazier 1:5b491fa83cb7 77 determinenotes();
liam_grazier 1:5b491fa83cb7 78 //octive calculation
liam_grazier 1:5b491fa83cb7 79 sumprobabilityoctives();
liam_grazier 1:5b491fa83cb7 80 randomgenerateoctives();
liam_grazier 1:5b491fa83cb7 81 determineoctives();
liam_grazier 1:5b491fa83cb7 82 //duration calculation
liam_grazier 1:5b491fa83cb7 83 sumprobabilityduration();
liam_grazier 1:5b491fa83cb7 84 randomgenerateduration();
liam_grazier 1:5b491fa83cb7 85 determineduration();
liam_grazier 1:5b491fa83cb7 86 outputdecision();
liam_grazier 0:951442bd3f7f 87
liam_grazier 1:5b491fa83cb7 88 }
liam_grazier 1:5b491fa83cb7 89 // pc.printf("NOTE: %i OCTIVE: %i DURATION: %i \n\r",note,octive,duration);
liam_grazier 1:5b491fa83cb7 90 // pc.printf("abstemmp %f \n\r",abstempo);
liam_grazier 1:5b491fa83cb7 91 if(clockcount == storedduration && sumnotes > 1){
liam_grazier 1:5b491fa83cb7 92 senddacout();
liam_grazier 1:5b491fa83cb7 93 trigout = 1;
liam_grazier 1:5b491fa83cb7 94 wait(0.0001);
liam_grazier 1:5b491fa83cb7 95 trigout = 0;
liam_grazier 1:5b491fa83cb7 96 wait(0.0001);
liam_grazier 1:5b491fa83cb7 97 clockcount = 0;
liam_grazier 1:5b491fa83cb7 98 }
liam_grazier 1:5b491fa83cb7 99 if(clockcount == 1 && storedduration == 1){
liam_grazier 1:5b491fa83cb7 100 updateled();
liam_grazier 1:5b491fa83cb7 101 }
liam_grazier 1:5b491fa83cb7 102 if(clockcount == storedduration-1){
liam_grazier 1:5b491fa83cb7 103 updateled();
liam_grazier 1:5b491fa83cb7 104 }
liam_grazier 1:5b491fa83cb7 105 }
liam_grazier 0:951442bd3f7f 106 int main() {
liam_grazier 1:5b491fa83cb7 107 clockin.mode(PullUp);
liam_grazier 1:5b491fa83cb7 108 clockin.fall(&firetrig);
liam_grazier 1:5b491fa83cb7 109 dac.format(8,0);
liam_grazier 0:951442bd3f7f 110 dac.frequency(50000000);
liam_grazier 1:5b491fa83cb7 111 pc.baud(115200);
liam_grazier 1:5b491fa83cb7 112 allledoff();
liam_grazier 1:5b491fa83cb7 113 updateled();
liam_grazier 1:5b491fa83cb7 114 runonce();
liam_grazier 1:5b491fa83cb7 115 while(1) {
liam_grazier 1:5b491fa83cb7 116 //pc.printf("%i \n\r",targetnumber);
liam_grazier 1:5b491fa83cb7 117 //pc.printf("SO %f \n\r",sumoctives);
liam_grazier 1:5b491fa83cb7 118
liam_grazier 0:951442bd3f7f 119 }
liam_grazier 1:5b491fa83cb7 120 }