Michael T. Yarnell / Mbed OS Hexi_Acceleromagnetic_Synth

Dependencies:   FXOS8700 Hexi_KW40Z NeatGUI PWM_6_Tone_Library

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers pwm_6_tone.h Source File

pwm_6_tone.h

00001 /* Modified as part of "Hexi_Acceleromagnetic_Synth"
00002     2017 Michael Yarnell, Alec Pierce
00003     Class Project: ECE49500 SP17 (MEMS/NEMS/IoT/Wearables)
00004     IUPUI - Purdue School of Engineering and Technology
00005 
00006     Octaves 1, 2, and 6 were added after calculation based on 3, 4, and 5.
00007 
00008 ** Includes ------------------------------------------------------------------*/
00009 #include "mbed.h"
00010 
00011 /* Private typedef -----------------------------------------------------------*/
00012 /* Private define ------------------------------------------------------------*/
00013 #define Do1  33 //C octave1
00014 #define Do1s 35 //C#
00015 #define Re1  37 //D
00016 #define Re1s 39 //D#
00017 #define Mi1  41 //E
00018 #define Fa1  44 //F
00019 #define Fa1s 46 //F#
00020 #define So1  49 //G
00021 #define So1s 52 //G#
00022 #define La1  55 //A
00023 #define La1s 58 //A#
00024 #define Ti1  62 //B
00025 
00026 #define Do2  66 //C octave2
00027 #define Do2s 69 //C#
00028 #define Re2  74 //D
00029 #define Re2s 78 //D#
00030 #define Mi2  83 //E
00031 #define Fa2  87 //F
00032 #define Fa2s 93 //F#
00033 #define So2  98 //G
00034 #define So2s 104 //G#
00035 #define La2  110 //A
00036 #define La2s 117 //A#
00037 #define Ti2  124 //B
00038 
00039 #define Do3  131 //C octave3
00040 #define Do3s 139 //C#
00041 #define Re3  147 //D
00042 #define Re3s 156//D#
00043 #define Mi3  165 //E
00044 #define Fa3  175 //F
00045 #define Fa3s 185 //F#
00046 #define So3  196 //G
00047 #define So3s 208 //G#
00048 #define La3  220 //A
00049 #define La3s 233 //A#
00050 #define Ti3  247 //B
00051 
00052 #define Do4  262 //C octave4
00053 #define Do4s 277 //C#
00054 #define Re4  294 //D
00055 #define Re4s 311//D#
00056 #define Mi4  330 //E
00057 #define Fa4  349 //F
00058 #define Fa4s 370 //F#
00059 #define So4  392 //G
00060 #define So4s 415 //G#
00061 #define La4  440 //A
00062 #define La4s 466 //A#
00063 #define Ti4  494 //B
00064 
00065 #define Do5  523 //C octave5
00066 #define Do5s 554 //C#
00067 #define Re5  587 //D
00068 #define Re5s 622//D#
00069 #define Mi5  659 //E
00070 #define Fa5  699 //F
00071 #define Fa5s 740 //F#
00072 #define So5  784 //G
00073 #define So5s 831 //G#
00074 #define La5  880 //A
00075 #define La5s 932 //A#
00076 #define Ti5  988 //B
00077 
00078 #define Do6  1045 //C octave6
00079 #define Do6s 1107 //C#
00080 #define Re6  1173 //D
00081 #define Re6s 1243 //D#
00082 #define Mi6  1317 //E
00083 #define Fa6  1395 //F
00084 #define Fa6s 1478 //F#
00085 #define So6  1566 //G
00086 #define So6s 1659 //G#
00087 #define La6  1757 //A
00088 #define La6s 1861 //A#
00089 #define Ti6  1972 //B
00090 
00091 /* Private variables ---------------------------------------------------------*/
00092 /* Private function prototypes -----------------------------------------------*/
00093 void Tune(PwmOut name, int period, int beat);
00094 void Auto_tunes(PwmOut name, int period, int beat);
00095 void Stop_tunes(PwmOut name);
00096         
00097 /* Private functions ---------------------------------------------------------*/