Buzzer class with note definitions and custom song functionality

Committer:
Elefantul_umilit
Date:
Mon Feb 20 11:20:16 2017 +0000
Revision:
0:b530d1a3290f
Buzzer class

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Elefantul_umilit 0:b530d1a3290f 1 #ifndef _TONES_H_
Elefantul_umilit 0:b530d1a3290f 2 #define _TONES_H_
Elefantul_umilit 0:b530d1a3290f 3
Elefantul_umilit 0:b530d1a3290f 4 /*
Elefantul_umilit 0:b530d1a3290f 5 8 octaves
Elefantul_umilit 0:b530d1a3290f 6 */
Elefantul_umilit 0:b530d1a3290f 7
Elefantul_umilit 0:b530d1a3290f 8 #define USE_FLOAT //if float accuracy is to much, comment this. int roundigs will be used
Elefantul_umilit 0:b530d1a3290f 9 //note and frequency
Elefantul_umilit 0:b530d1a3290f 10 #ifdef USE_FLOAT
Elefantul_umilit 0:b530d1a3290f 11 #define P 1 //pause
Elefantul_umilit 0:b530d1a3290f 12 #define C0 16.35
Elefantul_umilit 0:b530d1a3290f 13 #define Db0 17.32
Elefantul_umilit 0:b530d1a3290f 14 #define D0 18.35
Elefantul_umilit 0:b530d1a3290f 15 #define Eb0 19.45
Elefantul_umilit 0:b530d1a3290f 16 #define E0 20.60
Elefantul_umilit 0:b530d1a3290f 17 #define F0 21.83
Elefantul_umilit 0:b530d1a3290f 18 #define Gb0 23.12
Elefantul_umilit 0:b530d1a3290f 19 #define G0 24.50
Elefantul_umilit 0:b530d1a3290f 20 #define Ab0 25.96
Elefantul_umilit 0:b530d1a3290f 21 #define A0 27.50
Elefantul_umilit 0:b530d1a3290f 22 #define Bb0 29.14
Elefantul_umilit 0:b530d1a3290f 23 #define B0 30.87
Elefantul_umilit 0:b530d1a3290f 24 #define C1 32.70
Elefantul_umilit 0:b530d1a3290f 25 #define Db1 34.65
Elefantul_umilit 0:b530d1a3290f 26 #define D1 36.71
Elefantul_umilit 0:b530d1a3290f 27 #define Eb1 38.89
Elefantul_umilit 0:b530d1a3290f 28 #define E1 41.20
Elefantul_umilit 0:b530d1a3290f 29 #define F1 43.65
Elefantul_umilit 0:b530d1a3290f 30 #define Gb1 46.25
Elefantul_umilit 0:b530d1a3290f 31 #define G1 49.00
Elefantul_umilit 0:b530d1a3290f 32 #define Ab1 51.91
Elefantul_umilit 0:b530d1a3290f 33 #define A1 55.00
Elefantul_umilit 0:b530d1a3290f 34 #define Bb1 58.27
Elefantul_umilit 0:b530d1a3290f 35 #define B1 61.74
Elefantul_umilit 0:b530d1a3290f 36 #define C2 65.41
Elefantul_umilit 0:b530d1a3290f 37 #define Db2 69.30
Elefantul_umilit 0:b530d1a3290f 38 #define D2 73.42
Elefantul_umilit 0:b530d1a3290f 39 #define Eb2 77.78
Elefantul_umilit 0:b530d1a3290f 40 #define E2 82.41
Elefantul_umilit 0:b530d1a3290f 41 #define F2 87.31
Elefantul_umilit 0:b530d1a3290f 42 #define Gb2 92.50
Elefantul_umilit 0:b530d1a3290f 43 #define G2 98.00
Elefantul_umilit 0:b530d1a3290f 44 #define Ab2 103.83
Elefantul_umilit 0:b530d1a3290f 45 #define A2 110.00
Elefantul_umilit 0:b530d1a3290f 46 #define Bb2 116.54
Elefantul_umilit 0:b530d1a3290f 47 #define B2 123.47
Elefantul_umilit 0:b530d1a3290f 48 #define C3 130.81
Elefantul_umilit 0:b530d1a3290f 49 #define Db3 138.59
Elefantul_umilit 0:b530d1a3290f 50 #define D3 146.83
Elefantul_umilit 0:b530d1a3290f 51 #define Eb3 155.56
Elefantul_umilit 0:b530d1a3290f 52 #define E3 164.81
Elefantul_umilit 0:b530d1a3290f 53 #define F3 174.61
Elefantul_umilit 0:b530d1a3290f 54 #define Gb3 185.00
Elefantul_umilit 0:b530d1a3290f 55 #define G3 196.00
Elefantul_umilit 0:b530d1a3290f 56 #define Ab3 207.65
Elefantul_umilit 0:b530d1a3290f 57 #define A3 220.00
Elefantul_umilit 0:b530d1a3290f 58 #define Bb3 233.08
Elefantul_umilit 0:b530d1a3290f 59 #define B3 246.94
Elefantul_umilit 0:b530d1a3290f 60 #define C4 261.63
Elefantul_umilit 0:b530d1a3290f 61 #define Db4 277.18
Elefantul_umilit 0:b530d1a3290f 62 #define D4 293.66
Elefantul_umilit 0:b530d1a3290f 63 #define Eb4 311.13
Elefantul_umilit 0:b530d1a3290f 64 #define E4 329.63
Elefantul_umilit 0:b530d1a3290f 65 #define F4 349.23
Elefantul_umilit 0:b530d1a3290f 66 #define Gb4 369.99
Elefantul_umilit 0:b530d1a3290f 67 #define G4 392.00
Elefantul_umilit 0:b530d1a3290f 68 #define Ab4 415.30
Elefantul_umilit 0:b530d1a3290f 69 #define A4 440.00
Elefantul_umilit 0:b530d1a3290f 70 #define Bb4 466.16
Elefantul_umilit 0:b530d1a3290f 71 #define B4 493.88
Elefantul_umilit 0:b530d1a3290f 72 #define C5 523.25
Elefantul_umilit 0:b530d1a3290f 73 #define Db5 554.37
Elefantul_umilit 0:b530d1a3290f 74 #define D5 587.33
Elefantul_umilit 0:b530d1a3290f 75 #define Eb5 622.25
Elefantul_umilit 0:b530d1a3290f 76 #define E5 659.25
Elefantul_umilit 0:b530d1a3290f 77 #define F5 698.46
Elefantul_umilit 0:b530d1a3290f 78 #define Gb5 739.99
Elefantul_umilit 0:b530d1a3290f 79 #define G5 783.99
Elefantul_umilit 0:b530d1a3290f 80 #define Ab5 830.61
Elefantul_umilit 0:b530d1a3290f 81 #define A5 880.00
Elefantul_umilit 0:b530d1a3290f 82 #define Bb5 932.33
Elefantul_umilit 0:b530d1a3290f 83 #define B5 987.77
Elefantul_umilit 0:b530d1a3290f 84 #define C6 1046.50
Elefantul_umilit 0:b530d1a3290f 85 #define Db6 1108.73
Elefantul_umilit 0:b530d1a3290f 86 #define D6 1174.66
Elefantul_umilit 0:b530d1a3290f 87 #define Eb6 1244.51
Elefantul_umilit 0:b530d1a3290f 88 #define E6 1318.51
Elefantul_umilit 0:b530d1a3290f 89 #define F6 1396.91
Elefantul_umilit 0:b530d1a3290f 90 #define Gb6 1479.98
Elefantul_umilit 0:b530d1a3290f 91 #define G6 1567.98
Elefantul_umilit 0:b530d1a3290f 92 #define Ab6 1661.22
Elefantul_umilit 0:b530d1a3290f 93 #define A6 1760.00
Elefantul_umilit 0:b530d1a3290f 94 #define Bb6 1864.66
Elefantul_umilit 0:b530d1a3290f 95 #define B6 1975.53
Elefantul_umilit 0:b530d1a3290f 96 #define C7 2093.00
Elefantul_umilit 0:b530d1a3290f 97 #define Db7 2217.46
Elefantul_umilit 0:b530d1a3290f 98 #define D7 2349.32
Elefantul_umilit 0:b530d1a3290f 99 #define Eb7 2489.02
Elefantul_umilit 0:b530d1a3290f 100 #define E7 2637.02
Elefantul_umilit 0:b530d1a3290f 101 #define F7 2793.83
Elefantul_umilit 0:b530d1a3290f 102 #define Gb7 2959.96
Elefantul_umilit 0:b530d1a3290f 103 #define G7 3135.96
Elefantul_umilit 0:b530d1a3290f 104 #define Ab7 3322.44
Elefantul_umilit 0:b530d1a3290f 105 #define A7 3520.00
Elefantul_umilit 0:b530d1a3290f 106 #define Bb7 3729.31
Elefantul_umilit 0:b530d1a3290f 107 #define B7 3951.07
Elefantul_umilit 0:b530d1a3290f 108 #define C8 4186.01
Elefantul_umilit 0:b530d1a3290f 109 #define Db8 4434.92
Elefantul_umilit 0:b530d1a3290f 110 #define D8 4698.63
Elefantul_umilit 0:b530d1a3290f 111 #define Eb8 4978.03
Elefantul_umilit 0:b530d1a3290f 112 #define E8 5274.04
Elefantul_umilit 0:b530d1a3290f 113 #define F8 5587.65
Elefantul_umilit 0:b530d1a3290f 114 #define Gb8 5919.91
Elefantul_umilit 0:b530d1a3290f 115 #define G8 6271.93
Elefantul_umilit 0:b530d1a3290f 116 #define Ab8 6644.88
Elefantul_umilit 0:b530d1a3290f 117 #define A8 7040.00
Elefantul_umilit 0:b530d1a3290f 118 #define Bb8 7458.62
Elefantul_umilit 0:b530d1a3290f 119 #define B8 7902.13
Elefantul_umilit 0:b530d1a3290f 120 #else //use int
Elefantul_umilit 0:b530d1a3290f 121 #define P 0 //pause
Elefantul_umilit 0:b530d1a3290f 122 #define C0 16
Elefantul_umilit 0:b530d1a3290f 123 #define Db0 17
Elefantul_umilit 0:b530d1a3290f 124 #define D0 18
Elefantul_umilit 0:b530d1a3290f 125 #define Eb0 19
Elefantul_umilit 0:b530d1a3290f 126 #define E0 21
Elefantul_umilit 0:b530d1a3290f 127 #define F0 22
Elefantul_umilit 0:b530d1a3290f 128 #define Gb0 23
Elefantul_umilit 0:b530d1a3290f 129 #define G0 24
Elefantul_umilit 0:b530d1a3290f 130 #define Ab0 26
Elefantul_umilit 0:b530d1a3290f 131 #define A0 27
Elefantul_umilit 0:b530d1a3290f 132 #define Bb0 29
Elefantul_umilit 0:b530d1a3290f 133 #define B0 31
Elefantul_umilit 0:b530d1a3290f 134 #define C1 33
Elefantul_umilit 0:b530d1a3290f 135 #define Db1 35
Elefantul_umilit 0:b530d1a3290f 136 #define D1 37
Elefantul_umilit 0:b530d1a3290f 137 #define Eb1 39
Elefantul_umilit 0:b530d1a3290f 138 #define E1 41
Elefantul_umilit 0:b530d1a3290f 139 #define F1 44
Elefantul_umilit 0:b530d1a3290f 140 #define Gb1 46
Elefantul_umilit 0:b530d1a3290f 141 #define G1 49
Elefantul_umilit 0:b530d1a3290f 142 #define Ab1 52
Elefantul_umilit 0:b530d1a3290f 143 #define A1 55
Elefantul_umilit 0:b530d1a3290f 144 #define Bb1 58
Elefantul_umilit 0:b530d1a3290f 145 #define B1 62
Elefantul_umilit 0:b530d1a3290f 146 #define C2 65
Elefantul_umilit 0:b530d1a3290f 147 #define Db2 69
Elefantul_umilit 0:b530d1a3290f 148 #define D2 73
Elefantul_umilit 0:b530d1a3290f 149 #define Eb2 78
Elefantul_umilit 0:b530d1a3290f 150 #define E2 82
Elefantul_umilit 0:b530d1a3290f 151 #define F2 87
Elefantul_umilit 0:b530d1a3290f 152 #define Gb2 92
Elefantul_umilit 0:b530d1a3290f 153 #define G2 98
Elefantul_umilit 0:b530d1a3290f 154 #define Ab2 104
Elefantul_umilit 0:b530d1a3290f 155 #define A2 110
Elefantul_umilit 0:b530d1a3290f 156 #define Bb2 117
Elefantul_umilit 0:b530d1a3290f 157 #define B2 123
Elefantul_umilit 0:b530d1a3290f 158 #define C3 131
Elefantul_umilit 0:b530d1a3290f 159 #define Db3 139
Elefantul_umilit 0:b530d1a3290f 160 #define D3 147
Elefantul_umilit 0:b530d1a3290f 161 #define Eb3 156
Elefantul_umilit 0:b530d1a3290f 162 #define E3 165
Elefantul_umilit 0:b530d1a3290f 163 #define F3 175
Elefantul_umilit 0:b530d1a3290f 164 #define Gb3 185
Elefantul_umilit 0:b530d1a3290f 165 #define G3 196
Elefantul_umilit 0:b530d1a3290f 166 #define Ab3 208
Elefantul_umilit 0:b530d1a3290f 167 #define A3 220
Elefantul_umilit 0:b530d1a3290f 168 #define Bb3 233
Elefantul_umilit 0:b530d1a3290f 169 #define B3 247
Elefantul_umilit 0:b530d1a3290f 170 #define C4 262
Elefantul_umilit 0:b530d1a3290f 171 #define Db4 277
Elefantul_umilit 0:b530d1a3290f 172 #define D4 294
Elefantul_umilit 0:b530d1a3290f 173 #define Eb4 311
Elefantul_umilit 0:b530d1a3290f 174 #define E4 330
Elefantul_umilit 0:b530d1a3290f 175 #define F4 349
Elefantul_umilit 0:b530d1a3290f 176 #define Gb4 370
Elefantul_umilit 0:b530d1a3290f 177 #define G4 392
Elefantul_umilit 0:b530d1a3290f 178 #define Ab4 415
Elefantul_umilit 0:b530d1a3290f 179 #define A4 440
Elefantul_umilit 0:b530d1a3290f 180 #define Bb4 466
Elefantul_umilit 0:b530d1a3290f 181 #define B4 494
Elefantul_umilit 0:b530d1a3290f 182 #define C5 523
Elefantul_umilit 0:b530d1a3290f 183 #define Db5 554
Elefantul_umilit 0:b530d1a3290f 184 #define D5 587
Elefantul_umilit 0:b530d1a3290f 185 #define Eb5 622
Elefantul_umilit 0:b530d1a3290f 186 #define E5 659
Elefantul_umilit 0:b530d1a3290f 187 #define F5 698
Elefantul_umilit 0:b530d1a3290f 188 #define Gb5 740
Elefantul_umilit 0:b530d1a3290f 189 #define G5 784
Elefantul_umilit 0:b530d1a3290f 190 #define Ab5 831
Elefantul_umilit 0:b530d1a3290f 191 #define A5 880
Elefantul_umilit 0:b530d1a3290f 192 #define Bb5 932
Elefantul_umilit 0:b530d1a3290f 193 #define B5 988
Elefantul_umilit 0:b530d1a3290f 194 #define C6 1046
Elefantul_umilit 0:b530d1a3290f 195 #define Db6 1109
Elefantul_umilit 0:b530d1a3290f 196 #define D6 1175
Elefantul_umilit 0:b530d1a3290f 197 #define Eb6 1245
Elefantul_umilit 0:b530d1a3290f 198 #define E6 1319
Elefantul_umilit 0:b530d1a3290f 199 #define F6 1397
Elefantul_umilit 0:b530d1a3290f 200 #define Gb6 1480
Elefantul_umilit 0:b530d1a3290f 201 #define G6 1568
Elefantul_umilit 0:b530d1a3290f 202 #define Ab6 1661
Elefantul_umilit 0:b530d1a3290f 203 #define A6 1760
Elefantul_umilit 0:b530d1a3290f 204 #define Bb6 1865
Elefantul_umilit 0:b530d1a3290f 205 #define B6 1976
Elefantul_umilit 0:b530d1a3290f 206 #define C7 2093
Elefantul_umilit 0:b530d1a3290f 207 #define Db7 2217
Elefantul_umilit 0:b530d1a3290f 208 #define D7 2349
Elefantul_umilit 0:b530d1a3290f 209 #define Eb7 2489
Elefantul_umilit 0:b530d1a3290f 210 #define E7 2637
Elefantul_umilit 0:b530d1a3290f 211 #define F7 2794
Elefantul_umilit 0:b530d1a3290f 212 #define Gb7 2960
Elefantul_umilit 0:b530d1a3290f 213 #define G7 3136
Elefantul_umilit 0:b530d1a3290f 214 #define Ab7 3322
Elefantul_umilit 0:b530d1a3290f 215 #define A7 3520
Elefantul_umilit 0:b530d1a3290f 216 #define Bb7 3729
Elefantul_umilit 0:b530d1a3290f 217 #define B7 3951
Elefantul_umilit 0:b530d1a3290f 218 #define C8 4186
Elefantul_umilit 0:b530d1a3290f 219 #define Db8 4435
Elefantul_umilit 0:b530d1a3290f 220 #define D8 4699
Elefantul_umilit 0:b530d1a3290f 221 #define Eb8 4978
Elefantul_umilit 0:b530d1a3290f 222 #define E8 5274
Elefantul_umilit 0:b530d1a3290f 223 #define F8 5588
Elefantul_umilit 0:b530d1a3290f 224 #define Gb8 5920
Elefantul_umilit 0:b530d1a3290f 225 #define G8 6272
Elefantul_umilit 0:b530d1a3290f 226 #define Ab8 6645
Elefantul_umilit 0:b530d1a3290f 227 #define A8 7040
Elefantul_umilit 0:b530d1a3290f 228 #define Bb8 7459
Elefantul_umilit 0:b530d1a3290f 229 #define B8 7902
Elefantul_umilit 0:b530d1a3290f 230 #endif
Elefantul_umilit 0:b530d1a3290f 231
Elefantul_umilit 0:b530d1a3290f 232 #endif
Elefantul_umilit 0:b530d1a3290f 233