f
Dependencies: SDFileSystem VS1053 keypad mbed-rtos mbed
main.cpp@0:6b577ee3ce76, 2016-12-06 (annotated)
- Committer:
- 583405000008
- Date:
- Tue Dec 06 07:25:35 2016 +0000
- Revision:
- 0:6b577ee3ce76
.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
583405000008 | 0:6b577ee3ce76 | 1 | #include"mbed.h" |
583405000008 | 0:6b577ee3ce76 | 2 | #include"player.h" |
583405000008 | 0:6b577ee3ce76 | 3 | #include "rtos.h" |
583405000008 | 0:6b577ee3ce76 | 4 | #include "Keypad.h" |
583405000008 | 0:6b577ee3ce76 | 5 | #include<time.h> |
583405000008 | 0:6b577ee3ce76 | 6 | #include<stdlib.h> |
583405000008 | 0:6b577ee3ce76 | 7 | #include<string.h> |
583405000008 | 0:6b577ee3ce76 | 8 | |
583405000008 | 0:6b577ee3ce76 | 9 | Serial bt(PA_15,PB_7); |
583405000008 | 0:6b577ee3ce76 | 10 | Player player; |
583405000008 | 0:6b577ee3ce76 | 11 | Ticker t; |
583405000008 | 0:6b577ee3ce76 | 12 | Timer timer; |
583405000008 | 0:6b577ee3ce76 | 13 | extern Serial pc; |
583405000008 | 0:6b577ee3ce76 | 14 | extern playerStatetype playerState; |
583405000008 | 0:6b577ee3ce76 | 15 | |
583405000008 | 0:6b577ee3ce76 | 16 | extern char listName[50][100]; //song name list |
583405000008 | 0:6b577ee3ce76 | 17 | char listData[50][3]; //song data [0->like, 1->dislike, 2->skip] |
583405000008 | 0:6b577ee3ce76 | 18 | char flag = 0; |
583405000008 | 0:6b577ee3ce76 | 19 | char serial[50]; |
583405000008 | 0:6b577ee3ce76 | 20 | char playListName[][50] = { |
583405000008 | 0:6b577ee3ce76 | 21 | "Sad/Gravity.mp3", "Sad/TaTerMaiRuseuk.mp3", "Sad/NumTaTeHai.mp3", "Sad/MaTanWeLaPord.mp3", "Sad/YaSaeJaiKonDrew.mp3", |
583405000008 | 0:6b577ee3ce76 | 22 | "Stress/PerJer.mp3", "Stress/YenDTMaiRuJak.mp3", "Stress/Y_Rai.mp3", "Stress/LorLey.mp3", "Stress/NuaGenPaiRuePow.mp3", |
583405000008 | 0:6b577ee3ce76 | 23 | "Angry/9_Nariga.mp3", "Angry/GluptuaGlupJai.mp3", "Angry/MaiTumMaDa.mp3", "Angry/LaugPee4G.mp3", "Angry/CeakWeeSert.mp3", |
583405000008 | 0:6b577ee3ce76 | 24 | "Happy/PerJer.mp3", "Happy/Jeep.mp3", "Happy/PoodTumMai.mp3", "Happy/RumSeTow.mp3", "Happy/AO.mp3" |
583405000008 | 0:6b577ee3ce76 | 25 | }; |
583405000008 | 0:6b577ee3ce76 | 26 | // Define your own keypad values |
583405000008 | 0:6b577ee3ce76 | 27 | char Keytable[] = { '1', '2', '3', 'A', // r0 |
583405000008 | 0:6b577ee3ce76 | 28 | '4', '5', '6', 'B', // r1 |
583405000008 | 0:6b577ee3ce76 | 29 | '7', '8', '9', 'C', // r2 |
583405000008 | 0:6b577ee3ce76 | 30 | '*', '0', '#', 'D' // r3 |
583405000008 | 0:6b577ee3ce76 | 31 | }; |
583405000008 | 0:6b577ee3ce76 | 32 | // c0 c1 c2 c3 |
583405000008 | 0:6b577ee3ce76 | 33 | //interrupt |
583405000008 | 0:6b577ee3ce76 | 34 | int num; |
583405000008 | 0:6b577ee3ce76 | 35 | uint32_t buttonIndex; |
583405000008 | 0:6b577ee3ce76 | 36 | uint32_t interruptButton(uint32_t index) { // swap with cbAfterInput() function from keypad. |
583405000008 | 0:6b577ee3ce76 | 37 | buttonIndex = index; |
583405000008 | 0:6b577ee3ce76 | 38 | flag = 1; |
583405000008 | 0:6b577ee3ce76 | 39 | if(buttonIndex == 4) playerState = PS_STOP; //skip music button |
583405000008 | 0:6b577ee3ce76 | 40 | return 0; |
583405000008 | 0:6b577ee3ce76 | 41 | |
583405000008 | 0:6b577ee3ce76 | 42 | } |
583405000008 | 0:6b577ee3ce76 | 43 | |
583405000008 | 0:6b577ee3ce76 | 44 | void buttonFunction(){ |
583405000008 | 0:6b577ee3ce76 | 45 | //input main function in keypad and change something that resonable. |
583405000008 | 0:6b577ee3ce76 | 46 | |
583405000008 | 0:6b577ee3ce76 | 47 | Keypad keypad(A5, A4, D2,D3, D4, D5, D6, D7); |
583405000008 | 0:6b577ee3ce76 | 48 | keypad.attach(&interruptButton); |
583405000008 | 0:6b577ee3ce76 | 49 | keypad.start(); // energize the keypad via c0-c3 |
583405000008 | 0:6b577ee3ce76 | 50 | |
583405000008 | 0:6b577ee3ce76 | 51 | } |
583405000008 | 0:6b577ee3ce76 | 52 | |
583405000008 | 0:6b577ee3ce76 | 53 | |
583405000008 | 0:6b577ee3ce76 | 54 | int main() { |
583405000008 | 0:6b577ee3ce76 | 55 | pc.printf("go\n"); |
583405000008 | 0:6b577ee3ce76 | 56 | // player.begin(); |
583405000008 | 0:6b577ee3ce76 | 57 | int i=1; |
583405000008 | 0:6b577ee3ce76 | 58 | while(1) |
583405000008 | 0:6b577ee3ce76 | 59 | { |
583405000008 | 0:6b577ee3ce76 | 60 | buttonFunction(); |
583405000008 | 0:6b577ee3ce76 | 61 | num=rand()%20; |
583405000008 | 0:6b577ee3ce76 | 62 | pc.printf("%d\n",num); |
583405000008 | 0:6b577ee3ce76 | 63 | if(buttonIndex==1||buttonIndex==2||buttonIndex==5||buttonIndex==6){ |
583405000008 | 0:6b577ee3ce76 | 64 | if(i==1){ |
583405000008 | 0:6b577ee3ce76 | 65 | if(buttonIndex==1 ||buttonIndex==2||buttonIndex==5||buttonIndex==6){ |
583405000008 | 0:6b577ee3ce76 | 66 | player.playFile("Angry/9_Nariga.mp3"); |
583405000008 | 0:6b577ee3ce76 | 67 | i=0;pc.printf("hu\n");break; |
583405000008 | 0:6b577ee3ce76 | 68 | } |
583405000008 | 0:6b577ee3ce76 | 69 | } |
583405000008 | 0:6b577ee3ce76 | 70 | if(buttonIndex!=buttonIndex) player.playFile(playListName[0]); |
583405000008 | 0:6b577ee3ce76 | 71 | } |
583405000008 | 0:6b577ee3ce76 | 72 | if(flag){ |
583405000008 | 0:6b577ee3ce76 | 73 | //buttonFunction(buttonIndex); |
583405000008 | 0:6b577ee3ce76 | 74 | pc.printf("next song"); |
583405000008 | 0:6b577ee3ce76 | 75 | flag = 0; |
583405000008 | 0:6b577ee3ce76 | 76 | |
583405000008 | 0:6b577ee3ce76 | 77 | } |
583405000008 | 0:6b577ee3ce76 | 78 | |
583405000008 | 0:6b577ee3ce76 | 79 | } |
583405000008 | 0:6b577ee3ce76 | 80 | } |