Hexi_Acceleromagnetic_Synth: Michael Yarnell, Alec Pierce, 2017 The program turns an NXP Hexiwear, its development board, and a Click buzzer collectively into an 'acceleromagnetic' synthesizer. That is to say that the synthesizer is controlled primarily via the on-board accelerometer and magnetometer units.

Dependencies:   FXOS8700 Hexi_KW40Z NeatGUI PWM_6_Tone_Library

Revision:
0:bec3a12e79e7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pwm_6_tone.h	Tue Apr 18 16:06:38 2017 +0000
@@ -0,0 +1,97 @@
+/* Modified as part of "Hexi_Acceleromagnetic_Synth"
+    2017 Michael Yarnell, Alec Pierce
+    Class Project: ECE49500 SP17 (MEMS/NEMS/IoT/Wearables)
+    IUPUI - Purdue School of Engineering and Technology
+
+    Octaves 1, 2, and 6 were added after calculation based on 3, 4, and 5.
+
+** Includes ------------------------------------------------------------------*/
+#include "mbed.h"
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+#define Do1  33 //C octave1
+#define Do1s 35 //C#
+#define Re1  37 //D
+#define Re1s 39 //D#
+#define Mi1  41 //E
+#define Fa1  44 //F
+#define Fa1s 46 //F#
+#define So1  49 //G
+#define So1s 52 //G#
+#define La1  55 //A
+#define La1s 58 //A#
+#define Ti1  62 //B
+
+#define Do2  66 //C octave2
+#define Do2s 69 //C#
+#define Re2  74 //D
+#define Re2s 78 //D#
+#define Mi2  83 //E
+#define Fa2  87 //F
+#define Fa2s 93 //F#
+#define So2  98 //G
+#define So2s 104 //G#
+#define La2  110 //A
+#define La2s 117 //A#
+#define Ti2  124 //B
+
+#define Do3  131 //C octave3
+#define Do3s 139 //C#
+#define Re3  147 //D
+#define Re3s 156//D#
+#define Mi3  165 //E
+#define Fa3  175 //F
+#define Fa3s 185 //F#
+#define So3  196 //G
+#define So3s 208 //G#
+#define La3  220 //A
+#define La3s 233 //A#
+#define Ti3  247 //B
+
+#define Do4  262 //C octave4
+#define Do4s 277 //C#
+#define Re4  294 //D
+#define Re4s 311//D#
+#define Mi4  330 //E
+#define Fa4  349 //F
+#define Fa4s 370 //F#
+#define So4  392 //G
+#define So4s 415 //G#
+#define La4  440 //A
+#define La4s 466 //A#
+#define Ti4  494 //B
+
+#define Do5  523 //C octave5
+#define Do5s 554 //C#
+#define Re5  587 //D
+#define Re5s 622//D#
+#define Mi5  659 //E
+#define Fa5  699 //F
+#define Fa5s 740 //F#
+#define So5  784 //G
+#define So5s 831 //G#
+#define La5  880 //A
+#define La5s 932 //A#
+#define Ti5  988 //B
+
+#define Do6  1045 //C octave6
+#define Do6s 1107 //C#
+#define Re6  1173 //D
+#define Re6s 1243 //D#
+#define Mi6  1317 //E
+#define Fa6  1395 //F
+#define Fa6s 1478 //F#
+#define So6  1566 //G
+#define So6s 1659 //G#
+#define La6  1757 //A
+#define La6s 1861 //A#
+#define Ti6  1972 //B
+
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+void Tune(PwmOut name, int period, int beat);
+void Auto_tunes(PwmOut name, int period, int beat);
+void Stop_tunes(PwmOut name);
+        
+/* Private functions ---------------------------------------------------------*/