Buzzer class with note definitions and custom song functionality

Revision:
0:b530d1a3290f
diff -r 000000000000 -r b530d1a3290f Tones.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tones.h	Mon Feb 20 11:20:16 2017 +0000
@@ -0,0 +1,233 @@
+#ifndef _TONES_H_
+#define _TONES_H_
+
+/*
+8 octaves
+*/
+
+#define USE_FLOAT //if float accuracy is to much, comment this. int roundigs will be used
+//note and frequency
+#ifdef USE_FLOAT
+    #define P   1 //pause
+    #define C0  16.35
+    #define Db0 17.32
+    #define D0  18.35
+    #define Eb0 19.45
+    #define E0  20.60
+    #define F0  21.83
+    #define Gb0 23.12
+    #define G0  24.50
+    #define Ab0 25.96
+    #define A0  27.50
+    #define Bb0 29.14
+    #define B0  30.87
+    #define C1  32.70
+    #define Db1 34.65
+    #define D1  36.71
+    #define Eb1 38.89
+    #define E1  41.20
+    #define F1  43.65
+    #define Gb1 46.25
+    #define G1  49.00
+    #define Ab1 51.91
+    #define A1  55.00
+    #define Bb1 58.27
+    #define B1  61.74
+    #define C2  65.41
+    #define Db2 69.30
+    #define D2  73.42
+    #define Eb2 77.78
+    #define E2  82.41
+    #define F2  87.31
+    #define Gb2 92.50
+    #define G2  98.00
+    #define Ab2 103.83
+    #define A2  110.00
+    #define Bb2 116.54
+    #define B2  123.47
+    #define C3  130.81
+    #define Db3 138.59
+    #define D3  146.83
+    #define Eb3 155.56
+    #define E3  164.81
+    #define F3  174.61
+    #define Gb3 185.00
+    #define G3  196.00
+    #define Ab3 207.65
+    #define A3  220.00
+    #define Bb3 233.08
+    #define B3  246.94
+    #define C4  261.63
+    #define Db4 277.18
+    #define D4  293.66
+    #define Eb4 311.13
+    #define E4  329.63
+    #define F4  349.23
+    #define Gb4 369.99
+    #define G4  392.00
+    #define Ab4 415.30
+    #define A4  440.00
+    #define Bb4 466.16
+    #define B4  493.88
+    #define C5  523.25
+    #define Db5 554.37
+    #define D5  587.33
+    #define Eb5 622.25
+    #define E5  659.25
+    #define F5  698.46
+    #define Gb5 739.99
+    #define G5  783.99
+    #define Ab5 830.61
+    #define A5  880.00
+    #define Bb5 932.33
+    #define B5  987.77
+    #define C6  1046.50
+    #define Db6 1108.73
+    #define D6  1174.66
+    #define Eb6 1244.51
+    #define E6  1318.51
+    #define F6  1396.91
+    #define Gb6 1479.98
+    #define G6  1567.98
+    #define Ab6 1661.22
+    #define A6  1760.00
+    #define Bb6 1864.66
+    #define B6  1975.53
+    #define C7  2093.00
+    #define Db7 2217.46
+    #define D7  2349.32
+    #define Eb7 2489.02
+    #define E7  2637.02
+    #define F7  2793.83
+    #define Gb7 2959.96
+    #define G7  3135.96
+    #define Ab7 3322.44
+    #define A7  3520.00
+    #define Bb7 3729.31
+    #define B7  3951.07
+    #define C8  4186.01
+    #define Db8 4434.92
+    #define D8  4698.63
+    #define Eb8 4978.03
+    #define E8  5274.04
+    #define F8  5587.65
+    #define Gb8 5919.91
+    #define G8  6271.93
+    #define Ab8 6644.88
+    #define A8  7040.00
+    #define Bb8 7458.62
+    #define B8  7902.13
+#else //use int
+    #define P   0 //pause
+    #define C0  16
+    #define Db0 17
+    #define D0  18
+    #define Eb0 19
+    #define E0  21
+    #define F0  22
+    #define Gb0 23
+    #define G0  24
+    #define Ab0 26
+    #define A0  27
+    #define Bb0 29
+    #define B0  31
+    #define C1  33
+    #define Db1 35
+    #define D1  37
+    #define Eb1 39
+    #define E1  41
+    #define F1  44
+    #define Gb1 46
+    #define G1  49
+    #define Ab1 52
+    #define A1  55
+    #define Bb1 58
+    #define B1  62
+    #define C2  65
+    #define Db2 69
+    #define D2  73
+    #define Eb2 78
+    #define E2  82
+    #define F2  87
+    #define Gb2 92
+    #define G2  98
+    #define Ab2 104
+    #define A2  110
+    #define Bb2 117
+    #define B2  123
+    #define C3  131
+    #define Db3 139
+    #define D3  147
+    #define Eb3 156
+    #define E3  165
+    #define F3  175
+    #define Gb3 185
+    #define G3  196
+    #define Ab3 208
+    #define A3  220
+    #define Bb3 233
+    #define B3  247
+    #define C4  262
+    #define Db4 277
+    #define D4  294
+    #define Eb4 311
+    #define E4  330
+    #define F4  349
+    #define Gb4 370
+    #define G4  392
+    #define Ab4 415
+    #define A4  440
+    #define Bb4 466
+    #define B4  494
+    #define C5  523
+    #define Db5 554
+    #define D5  587
+    #define Eb5 622
+    #define E5  659
+    #define F5  698
+    #define Gb5 740
+    #define G5  784
+    #define Ab5 831
+    #define A5  880
+    #define Bb5 932
+    #define B5  988
+    #define C6  1046
+    #define Db6 1109
+    #define D6  1175
+    #define Eb6 1245
+    #define E6  1319
+    #define F6  1397
+    #define Gb6 1480
+    #define G6  1568
+    #define Ab6 1661
+    #define A6  1760
+    #define Bb6 1865
+    #define B6  1976
+    #define C7  2093
+    #define Db7 2217
+    #define D7  2349
+    #define Eb7 2489
+    #define E7  2637
+    #define F7  2794
+    #define Gb7 2960
+    #define G7  3136
+    #define Ab7 3322
+    #define A7  3520
+    #define Bb7 3729
+    #define B7  3951
+    #define C8  4186
+    #define Db8 4435
+    #define D8  4699
+    #define Eb8 4978
+    #define E8  5274
+    #define F8  5588
+    #define Gb8 5920
+    #define G8  6272
+    #define Ab8 6645
+    #define A8  7040
+    #define Bb8 7459
+    #define B8  7902
+#endif
+
+#endif
+