Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp
- Committer:
- liam_grazier
- Date:
- 2019-07-22
- Revision:
- 1:5b491fa83cb7
- Parent:
- 0:951442bd3f7f
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);
}
}