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: LUTs/LUTS.cpp
- Revision:
- 31:cfdb014ff086
- Parent:
- 30:08cc4ec58d07
--- a/LUTs/LUTS.cpp Tue May 26 10:17:47 2020 +0000
+++ b/LUTs/LUTS.cpp Tue May 26 14:21:36 2020 +0000
@@ -21,8 +21,8 @@
void LUTs::sin_wavetable()
{
//printf("Generating sin Wavetable \n");
- for (int i=0; i<1024; i++) {
- sin_d= 65535*(0.5*sin(2.0*PI*(i/1024.0))+0.5);
+ for (int i=0; i<1024; i++) { //Size of table
+ sin_d= 65535*(0.5*sin(2.0*PI*(i/1024.0))+0.5); //Genrate Value
rem= fmod(sin_d,1); //calculates remainder for rounding
//printf("preround= %g -", sin_d); //DEBUG
if (rem>=0.5) {
@@ -31,70 +31,70 @@
sin_d= floor(sin_d-rem); //round DOWN
}
// printf("Postround= %g -",sin_d); //DEBUG
- sin_u=((uint16_t)sin_d);
+ sin_u=((uint16_t)sin_d); //Value converted to unsigned
//printf("sin_u= %u \n", sin_u);
- sin_wavtable[i]=sin_u;
+ sin_wavtable[i]=sin_u;//Sets in Global Variable
//sin_wavtable[i]=get_sin(i);
}
- /*//DEBUG
+ #ifdef SLOW_TIME
for (int i=0; i<1024; i=i+128) {
- printf("sin_wav[%d]= %u \n", i, sin_wavtable);
- } */
+ printf("sin_wav[%d]= %u \n", i, sin_wavtable); //prints Key values
+ }
+ #endif
}
void LUTs::tri_wavetable(int pulsewidth)
{
//printf("Generating Tri-wavetable\n");
- tri_wavtable[0]=0;
- rise_t=(pulsewidth*1024/100);
+ tri_wavtable[0]=0; //sets 0 value
+ rise_t=(pulsewidth*1024/100); //Calculates rise samples
rise_tu=(uint16_t)rise_t;
- fall_tu=1024-rise_tu;
- dif=65536/rise_t;
- dif_u=(uint16_t)dif;
+ fall_tu=1024-rise_tu; //Calculates fall samples
+ dif=65536/rise_t; //Calculates Rise Dif
+ dif_u=(uint16_t)dif; //converts to uint
- #ifdef SLOW_TIME
+ #ifdef SLOW_TIME //Prints Values in SLOW_TIME case
printf("PRINTING TRI WAVETABLE Values\n");
printf("PW= %d \n",pulsewidth);
printf("Rise Samples= %u\n", rise_tu);
printf("Fall Samples= %u\n", fall_tu);
printf("UP sample dif= %u\n", dif_u);
#endif
- for (int i=1; i<=rise_tu; i++) {
+ for (int i=1; i<=rise_tu; i++) { //Generates Rise Points
tri_wavtable[i]=tri_wavtable[i-1]+dif_u;
}
- dif=65536/fall_tu;
+ dif=65536/fall_tu; //Calcualtes Fall Diff
dif_u=(uint16_t)dif;
#ifdef SLOW_TIME
- //printf("down sample dif= %u\n", dif_u);
+ printf("down sample dif= %u\n", dif_u);
#endif
- for (int i=rise_tu; i<1024; i++) {
+ for (int i=rise_tu; i<1024; i++) { //Generates Fall Points
tri_wavtable[i]=65535-((i-rise_tu)*dif_u);
}
-
#ifdef SLOW_TIME
- //tri_wav_results();
+ tri_wav_results();//Prints Key Results
#endif
}
void LUTs::pulse_wavetable(int pulsewidth)
{
- printf("Generating Pulse-wavetable\n");
- up_t=(pulsewidth*1024/100);
+ //printf("Generating Pulse-wavetable\n");
+ up_t=(pulsewidth*1024/100); //Samples Up
up_tu=(uint16_t)up_t;
- for (int i=0; i<=up_tu; i++) {
- pulse_wavtable[i]=58981;
+ for (int i=0; i<=up_tu; i++) { //Until Down
+ pulse_wavtable[i]=58981; //Headroom to normalise Volume
//printf("up itt = %d\n",i);
}
- for (int i=up_tu+1; i<1024; i++) {
- pulse_wavtable[i]=6553;
+ for (int i=up_tu+1; i<1024; i++) { //Until Over
+ pulse_wavtable[i]=6553; //HEadroom Included
//printf("down itt = %d\n",i);
}
}
-void LUTs::tri_wav_results() {
+void LUTs::tri_wav_results() { //Prints Results
printf("TRI_WAV_RESULTS:\n");
printf("i,out\n");
for (i=0; i<=1024; i=i+64) {