a

Dependencies:   TS_DISCO_F746NG mbed LCD_DISCO_F746NG BSP_DISCO_F746NG

Committer:
Tantep
Date:
Sun May 05 02:48:03 2019 +0000
Revision:
5:7db99d28bc36
Parent:
4:ec0ff5b355e8
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chana_jo 0:d2b5a1e8fc0c 1 #include "mbed.h"
chana_jo 0:d2b5a1e8fc0c 2 #include "TS_DISCO_F746NG.h"
chana_jo 0:d2b5a1e8fc0c 3 #include "LCD_DISCO_F746NG.h"
Tantep 1:19138bfe23c9 4 #include"sn44.h"
Tantep 1:19138bfe23c9 5 #include"cl44.h"
Tantep 1:19138bfe23c9 6 #include"clhh44.h"
Tantep 1:19138bfe23c9 7 #include"ophh44.h"
Tantep 1:19138bfe23c9 8 #include"kick44.h"
chana_jo 0:d2b5a1e8fc0c 9
Tantep 1:19138bfe23c9 10 #define sample_freq 16000.0
chana_jo 0:d2b5a1e8fc0c 11 DigitalOut led(LED1);
chana_jo 0:d2b5a1e8fc0c 12 LCD_DISCO_F746NG lcd;
chana_jo 0:d2b5a1e8fc0c 13 TS_DISCO_F746NG ts;
chana_jo 0:d2b5a1e8fc0c 14 AnalogIn tempoknob(A1);
chana_jo 0:d2b5a1e8fc0c 15 AnalogIn volumeknob(A0);
Tantep 1:19138bfe23c9 16 PwmOut speaker(D1);
chana_jo 0:d2b5a1e8fc0c 17 Serial pc(USBTX, USBRX);
chana_jo 2:58378cb7e76f 18 Ticker re,er,rr,ee,sn44tick,cl44tick,clhh44tick,ophh44tick,kick44tick,testprint;//timer ไว้ attach ตอนplay audio กับไว้รับปุ่ม
chana_jo 0:d2b5a1e8fc0c 19
chana_jo 4:ec0ff5b355e8 20 int checkplay=0,beat[5][8],page=1;
chana_jo 4:ec0ff5b355e8 21 int tracking=1;
Tantep 1:19138bfe23c9 22 char currentpage[50],volumechar[50],strvolume[50],strtempo[50],tempostr[50]; //สร้างไว้ให้เขียนอักษรได้เฉยๆ
chana_jo 0:d2b5a1e8fc0c 23 float volume,tempo;
chana_jo 2:58378cb7e76f 24 float speed; //tempo converted to sec
chana_jo 2:58378cb7e76f 25 int h,i,j,k,l;
chana_jo 0:d2b5a1e8fc0c 26 void test(void); //function for touchscreen
chana_jo 0:d2b5a1e8fc0c 27 void play(void);// function for play
chana_jo 0:d2b5a1e8fc0c 28 void screen(void);//function for display
chana_jo 0:d2b5a1e8fc0c 29 void knob(void);// read knob
chana_jo 2:58378cb7e76f 30 void testbeat1(void);
chana_jo 2:58378cb7e76f 31 void testbeat2(void);
chana_jo 4:ec0ff5b355e8 32 float tempo2,volume2;
chana_jo 0:d2b5a1e8fc0c 33
chana_jo 0:d2b5a1e8fc0c 34 int main()
chana_jo 0:d2b5a1e8fc0c 35 {
chana_jo 0:d2b5a1e8fc0c 36 lcd.Clear(LCD_COLOR_BLUE);
chana_jo 0:d2b5a1e8fc0c 37 ee.attach(&screen, 0.03);
Tantep 5:7db99d28bc36 38 re.attach(&play,0.5);//เล่นตามtempo
chana_jo 0:d2b5a1e8fc0c 39 er.attach(&test, 0.25);//กดช้ากดเร็วแล้วแต่
chana_jo 4:ec0ff5b355e8 40 rr.attach(&knob,0.5);//readknob ทุก0.5
chana_jo 2:58378cb7e76f 41
Tantep 1:19138bfe23c9 42
chana_jo 0:d2b5a1e8fc0c 43 }
chana_jo 0:d2b5a1e8fc0c 44
Tantep 1:19138bfe23c9 45
Tantep 1:19138bfe23c9 46 //SAMPLE && SAMPLE PLAY FUNCTION
Tantep 1:19138bfe23c9 47
Tantep 1:19138bfe23c9 48 void sn44_sample ()
Tantep 1:19138bfe23c9 49 {
Tantep 1:19138bfe23c9 50
chana_jo 2:58378cb7e76f 51 speaker = sn44_data[h]/16777215.0;//scale to 0.0 to 1.0 for PWM
chana_jo 2:58378cb7e76f 52 h++;
chana_jo 2:58378cb7e76f 53 if (h>= num_sn44) {
chana_jo 2:58378cb7e76f 54 h = 0;
Tantep 1:19138bfe23c9 55 sn44tick.detach();
chana_jo 2:58378cb7e76f 56 //led = 0;
Tantep 1:19138bfe23c9 57 }
Tantep 1:19138bfe23c9 58 }
Tantep 1:19138bfe23c9 59 void cl44_sample ()
Tantep 1:19138bfe23c9 60 {
Tantep 1:19138bfe23c9 61
Tantep 1:19138bfe23c9 62 speaker = cl44_data[i]/16777215.0;//scale to 0.0 to 1.0 for PWM
Tantep 1:19138bfe23c9 63 i++;
Tantep 1:19138bfe23c9 64 if (i>= num_cl44) {
Tantep 1:19138bfe23c9 65 i = 0;
Tantep 1:19138bfe23c9 66 cl44tick.detach();
chana_jo 2:58378cb7e76f 67 //led = 0;
Tantep 1:19138bfe23c9 68 }
Tantep 1:19138bfe23c9 69 }
Tantep 1:19138bfe23c9 70 void clhh44_sample ()
Tantep 1:19138bfe23c9 71 {
Tantep 1:19138bfe23c9 72
chana_jo 2:58378cb7e76f 73 speaker = clhh44_data[j]/16777215.0;//scale to 0.0 to 1.0 for PWM
chana_jo 2:58378cb7e76f 74 j++;
chana_jo 2:58378cb7e76f 75 if (j>= num_clhh44) {
chana_jo 2:58378cb7e76f 76 j = 0;
Tantep 1:19138bfe23c9 77 clhh44tick.detach();
chana_jo 2:58378cb7e76f 78 //led = 0;
Tantep 1:19138bfe23c9 79 }
Tantep 1:19138bfe23c9 80 }
Tantep 1:19138bfe23c9 81 void ophh44_sample ()
Tantep 1:19138bfe23c9 82 {
Tantep 1:19138bfe23c9 83
chana_jo 2:58378cb7e76f 84 speaker = ophh44_data[k]/16777215.0;//scale to 0.0 to 1.0 for PWM
chana_jo 2:58378cb7e76f 85 k++;
chana_jo 2:58378cb7e76f 86 if (k>= num_ophh44) {
chana_jo 2:58378cb7e76f 87 k = 0;
Tantep 1:19138bfe23c9 88 ophh44tick.detach();
chana_jo 2:58378cb7e76f 89 //led = 0;
Tantep 1:19138bfe23c9 90 }
Tantep 1:19138bfe23c9 91 }
Tantep 1:19138bfe23c9 92 void kick44_sample ()
Tantep 1:19138bfe23c9 93 {
chana_jo 2:58378cb7e76f 94 speaker = kick44_data[l]/16777215.0;//scale to 0.0 to 1.0 for PWM
chana_jo 2:58378cb7e76f 95 l++;
chana_jo 2:58378cb7e76f 96 if (l>= num_kick44) {
chana_jo 2:58378cb7e76f 97 l = 0;
Tantep 1:19138bfe23c9 98 kick44tick.detach();
chana_jo 2:58378cb7e76f 99 //led = 0;
Tantep 1:19138bfe23c9 100 }
Tantep 1:19138bfe23c9 101 }
chana_jo 3:3a2c11f459c4 102 ///////////////////////////////////////////////////////////////////////////// PLAY PART //////////////////////////////////////////////
Tantep 1:19138bfe23c9 103 void playsnare()
Tantep 1:19138bfe23c9 104 {
Tantep 5:7db99d28bc36 105 speaker = volume*(sn44_data[h]/16777215.0);//scale to 0.0 to 1.0 for PWM
chana_jo 3:3a2c11f459c4 106 h++;
Tantep 5:7db99d28bc36 107 speaker.period(1.0/330750.0); //PWM freq >10X audio sample rate
Tantep 1:19138bfe23c9 108
chana_jo 3:3a2c11f459c4 109 if (h>= num_sn44) {
chana_jo 3:3a2c11f459c4 110 h = 0;
chana_jo 3:3a2c11f459c4 111 sn44tick.detach();
chana_jo 3:3a2c11f459c4 112 }
Tantep 1:19138bfe23c9 113
Tantep 1:19138bfe23c9 114 }
chana_jo 3:3a2c11f459c4 115
Tantep 1:19138bfe23c9 116 void playkick()
Tantep 1:19138bfe23c9 117 {
Tantep 5:7db99d28bc36 118 speaker = volume*(kick44_data[l]/16777215.0);//scale to 0.0 to 1.0 for PWM
chana_jo 3:3a2c11f459c4 119 l++;
Tantep 5:7db99d28bc36 120 speaker.period(1.0/441000.0); //PWM freq >10X audio sample rate
chana_jo 3:3a2c11f459c4 121
chana_jo 3:3a2c11f459c4 122 if (l>= num_kick44) {
chana_jo 3:3a2c11f459c4 123 l = 0;
chana_jo 3:3a2c11f459c4 124 kick44tick.detach();
chana_jo 3:3a2c11f459c4 125 }
Tantep 1:19138bfe23c9 126
Tantep 1:19138bfe23c9 127 }
Tantep 1:19138bfe23c9 128 void playclap()
Tantep 1:19138bfe23c9 129 {
Tantep 5:7db99d28bc36 130 speaker = volume*(cl44_data[i]/16777215.0);//scale to 0.0 to 1.0 for PWM
chana_jo 3:3a2c11f459c4 131 i++;
Tantep 5:7db99d28bc36 132 speaker.period(1.0/220500.0); //PWM freq >10X audio sample rate
Tantep 1:19138bfe23c9 133
chana_jo 3:3a2c11f459c4 134 if (i>= num_cl44) {
chana_jo 3:3a2c11f459c4 135 i = 0;
chana_jo 3:3a2c11f459c4 136 cl44tick.detach();
chana_jo 3:3a2c11f459c4 137 }
Tantep 1:19138bfe23c9 138
Tantep 1:19138bfe23c9 139 }
chana_jo 3:3a2c11f459c4 140
Tantep 1:19138bfe23c9 141 void playclhh()
Tantep 1:19138bfe23c9 142 {
Tantep 5:7db99d28bc36 143 speaker = volume*(clhh44_data[j]/16777215.0);//scale to 0.0 to 1.0 for PWM
chana_jo 3:3a2c11f459c4 144 j++;
Tantep 5:7db99d28bc36 145 speaker.period(1.0/330750.0); //PWM freq >10X audio sample rate
Tantep 1:19138bfe23c9 146
chana_jo 3:3a2c11f459c4 147 if (j>= num_clhh44) {
chana_jo 3:3a2c11f459c4 148 j = 0;
chana_jo 3:3a2c11f459c4 149 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 150 }
chana_jo 3:3a2c11f459c4 151
chana_jo 3:3a2c11f459c4 152 }
Tantep 1:19138bfe23c9 153
Tantep 1:19138bfe23c9 154 void playophh()
Tantep 1:19138bfe23c9 155 {
Tantep 5:7db99d28bc36 156 speaker = volume*(ophh44_data[k]/16777215.0);//scale to 0.0 to 1.0 for PWM
chana_jo 3:3a2c11f459c4 157 k++;
Tantep 5:7db99d28bc36 158 speaker.period(1.0/330750.0); //PWM freq >10X audio sample rate
Tantep 1:19138bfe23c9 159
chana_jo 3:3a2c11f459c4 160 if (k>= num_ophh44) {
chana_jo 3:3a2c11f459c4 161 k = 0;
chana_jo 3:3a2c11f459c4 162 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 163 }
chana_jo 3:3a2c11f459c4 164
Tantep 1:19138bfe23c9 165 }
chana_jo 2:58378cb7e76f 166 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
chana_jo 0:d2b5a1e8fc0c 167 void play()
chana_jo 0:d2b5a1e8fc0c 168 {
chana_jo 2:58378cb7e76f 169 if(checkplay==1)//led blink when button play is on
chana_jo 2:58378cb7e76f 170 {
chana_jo 4:ec0ff5b355e8 171 pc.printf("current beat : %d \n\r",tracking);
chana_jo 4:ec0ff5b355e8 172
chana_jo 2:58378cb7e76f 173 if(tracking==1)
chana_jo 2:58378cb7e76f 174 {
chana_jo 3:3a2c11f459c4 175 sn44tick.detach();
chana_jo 3:3a2c11f459c4 176 cl44tick.detach();
chana_jo 3:3a2c11f459c4 177 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 178 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 179 kick44tick.detach();
chana_jo 3:3a2c11f459c4 180 if(beat[0][0]==1)
chana_jo 3:3a2c11f459c4 181 {
chana_jo 3:3a2c11f459c4 182 pc.printf("1");
chana_jo 3:3a2c11f459c4 183 kick44tick.attach(&playkick,1.0 / 33075);
chana_jo 3:3a2c11f459c4 184 }
chana_jo 3:3a2c11f459c4 185 if(beat[1][0]==1)
chana_jo 3:3a2c11f459c4 186 {
chana_jo 3:3a2c11f459c4 187 pc.printf("2");
chana_jo 3:3a2c11f459c4 188 sn44tick.attach(&playsnare,1.0 / 33075);
chana_jo 3:3a2c11f459c4 189 }
chana_jo 3:3a2c11f459c4 190 if(beat[2][0]==1)
chana_jo 3:3a2c11f459c4 191 {
chana_jo 3:3a2c11f459c4 192 pc.printf("3");
chana_jo 3:3a2c11f459c4 193 cl44tick.attach(&playclap,1.0 /22050);
chana_jo 3:3a2c11f459c4 194 }
chana_jo 3:3a2c11f459c4 195 if(beat[3][0]==1)
chana_jo 3:3a2c11f459c4 196 {
chana_jo 3:3a2c11f459c4 197 pc.printf("4");
chana_jo 3:3a2c11f459c4 198 clhh44tick.attach(&playclhh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 199 }
chana_jo 3:3a2c11f459c4 200 if(beat[4][0]==1)
chana_jo 3:3a2c11f459c4 201 {
chana_jo 3:3a2c11f459c4 202 pc.printf("5");
chana_jo 3:3a2c11f459c4 203 ophh44tick.attach(&playophh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 204 }
chana_jo 3:3a2c11f459c4 205
chana_jo 2:58378cb7e76f 206 }
chana_jo 2:58378cb7e76f 207 else if(tracking==2)
chana_jo 2:58378cb7e76f 208 {
chana_jo 3:3a2c11f459c4 209 sn44tick.detach();
chana_jo 3:3a2c11f459c4 210 cl44tick.detach();
chana_jo 3:3a2c11f459c4 211 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 212 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 213 kick44tick.detach();
chana_jo 3:3a2c11f459c4 214 if(beat[0][1]==1)
chana_jo 3:3a2c11f459c4 215 {
chana_jo 4:ec0ff5b355e8 216 pc.printf("1");
chana_jo 3:3a2c11f459c4 217 kick44tick.attach(&playkick,1.0 / 33075);
chana_jo 3:3a2c11f459c4 218 }
chana_jo 3:3a2c11f459c4 219 if(beat[1][1]==1)
chana_jo 3:3a2c11f459c4 220 {
chana_jo 4:ec0ff5b355e8 221 pc.printf("2");
chana_jo 3:3a2c11f459c4 222 sn44tick.attach(&playsnare,1.0 / 33075);
chana_jo 3:3a2c11f459c4 223 }
chana_jo 3:3a2c11f459c4 224 if(beat[2][1]==1)
chana_jo 3:3a2c11f459c4 225 {
chana_jo 4:ec0ff5b355e8 226 pc.printf("3");
chana_jo 3:3a2c11f459c4 227 cl44tick.attach(&playclap,1.0 /22050);
chana_jo 3:3a2c11f459c4 228 }
chana_jo 3:3a2c11f459c4 229 if(beat[3][1]==1)
chana_jo 3:3a2c11f459c4 230 {
chana_jo 4:ec0ff5b355e8 231 pc.printf("4");
chana_jo 3:3a2c11f459c4 232 clhh44tick.attach(&playclhh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 233 }
chana_jo 3:3a2c11f459c4 234 if(beat[4][1]==1)
chana_jo 3:3a2c11f459c4 235 {
chana_jo 4:ec0ff5b355e8 236 pc.printf("5");
chana_jo 3:3a2c11f459c4 237 ophh44tick.attach(&playophh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 238 }
chana_jo 2:58378cb7e76f 239
chana_jo 2:58378cb7e76f 240
chana_jo 2:58378cb7e76f 241 }
chana_jo 2:58378cb7e76f 242 else if(tracking==3)
chana_jo 2:58378cb7e76f 243 {
chana_jo 3:3a2c11f459c4 244 sn44tick.detach();
chana_jo 3:3a2c11f459c4 245 cl44tick.detach();
chana_jo 3:3a2c11f459c4 246 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 247 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 248 kick44tick.detach();
chana_jo 3:3a2c11f459c4 249 if(beat[0][2]==1)
chana_jo 3:3a2c11f459c4 250 {
chana_jo 4:ec0ff5b355e8 251 pc.printf("1");
chana_jo 3:3a2c11f459c4 252 kick44tick.attach(&playkick,1.0 / 33075);
chana_jo 3:3a2c11f459c4 253 }
chana_jo 3:3a2c11f459c4 254 if(beat[1][2]==1)
chana_jo 3:3a2c11f459c4 255 {
chana_jo 4:ec0ff5b355e8 256 pc.printf("2");
chana_jo 3:3a2c11f459c4 257 sn44tick.attach(&playsnare,1.0 / 33075);
chana_jo 3:3a2c11f459c4 258 }
chana_jo 3:3a2c11f459c4 259 if(beat[2][2]==1)
chana_jo 3:3a2c11f459c4 260 {
chana_jo 4:ec0ff5b355e8 261 pc.printf("3");
chana_jo 3:3a2c11f459c4 262 cl44tick.attach(&playclap,1.0 /22050);
chana_jo 3:3a2c11f459c4 263 }
chana_jo 3:3a2c11f459c4 264 if(beat[3][2]==1)
chana_jo 3:3a2c11f459c4 265 {
chana_jo 4:ec0ff5b355e8 266 pc.printf("4");
chana_jo 3:3a2c11f459c4 267 clhh44tick.attach(&playclhh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 268 }
chana_jo 3:3a2c11f459c4 269 if(beat[4][2]==1)
chana_jo 3:3a2c11f459c4 270 {
chana_jo 4:ec0ff5b355e8 271 pc.printf("5");
chana_jo 3:3a2c11f459c4 272 ophh44tick.attach(&playophh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 273 }
chana_jo 2:58378cb7e76f 274
chana_jo 2:58378cb7e76f 275
chana_jo 2:58378cb7e76f 276 }
chana_jo 2:58378cb7e76f 277 else if(tracking==4)
chana_jo 2:58378cb7e76f 278 {
chana_jo 3:3a2c11f459c4 279 sn44tick.detach();
chana_jo 3:3a2c11f459c4 280 cl44tick.detach();
chana_jo 3:3a2c11f459c4 281 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 282 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 283 kick44tick.detach();
chana_jo 3:3a2c11f459c4 284 if(beat[0][3]==1)
chana_jo 3:3a2c11f459c4 285 {
chana_jo 4:ec0ff5b355e8 286 pc.printf("1");
chana_jo 3:3a2c11f459c4 287 kick44tick.attach(&playkick,1.0 / 33075);
chana_jo 3:3a2c11f459c4 288 }
chana_jo 3:3a2c11f459c4 289 if(beat[1][3]==1)
chana_jo 3:3a2c11f459c4 290 {
chana_jo 4:ec0ff5b355e8 291 pc.printf("2");
chana_jo 3:3a2c11f459c4 292 sn44tick.attach(&playsnare,1.0 / 33075);
chana_jo 3:3a2c11f459c4 293 }
chana_jo 3:3a2c11f459c4 294 if(beat[2][3]==1)
chana_jo 3:3a2c11f459c4 295 {
chana_jo 4:ec0ff5b355e8 296 pc.printf("3");
chana_jo 3:3a2c11f459c4 297 cl44tick.attach(&playclap,1.0 /22050);
chana_jo 3:3a2c11f459c4 298 }
chana_jo 3:3a2c11f459c4 299 if(beat[3][3]==1)
chana_jo 3:3a2c11f459c4 300 {
chana_jo 4:ec0ff5b355e8 301 pc.printf("4");
chana_jo 3:3a2c11f459c4 302 clhh44tick.attach(&playclhh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 303 }
chana_jo 3:3a2c11f459c4 304 if(beat[4][3]==1)
chana_jo 3:3a2c11f459c4 305 {
chana_jo 4:ec0ff5b355e8 306 pc.printf("5");
chana_jo 3:3a2c11f459c4 307 ophh44tick.attach(&playophh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 308 }
chana_jo 2:58378cb7e76f 309
chana_jo 2:58378cb7e76f 310
chana_jo 2:58378cb7e76f 311 }
chana_jo 2:58378cb7e76f 312 else if(tracking==5)
chana_jo 2:58378cb7e76f 313 {
chana_jo 3:3a2c11f459c4 314 sn44tick.detach();
chana_jo 3:3a2c11f459c4 315 cl44tick.detach();
chana_jo 3:3a2c11f459c4 316 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 317 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 318 kick44tick.detach();
chana_jo 3:3a2c11f459c4 319 if(beat[0][4]==1)
chana_jo 3:3a2c11f459c4 320 {
chana_jo 4:ec0ff5b355e8 321 pc.printf("1");
chana_jo 3:3a2c11f459c4 322 kick44tick.attach(&playkick,1.0 / 33075);
chana_jo 3:3a2c11f459c4 323 }
chana_jo 3:3a2c11f459c4 324 if(beat[1][4]==1)
chana_jo 3:3a2c11f459c4 325 {
chana_jo 4:ec0ff5b355e8 326 pc.printf("2");
chana_jo 3:3a2c11f459c4 327 sn44tick.attach(&playsnare,1.0 / 33075);
chana_jo 3:3a2c11f459c4 328 }
chana_jo 3:3a2c11f459c4 329 if(beat[2][4]==1)
chana_jo 3:3a2c11f459c4 330 {
chana_jo 4:ec0ff5b355e8 331 pc.printf("3");
chana_jo 3:3a2c11f459c4 332 cl44tick.attach(&playclap,1.0 /22050);
chana_jo 3:3a2c11f459c4 333 }
chana_jo 3:3a2c11f459c4 334 if(beat[3][4]==1)
chana_jo 3:3a2c11f459c4 335 {
chana_jo 4:ec0ff5b355e8 336 pc.printf("4");
chana_jo 3:3a2c11f459c4 337 clhh44tick.attach(&playclhh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 338 }
chana_jo 3:3a2c11f459c4 339 if(beat[4][4]==1)
chana_jo 3:3a2c11f459c4 340 {
chana_jo 4:ec0ff5b355e8 341 pc.printf("5");
chana_jo 3:3a2c11f459c4 342 ophh44tick.attach(&playophh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 343 }
chana_jo 2:58378cb7e76f 344
chana_jo 2:58378cb7e76f 345
chana_jo 2:58378cb7e76f 346 }
chana_jo 2:58378cb7e76f 347 else if(tracking==6)
chana_jo 2:58378cb7e76f 348 {
chana_jo 3:3a2c11f459c4 349 sn44tick.detach();
chana_jo 3:3a2c11f459c4 350 cl44tick.detach();
chana_jo 3:3a2c11f459c4 351 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 352 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 353 kick44tick.detach();
chana_jo 3:3a2c11f459c4 354 if(beat[0][5]==1)
chana_jo 3:3a2c11f459c4 355 {
chana_jo 4:ec0ff5b355e8 356 pc.printf("1");
chana_jo 3:3a2c11f459c4 357 kick44tick.attach(&playkick,1.0 / 33075);
chana_jo 3:3a2c11f459c4 358 }
chana_jo 3:3a2c11f459c4 359 if(beat[1][5]==1)
chana_jo 3:3a2c11f459c4 360 {
chana_jo 4:ec0ff5b355e8 361 pc.printf("2");
chana_jo 3:3a2c11f459c4 362 sn44tick.attach(&playsnare,1.0 / 33075);
chana_jo 3:3a2c11f459c4 363 }
chana_jo 3:3a2c11f459c4 364 if(beat[2][5]==1)
chana_jo 3:3a2c11f459c4 365 {
chana_jo 4:ec0ff5b355e8 366 pc.printf("3");
chana_jo 3:3a2c11f459c4 367 cl44tick.attach(&playclap,1.0 /22050);
chana_jo 3:3a2c11f459c4 368 }
chana_jo 3:3a2c11f459c4 369 if(beat[3][5]==1)
chana_jo 3:3a2c11f459c4 370 {
chana_jo 4:ec0ff5b355e8 371 pc.printf("4");
chana_jo 3:3a2c11f459c4 372 clhh44tick.attach(&playclhh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 373 }
chana_jo 3:3a2c11f459c4 374 if(beat[4][5]==1)
chana_jo 3:3a2c11f459c4 375 {
chana_jo 4:ec0ff5b355e8 376 pc.printf("5");
chana_jo 3:3a2c11f459c4 377 ophh44tick.attach(&playophh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 378 }
chana_jo 2:58378cb7e76f 379
chana_jo 2:58378cb7e76f 380
chana_jo 2:58378cb7e76f 381 }
chana_jo 2:58378cb7e76f 382 else if(tracking==7)
chana_jo 2:58378cb7e76f 383 {
chana_jo 3:3a2c11f459c4 384 sn44tick.detach();
chana_jo 3:3a2c11f459c4 385 cl44tick.detach();
chana_jo 3:3a2c11f459c4 386 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 387 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 388 kick44tick.detach();
chana_jo 4:ec0ff5b355e8 389 if(beat[0][6]==1)
chana_jo 3:3a2c11f459c4 390 {
chana_jo 4:ec0ff5b355e8 391 pc.printf("1");
chana_jo 3:3a2c11f459c4 392 kick44tick.attach(&playkick,1.0 / 33075);
chana_jo 3:3a2c11f459c4 393 }
chana_jo 4:ec0ff5b355e8 394 if(beat[1][6]==1)
chana_jo 3:3a2c11f459c4 395 {
chana_jo 4:ec0ff5b355e8 396 pc.printf("2");
chana_jo 3:3a2c11f459c4 397 sn44tick.attach(&playsnare,1.0 / 33075);
chana_jo 3:3a2c11f459c4 398 }
chana_jo 4:ec0ff5b355e8 399 if(beat[2][6]==1)
chana_jo 3:3a2c11f459c4 400 {
chana_jo 4:ec0ff5b355e8 401 pc.printf("3");
chana_jo 3:3a2c11f459c4 402 cl44tick.attach(&playclap,1.0 /22050);
chana_jo 3:3a2c11f459c4 403 }
chana_jo 4:ec0ff5b355e8 404 if(beat[3][6]==1)
chana_jo 3:3a2c11f459c4 405 {
chana_jo 4:ec0ff5b355e8 406 pc.printf("4");
chana_jo 3:3a2c11f459c4 407 clhh44tick.attach(&playclhh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 408 }
chana_jo 4:ec0ff5b355e8 409 if(beat[4][6]==1)
chana_jo 3:3a2c11f459c4 410 {
chana_jo 4:ec0ff5b355e8 411 pc.printf("5");
chana_jo 3:3a2c11f459c4 412 ophh44tick.attach(&playophh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 413 }
chana_jo 2:58378cb7e76f 414
chana_jo 2:58378cb7e76f 415
chana_jo 2:58378cb7e76f 416 }
chana_jo 2:58378cb7e76f 417 else if(tracking==8)
chana_jo 2:58378cb7e76f 418 {
chana_jo 3:3a2c11f459c4 419 sn44tick.detach();
chana_jo 3:3a2c11f459c4 420 cl44tick.detach();
chana_jo 3:3a2c11f459c4 421 clhh44tick.detach();
chana_jo 3:3a2c11f459c4 422 ophh44tick.detach();
chana_jo 3:3a2c11f459c4 423 kick44tick.detach();
chana_jo 4:ec0ff5b355e8 424 if(beat[0][7]==1)
chana_jo 3:3a2c11f459c4 425 {
chana_jo 4:ec0ff5b355e8 426 pc.printf("1");
chana_jo 3:3a2c11f459c4 427 kick44tick.attach(&playkick,1.0 / 33075);
chana_jo 3:3a2c11f459c4 428 }
chana_jo 4:ec0ff5b355e8 429 if(beat[1][7]==1)
chana_jo 3:3a2c11f459c4 430 {
chana_jo 4:ec0ff5b355e8 431 pc.printf("2");
chana_jo 3:3a2c11f459c4 432 sn44tick.attach(&playsnare,1.0 / 33075);
chana_jo 3:3a2c11f459c4 433 }
chana_jo 4:ec0ff5b355e8 434 if(beat[2][7]==1)
chana_jo 3:3a2c11f459c4 435 {
chana_jo 4:ec0ff5b355e8 436 pc.printf("3");
chana_jo 3:3a2c11f459c4 437 cl44tick.attach(&playclap,1.0 /22050);
chana_jo 3:3a2c11f459c4 438 }
chana_jo 4:ec0ff5b355e8 439 if(beat[3][7]==1)
chana_jo 3:3a2c11f459c4 440 {
chana_jo 4:ec0ff5b355e8 441 pc.printf("4");
chana_jo 3:3a2c11f459c4 442 clhh44tick.attach(&playclhh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 443 }
chana_jo 4:ec0ff5b355e8 444 if(beat[4][7]==1)
chana_jo 3:3a2c11f459c4 445 {
chana_jo 4:ec0ff5b355e8 446 pc.printf("5");
chana_jo 3:3a2c11f459c4 447 ophh44tick.attach(&playophh,1.0 / 33075);
chana_jo 3:3a2c11f459c4 448 }
chana_jo 2:58378cb7e76f 449
chana_jo 2:58378cb7e76f 450
chana_jo 2:58378cb7e76f 451 }
chana_jo 4:ec0ff5b355e8 452 if(tracking<8)
chana_jo 4:ec0ff5b355e8 453 {
chana_jo 4:ec0ff5b355e8 454 tracking=tracking+1;
chana_jo 4:ec0ff5b355e8 455 }
chana_jo 4:ec0ff5b355e8 456 else if(tracking==8)
chana_jo 4:ec0ff5b355e8 457 {
chana_jo 4:ec0ff5b355e8 458 tracking=1;
chana_jo 4:ec0ff5b355e8 459 led=!led;
chana_jo 4:ec0ff5b355e8 460 }
chana_jo 2:58378cb7e76f 461
chana_jo 0:d2b5a1e8fc0c 462 }
chana_jo 2:58378cb7e76f 463 else if(checkplay==0)//led off
chana_jo 2:58378cb7e76f 464 {
chana_jo 2:58378cb7e76f 465 led=0;
chana_jo 2:58378cb7e76f 466 tracking=1;
chana_jo 2:58378cb7e76f 467 }
chana_jo 0:d2b5a1e8fc0c 468
chana_jo 0:d2b5a1e8fc0c 469 }
Tantep 1:19138bfe23c9 470
chana_jo 0:d2b5a1e8fc0c 471 void test()
chana_jo 0:d2b5a1e8fc0c 472 {
chana_jo 0:d2b5a1e8fc0c 473 TS_StateTypeDef TS_State;
Tantep 1:19138bfe23c9 474 /*uint8_t status;//ไม่ได้ใช้สร้างไว้ก่อน*/
chana_jo 0:d2b5a1e8fc0c 475 ts.GetState(&TS_State);
chana_jo 0:d2b5a1e8fc0c 476 if((TS_State.touchDetected))//รับtouchอะไรก็ตาม จะเข้าfunctionนี้
chana_jo 0:d2b5a1e8fc0c 477 {
chana_jo 0:d2b5a1e8fc0c 478
chana_jo 0:d2b5a1e8fc0c 479 if(TS_State.touchX[0]<74&&TS_State.touchX[0]>24&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//playbutton
chana_jo 0:d2b5a1e8fc0c 480 {
chana_jo 0:d2b5a1e8fc0c 481 if(checkplay==0)
chana_jo 0:d2b5a1e8fc0c 482 {
chana_jo 0:d2b5a1e8fc0c 483 checkplay=1;
chana_jo 0:d2b5a1e8fc0c 484 }
chana_jo 0:d2b5a1e8fc0c 485 else if(checkplay==1)
chana_jo 0:d2b5a1e8fc0c 486 {
chana_jo 0:d2b5a1e8fc0c 487 checkplay=0;
chana_jo 0:d2b5a1e8fc0c 488 }
chana_jo 0:d2b5a1e8fc0c 489 }
chana_jo 0:d2b5a1e8fc0c 490 if(TS_State.touchX[0]<74&&TS_State.touchX[0]>24&&TS_State.touchY[0]<161&&TS_State.touchY[0]>136)//previous page
chana_jo 0:d2b5a1e8fc0c 491 {
chana_jo 0:d2b5a1e8fc0c 492 page=page-1;
chana_jo 0:d2b5a1e8fc0c 493 if(page<1)
chana_jo 0:d2b5a1e8fc0c 494 {
chana_jo 0:d2b5a1e8fc0c 495 page=5;
chana_jo 0:d2b5a1e8fc0c 496 }
chana_jo 0:d2b5a1e8fc0c 497 pc.printf("change to page %d",page);
chana_jo 0:d2b5a1e8fc0c 498
chana_jo 0:d2b5a1e8fc0c 499 }
chana_jo 0:d2b5a1e8fc0c 500 if(TS_State.touchX[0]<431&&TS_State.touchX[0]>406&&TS_State.touchY[0]<161&&TS_State.touchY[0]>136)//next page
chana_jo 0:d2b5a1e8fc0c 501 {
chana_jo 0:d2b5a1e8fc0c 502 page=page+1;
chana_jo 0:d2b5a1e8fc0c 503 if(page>5)
chana_jo 0:d2b5a1e8fc0c 504 {
chana_jo 0:d2b5a1e8fc0c 505 page=1;
chana_jo 0:d2b5a1e8fc0c 506 }
chana_jo 0:d2b5a1e8fc0c 507 pc.printf("change to page %d",page);
chana_jo 0:d2b5a1e8fc0c 508
chana_jo 0:d2b5a1e8fc0c 509 }
chana_jo 0:d2b5a1e8fc0c 510 if(TS_State.touchX[0]<122&&TS_State.touchX[0]>98&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//beat1
chana_jo 0:d2b5a1e8fc0c 511 {
Tantep 1:19138bfe23c9 512
chana_jo 0:d2b5a1e8fc0c 513 if(beat[page-1][0]==0)
chana_jo 0:d2b5a1e8fc0c 514 {
chana_jo 0:d2b5a1e8fc0c 515 beat[page-1][0]=1;
Tantep 1:19138bfe23c9 516
Tantep 1:19138bfe23c9 517 }
chana_jo 0:d2b5a1e8fc0c 518 else if(beat[page-1][0]==1)
chana_jo 0:d2b5a1e8fc0c 519 {
chana_jo 0:d2b5a1e8fc0c 520 beat[page-1][0]=0;
chana_jo 0:d2b5a1e8fc0c 521 }
Tantep 1:19138bfe23c9 522
Tantep 1:19138bfe23c9 523
Tantep 1:19138bfe23c9 524
chana_jo 0:d2b5a1e8fc0c 525 }
chana_jo 0:d2b5a1e8fc0c 526 if(TS_State.touchX[0]<166&&TS_State.touchX[0]>142&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//beat2
chana_jo 0:d2b5a1e8fc0c 527 {
chana_jo 0:d2b5a1e8fc0c 528 if(beat[page-1][1]==0)
chana_jo 0:d2b5a1e8fc0c 529 {
chana_jo 0:d2b5a1e8fc0c 530 beat[page-1][1]=1;
chana_jo 0:d2b5a1e8fc0c 531 }
chana_jo 0:d2b5a1e8fc0c 532 else if(beat[page-1][1]==1)
chana_jo 0:d2b5a1e8fc0c 533 {
chana_jo 0:d2b5a1e8fc0c 534 beat[page-1][1]=0;
chana_jo 0:d2b5a1e8fc0c 535 }
chana_jo 0:d2b5a1e8fc0c 536
chana_jo 0:d2b5a1e8fc0c 537 }
chana_jo 0:d2b5a1e8fc0c 538 if(TS_State.touchX[0]<210&&TS_State.touchX[0]>186&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//beat3
chana_jo 0:d2b5a1e8fc0c 539 {
chana_jo 0:d2b5a1e8fc0c 540 if(beat[page-1][2]==0)
chana_jo 0:d2b5a1e8fc0c 541 {
chana_jo 0:d2b5a1e8fc0c 542 beat[page-1][2]=1;
chana_jo 0:d2b5a1e8fc0c 543 }
chana_jo 0:d2b5a1e8fc0c 544 else if(beat[page-1][2]==1)
chana_jo 0:d2b5a1e8fc0c 545 {
chana_jo 0:d2b5a1e8fc0c 546 beat[page-1][2]=0;
chana_jo 0:d2b5a1e8fc0c 547 }
chana_jo 0:d2b5a1e8fc0c 548
chana_jo 0:d2b5a1e8fc0c 549 }
chana_jo 0:d2b5a1e8fc0c 550 if(TS_State.touchX[0]<254&&TS_State.touchX[0]>230&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//beat4
chana_jo 0:d2b5a1e8fc0c 551 {
chana_jo 0:d2b5a1e8fc0c 552 if(beat[page-1][3]==0)
chana_jo 0:d2b5a1e8fc0c 553 {
chana_jo 0:d2b5a1e8fc0c 554 beat[page-1][3]=1;
chana_jo 0:d2b5a1e8fc0c 555 }
chana_jo 0:d2b5a1e8fc0c 556 else if(beat[page-1][3]==1)
chana_jo 0:d2b5a1e8fc0c 557 {
chana_jo 0:d2b5a1e8fc0c 558 beat[page-1][3]=0;
chana_jo 0:d2b5a1e8fc0c 559 }
chana_jo 0:d2b5a1e8fc0c 560
chana_jo 0:d2b5a1e8fc0c 561 }
chana_jo 0:d2b5a1e8fc0c 562 if(TS_State.touchX[0]<298&&TS_State.touchX[0]>274&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//beat5
chana_jo 0:d2b5a1e8fc0c 563 {
chana_jo 0:d2b5a1e8fc0c 564 if(beat[page-1][4]==0)
chana_jo 0:d2b5a1e8fc0c 565 {
chana_jo 0:d2b5a1e8fc0c 566 beat[page-1][4]=1;
chana_jo 0:d2b5a1e8fc0c 567 }
chana_jo 0:d2b5a1e8fc0c 568 else if(beat[page-1][4]==1)
chana_jo 0:d2b5a1e8fc0c 569 {
chana_jo 0:d2b5a1e8fc0c 570 beat[page-1][4]=0;
chana_jo 0:d2b5a1e8fc0c 571 }
chana_jo 0:d2b5a1e8fc0c 572
chana_jo 0:d2b5a1e8fc0c 573 }
chana_jo 0:d2b5a1e8fc0c 574 if(TS_State.touchX[0]<342&&TS_State.touchX[0]>318&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//beat6
chana_jo 0:d2b5a1e8fc0c 575 {
chana_jo 0:d2b5a1e8fc0c 576 if(beat[page-1][5]==0)
chana_jo 0:d2b5a1e8fc0c 577 {
chana_jo 0:d2b5a1e8fc0c 578 beat[page-1][5]=1;
chana_jo 0:d2b5a1e8fc0c 579 }
chana_jo 0:d2b5a1e8fc0c 580 else if(beat[page-1][5]==1)
chana_jo 0:d2b5a1e8fc0c 581 {
chana_jo 0:d2b5a1e8fc0c 582 beat[page-1][5]=0;
chana_jo 0:d2b5a1e8fc0c 583 }
chana_jo 0:d2b5a1e8fc0c 584
chana_jo 0:d2b5a1e8fc0c 585 }
chana_jo 0:d2b5a1e8fc0c 586 if(TS_State.touchX[0]<386&&TS_State.touchX[0]>362&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//beat7
chana_jo 0:d2b5a1e8fc0c 587 {
chana_jo 0:d2b5a1e8fc0c 588 if(beat[page-1][6]==0)
chana_jo 0:d2b5a1e8fc0c 589 {
chana_jo 0:d2b5a1e8fc0c 590 beat[page-1][6]=1;
chana_jo 0:d2b5a1e8fc0c 591 }
chana_jo 0:d2b5a1e8fc0c 592 else if(beat[page-1][6]==1)
chana_jo 0:d2b5a1e8fc0c 593 {
chana_jo 0:d2b5a1e8fc0c 594 beat[page-1][6]=0;
chana_jo 0:d2b5a1e8fc0c 595 }
chana_jo 0:d2b5a1e8fc0c 596
chana_jo 0:d2b5a1e8fc0c 597 }
chana_jo 0:d2b5a1e8fc0c 598 if(TS_State.touchX[0]<430&&TS_State.touchX[0]>406&&TS_State.touchY[0]<248&&TS_State.touchY[0]>198)//beat8
chana_jo 0:d2b5a1e8fc0c 599 {
chana_jo 0:d2b5a1e8fc0c 600 if(beat[page-1][7]==0)
chana_jo 0:d2b5a1e8fc0c 601 {
chana_jo 0:d2b5a1e8fc0c 602 beat[page-1][7]=1;
chana_jo 0:d2b5a1e8fc0c 603 }
chana_jo 0:d2b5a1e8fc0c 604 else if(beat[page-1][7]==1)
chana_jo 0:d2b5a1e8fc0c 605 {
chana_jo 0:d2b5a1e8fc0c 606 beat[page-1][7]=0;
chana_jo 0:d2b5a1e8fc0c 607 }
chana_jo 0:d2b5a1e8fc0c 608
chana_jo 0:d2b5a1e8fc0c 609 }
chana_jo 0:d2b5a1e8fc0c 610
chana_jo 0:d2b5a1e8fc0c 611 pc.printf("at page :%d ",page); //ไว้check uart เฉยๆ
chana_jo 0:d2b5a1e8fc0c 612 pc.printf("%d",beat[page-1][0]);
chana_jo 0:d2b5a1e8fc0c 613 pc.printf("%d",beat[page-1][1]);
chana_jo 0:d2b5a1e8fc0c 614 pc.printf("%d",beat[page-1][2]);
chana_jo 0:d2b5a1e8fc0c 615 pc.printf("%d",beat[page-1][3]);
chana_jo 0:d2b5a1e8fc0c 616 pc.printf("%d",beat[page-1][4]);
chana_jo 0:d2b5a1e8fc0c 617 pc.printf("%d",beat[page-1][5]);
chana_jo 0:d2b5a1e8fc0c 618 pc.printf("%d",beat[page-1][6]);
chana_jo 0:d2b5a1e8fc0c 619 pc.printf("%d",beat[page-1][7]);
chana_jo 0:d2b5a1e8fc0c 620 pc.printf("\n\r");
chana_jo 0:d2b5a1e8fc0c 621 }
chana_jo 0:d2b5a1e8fc0c 622 }
chana_jo 0:d2b5a1e8fc0c 623
chana_jo 0:d2b5a1e8fc0c 624 void knob()//read analog
chana_jo 0:d2b5a1e8fc0c 625 {
chana_jo 4:ec0ff5b355e8 626
chana_jo 0:d2b5a1e8fc0c 627
chana_jo 4:ec0ff5b355e8 628 volume=volumeknob.read();//0to100
chana_jo 4:ec0ff5b355e8 629 tempo=tempoknob.read();//problematic********************************************
chana_jo 0:d2b5a1e8fc0c 630
chana_jo 4:ec0ff5b355e8 631 volume2=volume*100;
chana_jo 4:ec0ff5b355e8 632 sprintf(volumechar,"%1.1f",volume2);
chana_jo 4:ec0ff5b355e8 633 tempo2=60+(tempo*90);
chana_jo 4:ec0ff5b355e8 634 speed=(60/tempo2)/2;
chana_jo 4:ec0ff5b355e8 635 sprintf(tempostr,"%1.1f",speed);
chana_jo 4:ec0ff5b355e8 636 pc.printf("speed = %1.3f\n\r",speed);
chana_jo 4:ec0ff5b355e8 637 pc.printf("tempo =%1.1f\n\r",tempo2);
chana_jo 4:ec0ff5b355e8 638 pc.printf("volume =%1.3f\n\r",volume);
chana_jo 4:ec0ff5b355e8 639 pc.printf("volume =%1.1f percent\n\r",volume2);
chana_jo 0:d2b5a1e8fc0c 640
chana_jo 0:d2b5a1e8fc0c 641 }
chana_jo 0:d2b5a1e8fc0c 642
chana_jo 0:d2b5a1e8fc0c 643
chana_jo 0:d2b5a1e8fc0c 644
chana_jo 0:d2b5a1e8fc0c 645
chana_jo 0:d2b5a1e8fc0c 646 void screen()// function for display
chana_jo 0:d2b5a1e8fc0c 647 {
chana_jo 0:d2b5a1e8fc0c 648 lcd.SetBackColor(LCD_COLOR_BLUE);
chana_jo 0:d2b5a1e8fc0c 649 lcd.SetTextColor(LCD_COLOR_BROWN);//play button
chana_jo 0:d2b5a1e8fc0c 650 lcd.FillRect(24,198,50,50);
chana_jo 0:d2b5a1e8fc0c 651 lcd.SetTextColor(LCD_COLOR_YELLOW);//previous page
chana_jo 0:d2b5a1e8fc0c 652 lcd.FillRect(24,136,50,25);
chana_jo 0:d2b5a1e8fc0c 653 lcd.SetTextColor(LCD_COLOR_YELLOW);// next page
chana_jo 0:d2b5a1e8fc0c 654 lcd.FillRect(406,136,50,25);
chana_jo 0:d2b5a1e8fc0c 655
chana_jo 0:d2b5a1e8fc0c 656 sprintf(strvolume,"%s","Volume "); //display volume
chana_jo 0:d2b5a1e8fc0c 657 lcd.SetTextColor(LCD_COLOR_BLACK);
chana_jo 0:d2b5a1e8fc0c 658 lcd.DisplayStringAt(24,LINE(1),(uint8_t*)strvolume,LEFT_MODE);
chana_jo 0:d2b5a1e8fc0c 659 sprintf(volumechar,"%s",volumechar);
chana_jo 0:d2b5a1e8fc0c 660 lcd.SetTextColor(LCD_COLOR_BLACK);
chana_jo 0:d2b5a1e8fc0c 661 lcd.DisplayStringAt(24,LINE(2),(uint8_t*)volumechar,LEFT_MODE);
chana_jo 0:d2b5a1e8fc0c 662
chana_jo 0:d2b5a1e8fc0c 663 sprintf(strtempo,"%s","Tempo ");
chana_jo 0:d2b5a1e8fc0c 664 lcd.SetTextColor(LCD_COLOR_BLACK);
chana_jo 0:d2b5a1e8fc0c 665 lcd.DisplayStringAt(24,LINE(1),(uint8_t*)strtempo,RIGHT_MODE);
chana_jo 4:ec0ff5b355e8 666 sprintf(tempostr,"%1.1f",tempo2); ////////////////////////////////////////////display tempo on lcd ไม่ถูก
chana_jo 0:d2b5a1e8fc0c 667 lcd.SetTextColor(LCD_COLOR_BLACK);
Tantep 1:19138bfe23c9 668 lcd.DisplayStringAt(24,LINE(2),(uint8_t*)tempostr,RIGHT_MODE);
chana_jo 0:d2b5a1e8fc0c 669
chana_jo 0:d2b5a1e8fc0c 670
chana_jo 0:d2b5a1e8fc0c 671
chana_jo 0:d2b5a1e8fc0c 672
chana_jo 0:d2b5a1e8fc0c 673 if(page==1) //พวกนี้คือแสดงหน้าว่าอยู่หน้าอะไร
chana_jo 0:d2b5a1e8fc0c 674 {
Tantep 1:19138bfe23c9 675 sprintf(currentpage,"%s","Current page is Kick ");
chana_jo 0:d2b5a1e8fc0c 676 lcd.SetTextColor(LCD_COLOR_BLACK);
chana_jo 0:d2b5a1e8fc0c 677 lcd.DisplayStringAt(24,LINE(3),(uint8_t*)currentpage,LEFT_MODE);
Tantep 1:19138bfe23c9 678
chana_jo 0:d2b5a1e8fc0c 679 }
chana_jo 0:d2b5a1e8fc0c 680 else if(page==2)
chana_jo 0:d2b5a1e8fc0c 681 {
Tantep 1:19138bfe23c9 682 sprintf(currentpage,"%s","Current page is Snare ");
chana_jo 0:d2b5a1e8fc0c 683 lcd.SetTextColor(LCD_COLOR_BLACK);
chana_jo 0:d2b5a1e8fc0c 684 lcd.DisplayStringAt(24,LINE(3),(uint8_t*)currentpage,LEFT_MODE);
Tantep 1:19138bfe23c9 685
chana_jo 0:d2b5a1e8fc0c 686 }
chana_jo 0:d2b5a1e8fc0c 687 else if(page==3)
chana_jo 0:d2b5a1e8fc0c 688 {
Tantep 1:19138bfe23c9 689 sprintf(currentpage,"%s","Current page is Clap ");
chana_jo 0:d2b5a1e8fc0c 690 lcd.SetTextColor(LCD_COLOR_BLACK);
chana_jo 0:d2b5a1e8fc0c 691 lcd.DisplayStringAt(24,LINE(3),(uint8_t*)currentpage,LEFT_MODE);
chana_jo 0:d2b5a1e8fc0c 692 }
chana_jo 0:d2b5a1e8fc0c 693 else if(page==4)
chana_jo 0:d2b5a1e8fc0c 694 {
Tantep 1:19138bfe23c9 695 sprintf(currentpage,"%s","Current page is Close HiHat ");
chana_jo 0:d2b5a1e8fc0c 696 lcd.SetTextColor(LCD_COLOR_BLACK);
chana_jo 0:d2b5a1e8fc0c 697 lcd.DisplayStringAt(24,LINE(3),(uint8_t*)currentpage,LEFT_MODE);
chana_jo 0:d2b5a1e8fc0c 698 }
chana_jo 0:d2b5a1e8fc0c 699 else if(page==5)
chana_jo 0:d2b5a1e8fc0c 700 {
Tantep 1:19138bfe23c9 701 sprintf(currentpage,"%s","Current page is Open HiHat ");
chana_jo 0:d2b5a1e8fc0c 702 lcd.SetTextColor(LCD_COLOR_BLACK);
chana_jo 0:d2b5a1e8fc0c 703 lcd.DisplayStringAt(24,LINE(3),(uint8_t*)currentpage,LEFT_MODE);
chana_jo 0:d2b5a1e8fc0c 704 }
chana_jo 0:d2b5a1e8fc0c 705
chana_jo 0:d2b5a1e8fc0c 706 // พวกนี้คือเปลี่ยนปุ่มแต่ละ beat
chana_jo 0:d2b5a1e8fc0c 707 if(beat[page-1][0]==0)
chana_jo 0:d2b5a1e8fc0c 708 {
chana_jo 0:d2b5a1e8fc0c 709 lcd.SetTextColor(LCD_COLOR_LIGHTRED);
chana_jo 0:d2b5a1e8fc0c 710 lcd.FillRect(98,198,24,50);
chana_jo 0:d2b5a1e8fc0c 711 }
chana_jo 0:d2b5a1e8fc0c 712 if(beat[page-1][0]==1)
chana_jo 0:d2b5a1e8fc0c 713 {
chana_jo 0:d2b5a1e8fc0c 714 lcd.SetTextColor(LCD_COLOR_GREEN);
chana_jo 0:d2b5a1e8fc0c 715 lcd.FillRect(98,198,24,50);
chana_jo 0:d2b5a1e8fc0c 716 }
chana_jo 0:d2b5a1e8fc0c 717 if(beat[page-1][1]==0)
chana_jo 0:d2b5a1e8fc0c 718 {
chana_jo 0:d2b5a1e8fc0c 719 lcd.SetTextColor(LCD_COLOR_LIGHTRED);
chana_jo 0:d2b5a1e8fc0c 720 lcd.FillRect(142,198,24,50);
chana_jo 0:d2b5a1e8fc0c 721 }
chana_jo 0:d2b5a1e8fc0c 722 if(beat[page-1][1]==1)
chana_jo 0:d2b5a1e8fc0c 723 {
chana_jo 0:d2b5a1e8fc0c 724 lcd.SetTextColor(LCD_COLOR_GREEN);
chana_jo 0:d2b5a1e8fc0c 725 lcd.FillRect(142,198,24,50);
chana_jo 0:d2b5a1e8fc0c 726 }
chana_jo 0:d2b5a1e8fc0c 727 if(beat[page-1][2]==0)
chana_jo 0:d2b5a1e8fc0c 728 {
chana_jo 0:d2b5a1e8fc0c 729 lcd.SetTextColor(LCD_COLOR_LIGHTRED);
chana_jo 0:d2b5a1e8fc0c 730 lcd.FillRect(186,198,24,50);
chana_jo 0:d2b5a1e8fc0c 731 }
chana_jo 0:d2b5a1e8fc0c 732 if(beat[page-1][2]==1)
chana_jo 0:d2b5a1e8fc0c 733 {
chana_jo 0:d2b5a1e8fc0c 734 lcd.SetTextColor(LCD_COLOR_GREEN);
chana_jo 0:d2b5a1e8fc0c 735 lcd.FillRect(186,198,24,50);
chana_jo 0:d2b5a1e8fc0c 736 }
chana_jo 0:d2b5a1e8fc0c 737 if(beat[page-1][3]==0)
chana_jo 0:d2b5a1e8fc0c 738 {
chana_jo 0:d2b5a1e8fc0c 739 lcd.SetTextColor(LCD_COLOR_LIGHTRED);
chana_jo 0:d2b5a1e8fc0c 740 lcd.FillRect(230,198,24,50);
chana_jo 0:d2b5a1e8fc0c 741 }
chana_jo 0:d2b5a1e8fc0c 742 if(beat[page-1][3]==1)
chana_jo 0:d2b5a1e8fc0c 743 {
chana_jo 0:d2b5a1e8fc0c 744 lcd.SetTextColor(LCD_COLOR_GREEN);
chana_jo 0:d2b5a1e8fc0c 745 lcd.FillRect(230,198,24,50);
chana_jo 0:d2b5a1e8fc0c 746 }
chana_jo 0:d2b5a1e8fc0c 747 if(beat[page-1][4]==0)
chana_jo 0:d2b5a1e8fc0c 748 {
chana_jo 0:d2b5a1e8fc0c 749 lcd.SetTextColor(LCD_COLOR_LIGHTRED);
chana_jo 0:d2b5a1e8fc0c 750 lcd.FillRect(274,198,24,50);
chana_jo 0:d2b5a1e8fc0c 751 }
chana_jo 0:d2b5a1e8fc0c 752 if(beat[page-1][4]==1)
chana_jo 0:d2b5a1e8fc0c 753 {
chana_jo 0:d2b5a1e8fc0c 754 lcd.SetTextColor(LCD_COLOR_GREEN);
chana_jo 0:d2b5a1e8fc0c 755 lcd.FillRect(274,198,24,50);
chana_jo 0:d2b5a1e8fc0c 756 }
chana_jo 0:d2b5a1e8fc0c 757 if(beat[page-1][5]==0)
chana_jo 0:d2b5a1e8fc0c 758 {
chana_jo 0:d2b5a1e8fc0c 759 lcd.SetTextColor(LCD_COLOR_LIGHTRED);
chana_jo 0:d2b5a1e8fc0c 760 lcd.FillRect(318,198,24,50);
chana_jo 0:d2b5a1e8fc0c 761 }
chana_jo 0:d2b5a1e8fc0c 762 if(beat[page-1][5]==1)
chana_jo 0:d2b5a1e8fc0c 763 {
chana_jo 0:d2b5a1e8fc0c 764 lcd.SetTextColor(LCD_COLOR_GREEN);
chana_jo 0:d2b5a1e8fc0c 765 lcd.FillRect(318,198,24,50);
chana_jo 0:d2b5a1e8fc0c 766 }
chana_jo 0:d2b5a1e8fc0c 767 if(beat[page-1][6]==0)
chana_jo 0:d2b5a1e8fc0c 768 {
chana_jo 0:d2b5a1e8fc0c 769 lcd.SetTextColor(LCD_COLOR_LIGHTRED);
chana_jo 0:d2b5a1e8fc0c 770 lcd.FillRect(362,198,24,50);
chana_jo 0:d2b5a1e8fc0c 771 }
chana_jo 0:d2b5a1e8fc0c 772 if(beat[page-1][6]==1)
chana_jo 0:d2b5a1e8fc0c 773 {
chana_jo 0:d2b5a1e8fc0c 774 lcd.SetTextColor(LCD_COLOR_GREEN);
chana_jo 0:d2b5a1e8fc0c 775 lcd.FillRect(362,198,24,50);
chana_jo 0:d2b5a1e8fc0c 776 }
chana_jo 0:d2b5a1e8fc0c 777 if(beat[page-1][7]==0)
chana_jo 0:d2b5a1e8fc0c 778 {
chana_jo 0:d2b5a1e8fc0c 779 lcd.SetTextColor(LCD_COLOR_LIGHTRED);
chana_jo 0:d2b5a1e8fc0c 780 lcd.FillRect(406,198,24,50);
chana_jo 0:d2b5a1e8fc0c 781 }
chana_jo 0:d2b5a1e8fc0c 782 if(beat[page-1][7]==1)
chana_jo 0:d2b5a1e8fc0c 783 {
chana_jo 0:d2b5a1e8fc0c 784 lcd.SetTextColor(LCD_COLOR_GREEN);
chana_jo 0:d2b5a1e8fc0c 785 lcd.FillRect(406,198,24,50);
chana_jo 0:d2b5a1e8fc0c 786 }
chana_jo 0:d2b5a1e8fc0c 787
chana_jo 0:d2b5a1e8fc0c 788 }
Tantep 5:7db99d28bc36 789
chana_jo 2:58378cb7e76f 790
chana_jo 2:58378cb7e76f 791