Synthesizer / Mbed 2 deprecated DBSMUSICPROJ4

Dependencies:   mbed

main.cpp

Committer:
liam_grazier
Date:
2019-07-22
Revision:
1:5b491fa83cb7
Parent:
0:951442bd3f7f
Child:
3:086e556b57f9

File content as of revision 1:5b491fa83cb7:

#include "mbed.h"
#include "main.hpp"
#include "variables.hpp"
float abstempo = 0;
int clockcountneg;
int storedduration;
int runval;
    void fire(void){
    clockout = 1;
    wait(0.0001);
    clockout = 0;
    wait(0.0001);  
    }
void runonce(void){
    getfaderdata();  
  //tempo calculations
  gettempodata();
  //note calculations
  sumprobabilitynotes(); 
  randomgeneratenotes();
  determinenotes();
  
  //octive calculation 
  sumprobabilityoctives(); 
  randomgenerateoctives();
  determineoctives();
  
  //duration calculation
  sumprobabilityduration(); 
  randomgenerateduration();
  determineduration();
  outputdecision();
  }
void firetrig(void){ 
    if(clockcount<32){
    clockcount++;
    clockcountneg = clockcount - 1;
    }
    else
    {
    clockcount = 0;
    clockcount++;
    }
    if(clockcount == 1){
        storedduration = duration;
        }
    pc.printf("%i \n\r",clockcount);
    fire();
  //getfaderdata  
  if(clockcount == 1 && storedduration == 1){
  allledoff();
  getfaderdata(); 
  //tempo calculations
  gettempodata();
  //note calculations
  sumprobabilitynotes(); 
  randomgeneratenotes();
  determinenotes();
  //octive calculation 
  sumprobabilityoctives(); 
  randomgenerateoctives();
  determineoctives();
  //duration calculation
  sumprobabilityduration(); 
  randomgenerateduration();
  determineduration();
  outputdecision();
  }    
  if(clockcount == storedduration-1){
  allledoff();
  getfaderdata(); 
  //tempo calculations
  gettempodata();
  //note calculations
  sumprobabilitynotes(); 
  randomgeneratenotes();
  determinenotes();
  //octive calculation 
  sumprobabilityoctives(); 
  randomgenerateoctives();
  determineoctives();
  //duration calculation
  sumprobabilityduration(); 
  randomgenerateduration();
  determineduration();
  outputdecision();

  }
//  pc.printf("NOTE: %i OCTIVE: %i DURATION: %i \n\r",note,octive,duration);
//  pc.printf("abstemmp %f \n\r",abstempo);
  if(clockcount == storedduration && sumnotes > 1){
  senddacout();
  trigout = 1;
  wait(0.0001);
  trigout = 0;
  wait(0.0001);
  clockcount = 0;
    }
  if(clockcount == 1 && storedduration == 1){
      updateled();
      }
  if(clockcount == storedduration-1){
  updateled();
  }
  }
int main() {
    clockin.mode(PullUp);
    clockin.fall(&firetrig);
    dac.format(8,0);
    dac.frequency(50000000);
    pc.baud(115200);
    allledoff();
    updateled(); 
    runonce();
  while(1) { 
  //pc.printf("%i \n\r",targetnumber);
  //pc.printf("SO %f \n\r",sumoctives);

}
}