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.
Diff: main.cpp
- Revision:
- 14:0fcc949310b7
- Parent:
- 13:29705e6bf718
- Child:
- 15:34ba7c2ef718
diff -r 29705e6bf718 -r 0fcc949310b7 main.cpp --- a/main.cpp Fri Dec 08 00:04:26 2017 +0000 +++ b/main.cpp Fri Dec 08 00:33:19 2017 +0000 @@ -101,8 +101,8 @@ testTone = (testTone + carrierIncrements[25]) & 0xffff; - for(int64_t i = 0ll ; i < numKeys; ++i){//for all keys - int64_t keymask = 0x00000001 << i; + for(int i = 0; i < numKeys; ++i){//for all keys + int64_t keymask = 0x00000001 << (long long)i; keypressed = (keyboard & keymask) != 0; CenvAmp = envelopeAmpsC[i]; MenvAmp = envelopeAmpsM[i]; @@ -144,27 +144,12 @@ envelopeAmpsC[i] = CenvAmp; envelopeAmpsM[i]= MenvAmp; - modulatorPhases[i] = (modulatorPhases[i] + ((carrierIncrements[i] * FMmult) >> 16)) & 0xffff; - modVal = fastSin(modulatorPhases[i]) * MenvAmp >> 16; - modVal = modVal * modVol >> 16; - - //debug - modVal = 0; - CenvAmp = keypressed ? 1 : 0; - - tempPhase = carrierPhases[i] + carrierIncrements[i]; - tempPhase = (tempPhase + modVal) & 0xffff; - carrierPhases[i] = tempPhase; - - carVal = fastSin(tempPhase) * CenvAmp >> 16; - - volumeSum += carVal; + volumeSum += carVal; } if(keyboard != 0ll) volumeSum += fastSin(testTone); volumeSum = volumeSum / numKeys; volumeSum = (volumeSum * Volume) >> 16; - //outMono.write_u16((volumeSum + Volume) > 1); volumeSum *= 8 * numKeys; volumeSum = (volumeSum > 32767) ? 32767 : volumeSum; volumeSum = (volumeSum < -32768) ? -32768 : volumeSum; @@ -180,6 +165,7 @@ int64_t keytemp = 0; + pc.printf("Starting up..."); FMmult = 1; Volume = 0; modVol = 0; @@ -204,6 +190,7 @@ keyBank.mode(PullNone); synthesisClock.attach(synthesize, 0.000025);//debug + pc.printf("done.\r\n"); while(true){ ratNumer = 0xf & ~ numerator; ratDenom = 0xf & ~ denominator; @@ -246,7 +233,7 @@ modR = 0xffff; else modR = 0xffff / ((int)inModR.read_u16()); - + keytemp = 0; //zero the keys before we start ORing on top of everything for(int i = 0; i < 9; ++i) { @@ -260,8 +247,6 @@ keyboard = keytemp; - - wait_ms(5); } }