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

Committer:
MTYarnell
Date:
Tue Apr 18 16:06:38 2017 +0000
Revision:
0:bec3a12e79e7
Final build without hardware changes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MTYarnell 0:bec3a12e79e7 1 /* Modified as part of "Hexi_Acceleromagnetic_Synth"
MTYarnell 0:bec3a12e79e7 2 2017 Michael Yarnell, Alec Pierce
MTYarnell 0:bec3a12e79e7 3 Class Project: ECE49500 SP17 (MEMS/NEMS/IoT/Wearables)
MTYarnell 0:bec3a12e79e7 4 IUPUI - Purdue School of Engineering and Technology
MTYarnell 0:bec3a12e79e7 5
MTYarnell 0:bec3a12e79e7 6 Octaves 1, 2, and 6 were added after calculation based on 3, 4, and 5.
MTYarnell 0:bec3a12e79e7 7
MTYarnell 0:bec3a12e79e7 8 ** Includes ------------------------------------------------------------------*/
MTYarnell 0:bec3a12e79e7 9 #include "mbed.h"
MTYarnell 0:bec3a12e79e7 10
MTYarnell 0:bec3a12e79e7 11 /* Private typedef -----------------------------------------------------------*/
MTYarnell 0:bec3a12e79e7 12 /* Private define ------------------------------------------------------------*/
MTYarnell 0:bec3a12e79e7 13 #define Do1 33 //C octave1
MTYarnell 0:bec3a12e79e7 14 #define Do1s 35 //C#
MTYarnell 0:bec3a12e79e7 15 #define Re1 37 //D
MTYarnell 0:bec3a12e79e7 16 #define Re1s 39 //D#
MTYarnell 0:bec3a12e79e7 17 #define Mi1 41 //E
MTYarnell 0:bec3a12e79e7 18 #define Fa1 44 //F
MTYarnell 0:bec3a12e79e7 19 #define Fa1s 46 //F#
MTYarnell 0:bec3a12e79e7 20 #define So1 49 //G
MTYarnell 0:bec3a12e79e7 21 #define So1s 52 //G#
MTYarnell 0:bec3a12e79e7 22 #define La1 55 //A
MTYarnell 0:bec3a12e79e7 23 #define La1s 58 //A#
MTYarnell 0:bec3a12e79e7 24 #define Ti1 62 //B
MTYarnell 0:bec3a12e79e7 25
MTYarnell 0:bec3a12e79e7 26 #define Do2 66 //C octave2
MTYarnell 0:bec3a12e79e7 27 #define Do2s 69 //C#
MTYarnell 0:bec3a12e79e7 28 #define Re2 74 //D
MTYarnell 0:bec3a12e79e7 29 #define Re2s 78 //D#
MTYarnell 0:bec3a12e79e7 30 #define Mi2 83 //E
MTYarnell 0:bec3a12e79e7 31 #define Fa2 87 //F
MTYarnell 0:bec3a12e79e7 32 #define Fa2s 93 //F#
MTYarnell 0:bec3a12e79e7 33 #define So2 98 //G
MTYarnell 0:bec3a12e79e7 34 #define So2s 104 //G#
MTYarnell 0:bec3a12e79e7 35 #define La2 110 //A
MTYarnell 0:bec3a12e79e7 36 #define La2s 117 //A#
MTYarnell 0:bec3a12e79e7 37 #define Ti2 124 //B
MTYarnell 0:bec3a12e79e7 38
MTYarnell 0:bec3a12e79e7 39 #define Do3 131 //C octave3
MTYarnell 0:bec3a12e79e7 40 #define Do3s 139 //C#
MTYarnell 0:bec3a12e79e7 41 #define Re3 147 //D
MTYarnell 0:bec3a12e79e7 42 #define Re3s 156//D#
MTYarnell 0:bec3a12e79e7 43 #define Mi3 165 //E
MTYarnell 0:bec3a12e79e7 44 #define Fa3 175 //F
MTYarnell 0:bec3a12e79e7 45 #define Fa3s 185 //F#
MTYarnell 0:bec3a12e79e7 46 #define So3 196 //G
MTYarnell 0:bec3a12e79e7 47 #define So3s 208 //G#
MTYarnell 0:bec3a12e79e7 48 #define La3 220 //A
MTYarnell 0:bec3a12e79e7 49 #define La3s 233 //A#
MTYarnell 0:bec3a12e79e7 50 #define Ti3 247 //B
MTYarnell 0:bec3a12e79e7 51
MTYarnell 0:bec3a12e79e7 52 #define Do4 262 //C octave4
MTYarnell 0:bec3a12e79e7 53 #define Do4s 277 //C#
MTYarnell 0:bec3a12e79e7 54 #define Re4 294 //D
MTYarnell 0:bec3a12e79e7 55 #define Re4s 311//D#
MTYarnell 0:bec3a12e79e7 56 #define Mi4 330 //E
MTYarnell 0:bec3a12e79e7 57 #define Fa4 349 //F
MTYarnell 0:bec3a12e79e7 58 #define Fa4s 370 //F#
MTYarnell 0:bec3a12e79e7 59 #define So4 392 //G
MTYarnell 0:bec3a12e79e7 60 #define So4s 415 //G#
MTYarnell 0:bec3a12e79e7 61 #define La4 440 //A
MTYarnell 0:bec3a12e79e7 62 #define La4s 466 //A#
MTYarnell 0:bec3a12e79e7 63 #define Ti4 494 //B
MTYarnell 0:bec3a12e79e7 64
MTYarnell 0:bec3a12e79e7 65 #define Do5 523 //C octave5
MTYarnell 0:bec3a12e79e7 66 #define Do5s 554 //C#
MTYarnell 0:bec3a12e79e7 67 #define Re5 587 //D
MTYarnell 0:bec3a12e79e7 68 #define Re5s 622//D#
MTYarnell 0:bec3a12e79e7 69 #define Mi5 659 //E
MTYarnell 0:bec3a12e79e7 70 #define Fa5 699 //F
MTYarnell 0:bec3a12e79e7 71 #define Fa5s 740 //F#
MTYarnell 0:bec3a12e79e7 72 #define So5 784 //G
MTYarnell 0:bec3a12e79e7 73 #define So5s 831 //G#
MTYarnell 0:bec3a12e79e7 74 #define La5 880 //A
MTYarnell 0:bec3a12e79e7 75 #define La5s 932 //A#
MTYarnell 0:bec3a12e79e7 76 #define Ti5 988 //B
MTYarnell 0:bec3a12e79e7 77
MTYarnell 0:bec3a12e79e7 78 #define Do6 1045 //C octave6
MTYarnell 0:bec3a12e79e7 79 #define Do6s 1107 //C#
MTYarnell 0:bec3a12e79e7 80 #define Re6 1173 //D
MTYarnell 0:bec3a12e79e7 81 #define Re6s 1243 //D#
MTYarnell 0:bec3a12e79e7 82 #define Mi6 1317 //E
MTYarnell 0:bec3a12e79e7 83 #define Fa6 1395 //F
MTYarnell 0:bec3a12e79e7 84 #define Fa6s 1478 //F#
MTYarnell 0:bec3a12e79e7 85 #define So6 1566 //G
MTYarnell 0:bec3a12e79e7 86 #define So6s 1659 //G#
MTYarnell 0:bec3a12e79e7 87 #define La6 1757 //A
MTYarnell 0:bec3a12e79e7 88 #define La6s 1861 //A#
MTYarnell 0:bec3a12e79e7 89 #define Ti6 1972 //B
MTYarnell 0:bec3a12e79e7 90
MTYarnell 0:bec3a12e79e7 91 /* Private variables ---------------------------------------------------------*/
MTYarnell 0:bec3a12e79e7 92 /* Private function prototypes -----------------------------------------------*/
MTYarnell 0:bec3a12e79e7 93 void Tune(PwmOut name, int period, int beat);
MTYarnell 0:bec3a12e79e7 94 void Auto_tunes(PwmOut name, int period, int beat);
MTYarnell 0:bec3a12e79e7 95 void Stop_tunes(PwmOut name);
MTYarnell 0:bec3a12e79e7 96
MTYarnell 0:bec3a12e79e7 97 /* Private functions ---------------------------------------------------------*/