Corrected header file include guards.

Fork of hapticFeedback by HEL's Angels

Committer:
nathanhonka
Date:
Thu Jul 02 21:38:15 2015 +0000
Revision:
1:06fef55a7268
Parent:
0:ea2b9b15a433
Corrected header file include guards (did not encapsulate entire header).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
perr1940 0:ea2b9b15a433 1 //11/13/12 MM Made fix to haptic error where exo would freak out when it was in the sitting position and you commanded it to stand up
perr1940 0:ea2b9b15a433 2 #include "mbed.h"
perr1940 0:ea2b9b15a433 3 #include "HipControl.h"
perr1940 0:ea2b9b15a433 4 #include "hapticFeedback.h"
perr1940 0:ea2b9b15a433 5
perr1940 0:ea2b9b15a433 6 // arpeggio down (A E C# A) = f(880 659 554 440) = T(.0011363 .00151745 .00180505 .0022727)
perr1940 0:ea2b9b15a433 7 // doogie howser MD theme (A(high) A(high) A(Low) A(low) A(high) D#) = f(880 880 440 440 880 622) = T(.0011363 .0011363 .0022727 .0022727 .0011363 .0016077)
perr1940 0:ea2b9b15a433 8
perr1940 0:ea2b9b15a433 9 const float arpeggio[] = {.0011363, .00151745, .00180505, .0022727};
perr1940 0:ea2b9b15a433 10 const float arpeggio_t[] = {.1, .1, .1, .1};
perr1940 0:ea2b9b15a433 11 const float DH[] = {.0011363, .00005, .0011363, .00005, .0022727, .00005, .0022727, .00005, .0011363, .00005, .0016077}; // doogie howser periods
perr1940 0:ea2b9b15a433 12 const float DH_t[] = {.1, .05, .1, .05, .1, .05, .1, .05, .1, .05, .1};
perr1940 0:ea2b9b15a433 13 const float IronMan[] = {0.0010124,0.0008513,0.00005,0.0008513,0.00005,0.0007584,0.00005,0.0007584,0.0006378,0.0006757,0.0006378,0.0006757,0.0006378,0.0006757,0.0008513,0.000050,0.0008513,0.000050,.0007584,0.00005,0.0007584};
perr1940 0:ea2b9b15a433 14 const float IronMan_t[] = {.8,.5,.3,.3,.1,.3,.1,.4,.2,.2,.2,.2,.2,.2,.3,.1,.3,.1,.3,.1,.3};
perr1940 0:ea2b9b15a433 15 const float lockSound[] = {.0011363,.0022727};
perr1940 0:ea2b9b15a433 16 const float lockSound_t[] = {.3, .3};
perr1940 0:ea2b9b15a433 17 const float unlockSound[] = {.0022727,.0011363};
perr1940 0:ea2b9b15a433 18 const float unlockSound_t[] = {.2, .2};
perr1940 0:ea2b9b15a433 19 const float LowBatterySound[] = {.00151745,.00151745};
perr1940 0:ea2b9b15a433 20 const float LowBatterySound_t[] = {.1,.1};
perr1940 0:ea2b9b15a433 21 const short unsigned int IronMan_count=(sizeof(IronMan)/sizeof(IronMan[0]))-1;
perr1940 0:ea2b9b15a433 22 const short unsigned int arpeggio_count=(sizeof(arpeggio)/sizeof(arpeggio[0]))-1;
perr1940 0:ea2b9b15a433 23 const short unsigned int DH_count=(sizeof(DH)/sizeof(DH[0]))-1;
perr1940 0:ea2b9b15a433 24 const short unsigned int lockSound_count=(sizeof(lockSound)/sizeof(lockSound[0]))-1;
perr1940 0:ea2b9b15a433 25 const short unsigned int unlockSound_count=(sizeof(unlockSound)/sizeof(unlockSound[0]))-1;
perr1940 0:ea2b9b15a433 26
perr1940 0:ea2b9b15a433 27
perr1940 0:ea2b9b15a433 28 bool hapticOn = false;
perr1940 0:ea2b9b15a433 29 int buzzMode;
perr1940 0:ea2b9b15a433 30
perr1940 0:ea2b9b15a433 31 MotorMusic::MotorMusic(HipControl& left, HipControl& right):pwmDefault(0.00005),count(0),count_max(0),_left(left),_right(right)
perr1940 0:ea2b9b15a433 32 {
perr1940 0:ea2b9b15a433 33 time.start();
perr1940 0:ea2b9b15a433 34 }
perr1940 0:ea2b9b15a433 35 void MotorMusic::setDefault(float a)
perr1940 0:ea2b9b15a433 36 {
perr1940 0:ea2b9b15a433 37 pwmDefault=a;
perr1940 0:ea2b9b15a433 38 }
perr1940 0:ea2b9b15a433 39 void MotorMusic::check()
perr1940 0:ea2b9b15a433 40 {
perr1940 0:ea2b9b15a433 41 if (musicFlag==1) {
perr1940 0:ea2b9b15a433 42 song();
perr1940 0:ea2b9b15a433 43 }
perr1940 0:ea2b9b15a433 44 }
perr1940 0:ea2b9b15a433 45 void MotorMusic::init()
perr1940 0:ea2b9b15a433 46 {
perr1940 0:ea2b9b15a433 47 _left.pwmPeriod(ptrNotes[count]); //play first note
perr1940 0:ea2b9b15a433 48 _right.pwmPeriod(ptrNotes[count]); //play first note
perr1940 0:ea2b9b15a433 49 }
perr1940 0:ea2b9b15a433 50 void MotorMusic::song()
perr1940 0:ea2b9b15a433 51 {
perr1940 0:ea2b9b15a433 52 if(time.read()>=ptrTimes[count]) { //change note if the time to play the previous note is over
perr1940 0:ea2b9b15a433 53 count++; //change note counter
perr1940 0:ea2b9b15a433 54 time.reset(); //reset and start timer
perr1940 0:ea2b9b15a433 55 _left.pwmPeriod(ptrNotes[count]); //increment note
perr1940 0:ea2b9b15a433 56 _right.pwmPeriod(ptrNotes[count]); //increment note
perr1940 0:ea2b9b15a433 57 }
perr1940 0:ea2b9b15a433 58 if(count>count_max) {
perr1940 0:ea2b9b15a433 59 _left.pwmPeriod(pwmDefault); //increment note
perr1940 0:ea2b9b15a433 60 _right.pwmPeriod(pwmDefault); //increment note
perr1940 0:ea2b9b15a433 61 count=0; //counter to change notes
perr1940 0:ea2b9b15a433 62 musicFlag=0; //flag to signal playing music
perr1940 0:ea2b9b15a433 63 }
perr1940 0:ea2b9b15a433 64 }
perr1940 0:ea2b9b15a433 65
perr1940 0:ea2b9b15a433 66
perr1940 0:ea2b9b15a433 67 void MotorMusic::playIronMan()
perr1940 0:ea2b9b15a433 68 {
perr1940 0:ea2b9b15a433 69 ptrNotes=IronMan; //point to the Iron Man notes array
perr1940 0:ea2b9b15a433 70 ptrTimes=IronMan_t;//point to the Iron Man times array
perr1940 0:ea2b9b15a433 71 time.reset();//reset timer for music
perr1940 0:ea2b9b15a433 72 musicFlag=1;//flag to play music
perr1940 0:ea2b9b15a433 73 count_max=IronMan_count;
perr1940 0:ea2b9b15a433 74 init();
perr1940 0:ea2b9b15a433 75 }
perr1940 0:ea2b9b15a433 76 void MotorMusic::playArpeggio()
perr1940 0:ea2b9b15a433 77 {
perr1940 0:ea2b9b15a433 78 ptrNotes=arpeggio; //point to the Iron Man notes array
perr1940 0:ea2b9b15a433 79 ptrTimes=arpeggio_t;//point to the Iron Man times array
perr1940 0:ea2b9b15a433 80 time.reset();//reset timer for music
perr1940 0:ea2b9b15a433 81 musicFlag=1;//flag to play music
perr1940 0:ea2b9b15a433 82 count_max=arpeggio_count;
perr1940 0:ea2b9b15a433 83 init();
perr1940 0:ea2b9b15a433 84 }
perr1940 0:ea2b9b15a433 85 void MotorMusic::playDH()
perr1940 0:ea2b9b15a433 86 {
perr1940 0:ea2b9b15a433 87 ptrNotes=DH; //point to the Iron Man notes array
perr1940 0:ea2b9b15a433 88 ptrTimes=DH_t;//point to the Iron Man times array
perr1940 0:ea2b9b15a433 89 time.reset();//reset timer for music
perr1940 0:ea2b9b15a433 90 musicFlag=1;//flag to play music
perr1940 0:ea2b9b15a433 91 count_max=DH_count;
perr1940 0:ea2b9b15a433 92 init();
perr1940 0:ea2b9b15a433 93 }
perr1940 0:ea2b9b15a433 94 void MotorMusic::playLock()
perr1940 0:ea2b9b15a433 95 {
perr1940 0:ea2b9b15a433 96 ptrNotes=lockSound; //point to the Iron Man notes array
perr1940 0:ea2b9b15a433 97 ptrTimes=lockSound_t;//point to the Iron Man times array
perr1940 0:ea2b9b15a433 98 time.reset();//reset timer for music
perr1940 0:ea2b9b15a433 99 musicFlag=1;//flag to play music
perr1940 0:ea2b9b15a433 100 count_max=lockSound_count;
perr1940 0:ea2b9b15a433 101 init();
perr1940 0:ea2b9b15a433 102 }
perr1940 0:ea2b9b15a433 103 void MotorMusic::playUnlock()
perr1940 0:ea2b9b15a433 104 {
perr1940 0:ea2b9b15a433 105 ptrNotes=unlockSound; //point to the Iron Man notes array
perr1940 0:ea2b9b15a433 106 ptrTimes=unlockSound_t;//point to the Iron Man times array
perr1940 0:ea2b9b15a433 107 time.reset();//reset timer for music
perr1940 0:ea2b9b15a433 108 musicFlag=1;//flag to play music
perr1940 0:ea2b9b15a433 109 count_max=unlockSound_count;
perr1940 0:ea2b9b15a433 110 init();
perr1940 0:ea2b9b15a433 111 }
perr1940 0:ea2b9b15a433 112 //WTF is this? MM
perr1940 0:ea2b9b15a433 113
perr1940 0:ea2b9b15a433 114