Talk Watch system using NTP timer for JBB.

Dependencies:   EthernetNetIf FatFileSystem HTTPClient_ToBeRemoved HTTPServer NTPClient_NetServices TextLCD mbed

Fork of StarBoardOrangeTest3 by Yuji Notsu

Committer:
y_notsu
Date:
Thu Feb 23 14:35:52 2012 +0000
Revision:
0:ae31fe6f181c
Child:
1:8816ea8be54b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
y_notsu 0:ae31fe6f181c 1 #include "mbed.h"
y_notsu 0:ae31fe6f181c 2 //#define USE_TextLCD_20x4
y_notsu 0:ae31fe6f181c 3 #define USE_FIXED_IP
y_notsu 0:ae31fe6f181c 4
y_notsu 0:ae31fe6f181c 5 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 6 //////// For Waveplayer ////////
y_notsu 0:ae31fe6f181c 7 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 8 //Place suitable uncompressed wav files with 8 or 16 bit sample sizes on the SD card and ensure the
y_notsu 0:ae31fe6f181c 9 //file names are 8.3 format. Then change the main method below to the relevant file paths.
y_notsu 0:ae31fe6f181c 10 #include "wavplayer.h"
y_notsu 0:ae31fe6f181c 11
y_notsu 0:ae31fe6f181c 12
y_notsu 0:ae31fe6f181c 13 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 14 //////// general setting ////////
y_notsu 0:ae31fe6f181c 15 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 16 //#define USE_TextLCD_20x4
y_notsu 0:ae31fe6f181c 17 #define USE_FIXED_IP
y_notsu 0:ae31fe6f181c 18
y_notsu 0:ae31fe6f181c 19 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 20 //////// For TextLCD ////////
y_notsu 0:ae31fe6f181c 21 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 22 #include "TextLCD.h"
y_notsu 0:ae31fe6f181c 23 #ifdef USE_TextLCD_20x4
y_notsu 0:ae31fe6f181c 24 //TextLCD lcd( p24, p26, p27, p28, p29, p30, TextLCD::LCD20x4 ); // rs, e, d0-d3
y_notsu 0:ae31fe6f181c 25 #else
y_notsu 0:ae31fe6f181c 26 TextLCD lcd( p24, p26, p27, p28, p29, p30 ); // rs, e, d0-d3
y_notsu 0:ae31fe6f181c 27 #endif
y_notsu 0:ae31fe6f181c 28
y_notsu 0:ae31fe6f181c 29 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 30 //////// For SD_card ////////
y_notsu 0:ae31fe6f181c 31 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 32 #include "SDHCFileSystem.h"
y_notsu 0:ae31fe6f181c 33 //SDFileSystem sd(p5, p6, p7, p13, "sd"); // mosi, miso, sclk, cs, name
y_notsu 0:ae31fe6f181c 34 SDFileSystem sd(p5, p6, p7, p8, "sd"); // mosi, miso, sclk, cs, name (HW modification candidate)
y_notsu 0:ae31fe6f181c 35
y_notsu 0:ae31fe6f181c 36 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 37 //////// For USB storage ////////
y_notsu 0:ae31fe6f181c 38 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 39 //#include "MSCFileSystem.h"
y_notsu 0:ae31fe6f181c 40 //MSCFileSystem usb("usb");
y_notsu 0:ae31fe6f181c 41
y_notsu 0:ae31fe6f181c 42 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 43 //////// For Ethernet test ////////
y_notsu 0:ae31fe6f181c 44 ////////////////////////////////////////
y_notsu 0:ae31fe6f181c 45 #include "EthernetNetIf.h"
y_notsu 0:ae31fe6f181c 46 //#include "HTTPServer.h"
y_notsu 0:ae31fe6f181c 47 //#ifdef USE_FIXED_IP
y_notsu 0:ae31fe6f181c 48 //EthernetNetIf eth(
y_notsu 0:ae31fe6f181c 49 // IpAddr(192,168,0,20), //IP Address
y_notsu 0:ae31fe6f181c 50 // IpAddr(255,255,255,0), //Network Mask
y_notsu 0:ae31fe6f181c 51 // IpAddr(192,168,0,1), //Gateway
y_notsu 0:ae31fe6f181c 52 // IpAddr(192,168,0,1) //DNS
y_notsu 0:ae31fe6f181c 53 //);
y_notsu 0:ae31fe6f181c 54 //#else
y_notsu 0:ae31fe6f181c 55 EthernetNetIf eth;
y_notsu 0:ae31fe6f181c 56 //#endif
y_notsu 0:ae31fe6f181c 57 //HTTPServer svr;
y_notsu 0:ae31fe6f181c 58 //#include "HTTPClient.h"
y_notsu 0:ae31fe6f181c 59 #include "NTPClient.h"
y_notsu 0:ae31fe6f181c 60 NTPClient ntp;
y_notsu 0:ae31fe6f181c 61 const char ntp_server[] = "0.uk.pool.ntp.org";
y_notsu 0:ae31fe6f181c 62
y_notsu 0:ae31fe6f181c 63 LocalFileSystem web("local");
y_notsu 0:ae31fe6f181c 64
y_notsu 0:ae31fe6f181c 65
y_notsu 0:ae31fe6f181c 66
y_notsu 0:ae31fe6f181c 67
y_notsu 0:ae31fe6f181c 68 void test_file_write( char *title, char *path );
y_notsu 0:ae31fe6f181c 69 //void test_httpserver( void );
y_notsu 0:ae31fe6f181c 70 int position( void );
y_notsu 0:ae31fe6f181c 71
y_notsu 0:ae31fe6f181c 72 DigitalOut led1(LED1);
y_notsu 0:ae31fe6f181c 73 DigitalOut led4(LED4);
y_notsu 0:ae31fe6f181c 74
y_notsu 0:ae31fe6f181c 75 DigitalIn SW1(p15);
y_notsu 0:ae31fe6f181c 76 DigitalIn SW2(p16);
y_notsu 0:ae31fe6f181c 77 DigitalIn TGSW(p17);
y_notsu 0:ae31fe6f181c 78 DigitalIn SW3(p14);
y_notsu 0:ae31fe6f181c 79
y_notsu 0:ae31fe6f181c 80 int playflg;
y_notsu 0:ae31fe6f181c 81 int playflg2;
y_notsu 0:ae31fe6f181c 82 int timest;
y_notsu 0:ae31fe6f181c 83
y_notsu 0:ae31fe6f181c 84 char *wavefilename1;
y_notsu 0:ae31fe6f181c 85 char *wavefilename2;
y_notsu 0:ae31fe6f181c 86 char *wavefilename3;
y_notsu 0:ae31fe6f181c 87 char *wavefilename4;
y_notsu 0:ae31fe6f181c 88
y_notsu 0:ae31fe6f181c 89 Ticker rt;
y_notsu 0:ae31fe6f181c 90 char buf[40];
y_notsu 0:ae31fe6f181c 91 time_t ctTime;
y_notsu 0:ae31fe6f181c 92
y_notsu 0:ae31fe6f181c 93 void timecall()
y_notsu 0:ae31fe6f181c 94 {
y_notsu 0:ae31fe6f181c 95 if(TGSW==1)ctTime = time(NULL)+32400;//JST time
y_notsu 0:ae31fe6f181c 96 else ctTime = time(NULL);
y_notsu 0:ae31fe6f181c 97 strftime(buf,sizeof(buf), " (%Y/%m/%d %a %p %I:%M:%S)", localtime(&ctTime));
y_notsu 0:ae31fe6f181c 98 lcd.cls();
y_notsu 0:ae31fe6f181c 99 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 100 }
y_notsu 0:ae31fe6f181c 101
y_notsu 0:ae31fe6f181c 102
y_notsu 0:ae31fe6f181c 103 int main() {
y_notsu 0:ae31fe6f181c 104 WavPlayer myWavPlayer;
y_notsu 0:ae31fe6f181c 105
y_notsu 0:ae31fe6f181c 106 led1 = 1 ;
y_notsu 0:ae31fe6f181c 107 playflg = 0;
y_notsu 0:ae31fe6f181c 108 playflg2 = 0;
y_notsu 0:ae31fe6f181c 109 printf("\r\n--------------- Starting -----------------\r\n");
y_notsu 0:ae31fe6f181c 110 lcd.printf("----Starting----");
y_notsu 0:ae31fe6f181c 111 lcd.locate(0,1);
y_notsu 0:ae31fe6f181c 112 wait(3);
y_notsu 0:ae31fe6f181c 113 test_file_write( "SD card", "/sd/star_bd.txt" );
y_notsu 0:ae31fe6f181c 114 wait(2);
y_notsu 0:ae31fe6f181c 115 //test_file_write( "USB storage", "/usb/star_bd.txt" );
y_notsu 0:ae31fe6f181c 116 //wait( 2 );
y_notsu 0:ae31fe6f181c 117 myWavPlayer.play_wave("/sd/startup.wav");
y_notsu 0:ae31fe6f181c 118 wait(0.5);
y_notsu 0:ae31fe6f181c 119 myWavPlayer.play_wave("/sd/startup2.wav");
y_notsu 0:ae31fe6f181c 120 lcd.cls();
y_notsu 0:ae31fe6f181c 121 printf("\r\nSetting up...\r\n");
y_notsu 0:ae31fe6f181c 122
y_notsu 0:ae31fe6f181c 123 lcd.printf("Setting up...\n");
y_notsu 0:ae31fe6f181c 124 if(TGSW==1)
y_notsu 0:ae31fe6f181c 125 {
y_notsu 0:ae31fe6f181c 126 EthernetErr ethErr = eth.setup();
y_notsu 0:ae31fe6f181c 127 if (ethErr) {
y_notsu 0:ae31fe6f181c 128 printf("Error %d in setup.\n", ethErr);
y_notsu 0:ae31fe6f181c 129 lcd.printf("Error %d in setup.\n", ethErr);
y_notsu 0:ae31fe6f181c 130 return -1;
y_notsu 0:ae31fe6f181c 131 }
y_notsu 0:ae31fe6f181c 132 }
y_notsu 0:ae31fe6f181c 133 lcd.locate(0,1);
y_notsu 0:ae31fe6f181c 134 printf("\r\nSetup OK\r\n");
y_notsu 0:ae31fe6f181c 135 wait(1);
y_notsu 0:ae31fe6f181c 136 //test_httpserver();
y_notsu 0:ae31fe6f181c 137
y_notsu 0:ae31fe6f181c 138 if(TGSW)
y_notsu 0:ae31fe6f181c 139 {
y_notsu 0:ae31fe6f181c 140 //RTC setup
y_notsu 0:ae31fe6f181c 141 Host server(IpAddr(), 123, ntp_server);
y_notsu 0:ae31fe6f181c 142 ntp.setTime(server);
y_notsu 0:ae31fe6f181c 143 timest=1;
y_notsu 0:ae31fe6f181c 144 }
y_notsu 0:ae31fe6f181c 145 else
y_notsu 0:ae31fe6f181c 146 {
y_notsu 0:ae31fe6f181c 147 //Internal RTC mode
y_notsu 0:ae31fe6f181c 148 // setup time structure for 29 Oct 2010 00:00:00
y_notsu 0:ae31fe6f181c 149 struct tm t;
y_notsu 0:ae31fe6f181c 150 t.tm_sec = 00; // 0-59
y_notsu 0:ae31fe6f181c 151 t.tm_min = 00; // 0-59
y_notsu 0:ae31fe6f181c 152 t.tm_hour = 00; // 0-23
y_notsu 0:ae31fe6f181c 153 t.tm_mday = 1; // 1-31
y_notsu 0:ae31fe6f181c 154 t.tm_mon = 1; // 0-11
y_notsu 0:ae31fe6f181c 155 t.tm_year = 110; // year since 1900
y_notsu 0:ae31fe6f181c 156 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 157 set_time(ctTime);
y_notsu 0:ae31fe6f181c 158 strftime(buf,sizeof(buf), " (%Y/%m/%d %a %p %I:%M:%S)", localtime(&ctTime));
y_notsu 0:ae31fe6f181c 159 lcd.cls();
y_notsu 0:ae31fe6f181c 160 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 161 //lcd.locate(8,0);
y_notsu 0:ae31fe6f181c 162 //Adjustmnt Clock
y_notsu 0:ae31fe6f181c 163 //month
y_notsu 0:ae31fe6f181c 164 lcd.cls();
y_notsu 0:ae31fe6f181c 165 lcd.printf("Month Setting");
y_notsu 0:ae31fe6f181c 166 wait(1.0);
y_notsu 0:ae31fe6f181c 167 lcd.cls();
y_notsu 0:ae31fe6f181c 168 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 169 while(SW2==0)
y_notsu 0:ae31fe6f181c 170 {
y_notsu 0:ae31fe6f181c 171 if(SW1)
y_notsu 0:ae31fe6f181c 172 {
y_notsu 0:ae31fe6f181c 173 t.tm_mon = t.tm_mon + 1;
y_notsu 0:ae31fe6f181c 174 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 175 set_time(ctTime);
y_notsu 0:ae31fe6f181c 176 }
y_notsu 0:ae31fe6f181c 177 else if(SW3)
y_notsu 0:ae31fe6f181c 178 {
y_notsu 0:ae31fe6f181c 179 t.tm_mon = t.tm_mon - 1;
y_notsu 0:ae31fe6f181c 180 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 181 set_time(ctTime);
y_notsu 0:ae31fe6f181c 182 }
y_notsu 0:ae31fe6f181c 183 strftime(buf,sizeof(buf), " (%Y/%m/%d %a %p %I:%M:%S)", localtime(&ctTime));
y_notsu 0:ae31fe6f181c 184 lcd.cls();
y_notsu 0:ae31fe6f181c 185 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 186 wait(0.5);
y_notsu 0:ae31fe6f181c 187 }
y_notsu 0:ae31fe6f181c 188 wait(1);
y_notsu 0:ae31fe6f181c 189 lcd.cls();
y_notsu 0:ae31fe6f181c 190 lcd.printf("Day Setting");
y_notsu 0:ae31fe6f181c 191 wait(1.0);
y_notsu 0:ae31fe6f181c 192 lcd.cls();
y_notsu 0:ae31fe6f181c 193 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 194 // Day setting
y_notsu 0:ae31fe6f181c 195 //lcd.locate(11,0);
y_notsu 0:ae31fe6f181c 196 while(SW2==0)
y_notsu 0:ae31fe6f181c 197 {
y_notsu 0:ae31fe6f181c 198 if(SW1)
y_notsu 0:ae31fe6f181c 199 {
y_notsu 0:ae31fe6f181c 200 t.tm_mday = t.tm_mday + 1;
y_notsu 0:ae31fe6f181c 201 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 202 set_time(ctTime);
y_notsu 0:ae31fe6f181c 203 }
y_notsu 0:ae31fe6f181c 204 else if(SW3)
y_notsu 0:ae31fe6f181c 205 {
y_notsu 0:ae31fe6f181c 206 t.tm_mday = t.tm_mday - 1;
y_notsu 0:ae31fe6f181c 207 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 208 set_time(ctTime);
y_notsu 0:ae31fe6f181c 209 }
y_notsu 0:ae31fe6f181c 210 strftime(buf,sizeof(buf), " (%Y/%m/%d %a %p %I:%M:%S)", localtime(&ctTime));
y_notsu 0:ae31fe6f181c 211 lcd.cls();
y_notsu 0:ae31fe6f181c 212 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 213 wait(0.5);
y_notsu 0:ae31fe6f181c 214 }
y_notsu 0:ae31fe6f181c 215 wait(1.0);
y_notsu 0:ae31fe6f181c 216 lcd.cls();
y_notsu 0:ae31fe6f181c 217 lcd.printf("Hour Setting");
y_notsu 0:ae31fe6f181c 218 wait(1.0);
y_notsu 0:ae31fe6f181c 219 lcd.cls();
y_notsu 0:ae31fe6f181c 220 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 221 // Hour setting
y_notsu 0:ae31fe6f181c 222 //lcd.locate(11,0);
y_notsu 0:ae31fe6f181c 223 while(SW2==0)
y_notsu 0:ae31fe6f181c 224 {
y_notsu 0:ae31fe6f181c 225 if(SW1)
y_notsu 0:ae31fe6f181c 226 {
y_notsu 0:ae31fe6f181c 227 t.tm_hour = t.tm_hour + 1;
y_notsu 0:ae31fe6f181c 228 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 229 set_time(ctTime);
y_notsu 0:ae31fe6f181c 230 }
y_notsu 0:ae31fe6f181c 231 else if(SW3)
y_notsu 0:ae31fe6f181c 232 {
y_notsu 0:ae31fe6f181c 233 t.tm_hour = t.tm_hour - 1;
y_notsu 0:ae31fe6f181c 234 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 235 set_time(ctTime);
y_notsu 0:ae31fe6f181c 236 }
y_notsu 0:ae31fe6f181c 237 strftime(buf,sizeof(buf), " (%Y/%m/%d %a %p %I:%M:%S)", localtime(&ctTime));
y_notsu 0:ae31fe6f181c 238 lcd.cls();
y_notsu 0:ae31fe6f181c 239 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 240 wait(0.5);
y_notsu 0:ae31fe6f181c 241 }
y_notsu 0:ae31fe6f181c 242 wait(1.0);
y_notsu 0:ae31fe6f181c 243 lcd.cls();
y_notsu 0:ae31fe6f181c 244 lcd.printf("Min Setting");
y_notsu 0:ae31fe6f181c 245 wait(1.0);
y_notsu 0:ae31fe6f181c 246 lcd.cls();
y_notsu 0:ae31fe6f181c 247 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 248 // Min setting
y_notsu 0:ae31fe6f181c 249 //lcd.locate(11,0);
y_notsu 0:ae31fe6f181c 250 while(SW2==0)
y_notsu 0:ae31fe6f181c 251 {
y_notsu 0:ae31fe6f181c 252 if(SW1)
y_notsu 0:ae31fe6f181c 253 {
y_notsu 0:ae31fe6f181c 254 t.tm_min = t.tm_min + 1;
y_notsu 0:ae31fe6f181c 255 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 256 set_time(ctTime);
y_notsu 0:ae31fe6f181c 257 }
y_notsu 0:ae31fe6f181c 258 else if(SW3)
y_notsu 0:ae31fe6f181c 259 {
y_notsu 0:ae31fe6f181c 260 t.tm_min = t.tm_min - 1;
y_notsu 0:ae31fe6f181c 261 ctTime = mktime(&t);
y_notsu 0:ae31fe6f181c 262 set_time(ctTime);
y_notsu 0:ae31fe6f181c 263 }
y_notsu 0:ae31fe6f181c 264 strftime(buf,sizeof(buf), " (%Y/%m/%d %a %p %I:%M:%S)", localtime(&ctTime));
y_notsu 0:ae31fe6f181c 265 lcd.cls();
y_notsu 0:ae31fe6f181c 266 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 267 wait(0.5);
y_notsu 0:ae31fe6f181c 268 }
y_notsu 0:ae31fe6f181c 269 wait(2.0);
y_notsu 0:ae31fe6f181c 270 strftime(buf,sizeof(buf), " (%Y/%m/%d %a %p %I:%M:%S)", localtime(&ctTime));
y_notsu 0:ae31fe6f181c 271 lcd.cls();
y_notsu 0:ae31fe6f181c 272 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 273 wait(1.0);
y_notsu 0:ae31fe6f181c 274
y_notsu 0:ae31fe6f181c 275 }
y_notsu 0:ae31fe6f181c 276 lcd.cls();
y_notsu 0:ae31fe6f181c 277 lcd.printf("Time Set End");
y_notsu 0:ae31fe6f181c 278 wait(1);
y_notsu 0:ae31fe6f181c 279
y_notsu 0:ae31fe6f181c 280 // rt.attach_us(&timecall,300.0);
y_notsu 0:ae31fe6f181c 281
y_notsu 0:ae31fe6f181c 282 while(1)
y_notsu 0:ae31fe6f181c 283 {
y_notsu 0:ae31fe6f181c 284 lcd.cls();
y_notsu 0:ae31fe6f181c 285 //lcd.printf("WAVE file select:");
y_notsu 0:ae31fe6f181c 286
y_notsu 0:ae31fe6f181c 287 if(TGSW==1)ctTime = time(NULL)+32400;//JST time
y_notsu 0:ae31fe6f181c 288 else ctTime = time(NULL);
y_notsu 0:ae31fe6f181c 289 strftime(buf,sizeof(buf), " (%Y/%m/%d %a %p %I:%M:%S)", localtime(&ctTime));
y_notsu 0:ae31fe6f181c 290 lcd.printf("%s",buf);
y_notsu 0:ae31fe6f181c 291
y_notsu 0:ae31fe6f181c 292 //wait(0.5);
y_notsu 0:ae31fe6f181c 293
y_notsu 0:ae31fe6f181c 294 if(SW1)
y_notsu 0:ae31fe6f181c 295 {
y_notsu 0:ae31fe6f181c 296 if(buf[20]=='1')
y_notsu 0:ae31fe6f181c 297 {
y_notsu 0:ae31fe6f181c 298 if(buf[21]=='0') wavefilename1 = "/sd/10ji.wav";
y_notsu 0:ae31fe6f181c 299 else if(buf[21]=='1') wavefilename1 = "/sd/11ji.wav";
y_notsu 0:ae31fe6f181c 300 else if(buf[21]=='2') wavefilename1 = "/sd/12ji.wav";
y_notsu 0:ae31fe6f181c 301 else wavefilename1 = "/sd/jikanga.wav";
y_notsu 0:ae31fe6f181c 302 }
y_notsu 0:ae31fe6f181c 303 else
y_notsu 0:ae31fe6f181c 304 {
y_notsu 0:ae31fe6f181c 305 if(buf[20]=='0')
y_notsu 0:ae31fe6f181c 306 {
y_notsu 0:ae31fe6f181c 307 if(buf[21]=='1') wavefilename1 = "/sd/1ji.wav";
y_notsu 0:ae31fe6f181c 308 if(buf[21]=='2') wavefilename1 = "/sd/2ji.wav";
y_notsu 0:ae31fe6f181c 309 if(buf[21]=='3') wavefilename1 = "/sd/3ji.wav";
y_notsu 0:ae31fe6f181c 310 if(buf[21]=='4') wavefilename1 = "/sd/4ji.wav";
y_notsu 0:ae31fe6f181c 311 if(buf[21]=='5') wavefilename1 = "/sd/5ji.wav";
y_notsu 0:ae31fe6f181c 312 if(buf[21]=='6') wavefilename1 = "/sd/6ji.wav";
y_notsu 0:ae31fe6f181c 313 if(buf[21]=='7') wavefilename1 = "/sd/7ji.wav";
y_notsu 0:ae31fe6f181c 314 if(buf[21]=='8') wavefilename1 = "/sd/8ji.wav";
y_notsu 0:ae31fe6f181c 315 if(buf[21]=='9') wavefilename1 = "/sd/9ji.wav";
y_notsu 0:ae31fe6f181c 316 }
y_notsu 0:ae31fe6f181c 317 else
y_notsu 0:ae31fe6f181c 318 {
y_notsu 0:ae31fe6f181c 319 wavefilename1 = "/sd/jikanga.wav";
y_notsu 0:ae31fe6f181c 320 }
y_notsu 0:ae31fe6f181c 321 }
y_notsu 0:ae31fe6f181c 322
y_notsu 0:ae31fe6f181c 323 if(buf[23]=='0')
y_notsu 0:ae31fe6f181c 324 {
y_notsu 0:ae31fe6f181c 325 wavefilename3 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 326 if(buf[24]=='0') wavefilename2 = "/sd/just.wav";
y_notsu 0:ae31fe6f181c 327 else if(buf[24]=='1') wavefilename2 = "/sd/1min.wav";
y_notsu 0:ae31fe6f181c 328 else if(buf[24]=='2') wavefilename2 = "/sd/2min.wav";
y_notsu 0:ae31fe6f181c 329 else if(buf[24]=='3') wavefilename2 = "/sd/3min.wav";
y_notsu 0:ae31fe6f181c 330 else if(buf[24]=='4') wavefilename2 = "/sd/4min.wav";
y_notsu 0:ae31fe6f181c 331 else if(buf[24]=='5') wavefilename2 = "/sd/5min.wav";
y_notsu 0:ae31fe6f181c 332 else if(buf[24]=='6') wavefilename2 = "/sd/6min.wav";
y_notsu 0:ae31fe6f181c 333 else if(buf[24]=='7') wavefilename2 = "/sd/7min.wav";
y_notsu 0:ae31fe6f181c 334 else if(buf[24]=='8') wavefilename2 = "/sd/8min.wav";
y_notsu 0:ae31fe6f181c 335 else if(buf[24]=='9') wavefilename2 = "/sd/9min.wav";
y_notsu 0:ae31fe6f181c 336 else wavefilename2 = "/sd/oksi.wav";
y_notsu 0:ae31fe6f181c 337 }
y_notsu 0:ae31fe6f181c 338 else if(buf[23]=='1')
y_notsu 0:ae31fe6f181c 339 {
y_notsu 0:ae31fe6f181c 340 if(buf[24]=='0'){
y_notsu 0:ae31fe6f181c 341 wavefilename2 = "/sd/10min.wav";
y_notsu 0:ae31fe6f181c 342 wavefilename3 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 343 }
y_notsu 0:ae31fe6f181c 344 else{
y_notsu 0:ae31fe6f181c 345 wavefilename2 = "/sd/10.wav";
y_notsu 0:ae31fe6f181c 346 playflg2=1;
y_notsu 0:ae31fe6f181c 347 wavefilename4 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 348 }
y_notsu 0:ae31fe6f181c 349 }
y_notsu 0:ae31fe6f181c 350 else if(buf[23]=='2')
y_notsu 0:ae31fe6f181c 351 {
y_notsu 0:ae31fe6f181c 352 if(buf[24]=='0'){
y_notsu 0:ae31fe6f181c 353 wavefilename2 = "/sd/20min.wav";
y_notsu 0:ae31fe6f181c 354 wavefilename3 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 355 }
y_notsu 0:ae31fe6f181c 356 else{
y_notsu 0:ae31fe6f181c 357 wavefilename2 = "/sd/20.wav";
y_notsu 0:ae31fe6f181c 358 playflg2=1;
y_notsu 0:ae31fe6f181c 359 wavefilename4 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 360 }
y_notsu 0:ae31fe6f181c 361 }
y_notsu 0:ae31fe6f181c 362 else if(buf[23]=='3')
y_notsu 0:ae31fe6f181c 363 {
y_notsu 0:ae31fe6f181c 364 if(buf[24]=='0'){
y_notsu 0:ae31fe6f181c 365 wavefilename2 = "/sd/30min.wav";
y_notsu 0:ae31fe6f181c 366 wavefilename3 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 367 }
y_notsu 0:ae31fe6f181c 368 else{
y_notsu 0:ae31fe6f181c 369 wavefilename2 = "/sd/30.wav";
y_notsu 0:ae31fe6f181c 370 playflg2=1;
y_notsu 0:ae31fe6f181c 371 wavefilename4 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 372 }
y_notsu 0:ae31fe6f181c 373 }
y_notsu 0:ae31fe6f181c 374 else if(buf[23]=='4')
y_notsu 0:ae31fe6f181c 375 {
y_notsu 0:ae31fe6f181c 376 if(buf[24]=='0'){
y_notsu 0:ae31fe6f181c 377 wavefilename2 = "/sd/40min.wav";
y_notsu 0:ae31fe6f181c 378 wavefilename3 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 379 }
y_notsu 0:ae31fe6f181c 380 else{
y_notsu 0:ae31fe6f181c 381 wavefilename2 = "/sd/40.wav";
y_notsu 0:ae31fe6f181c 382 playflg2=1;
y_notsu 0:ae31fe6f181c 383 wavefilename4 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 384 }
y_notsu 0:ae31fe6f181c 385 }
y_notsu 0:ae31fe6f181c 386 else if(buf[23]=='5')
y_notsu 0:ae31fe6f181c 387 {
y_notsu 0:ae31fe6f181c 388 if(buf[24]=='0'){
y_notsu 0:ae31fe6f181c 389 wavefilename2 = "/sd/50min.wav";
y_notsu 0:ae31fe6f181c 390 wavefilename3 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 391 }
y_notsu 0:ae31fe6f181c 392 else{
y_notsu 0:ae31fe6f181c 393 wavefilename2 = "/sd/50.wav";
y_notsu 0:ae31fe6f181c 394 playflg2=1;
y_notsu 0:ae31fe6f181c 395 wavefilename4 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 396 }
y_notsu 0:ae31fe6f181c 397 }
y_notsu 0:ae31fe6f181c 398 else
y_notsu 0:ae31fe6f181c 399 {
y_notsu 0:ae31fe6f181c 400 wavefilename2 = "/sd/okasi.wav";
y_notsu 0:ae31fe6f181c 401 wavefilename3 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 402 }
y_notsu 0:ae31fe6f181c 403
y_notsu 0:ae31fe6f181c 404 if(playflg2==1)
y_notsu 0:ae31fe6f181c 405 {
y_notsu 0:ae31fe6f181c 406 if(buf[24]=='1') wavefilename3 = "/sd/1min.wav";
y_notsu 0:ae31fe6f181c 407 else if(buf[24]=='2') wavefilename3 = "/sd/2min.wav";
y_notsu 0:ae31fe6f181c 408 else if(buf[24]=='3') wavefilename3 = "/sd/3min.wav";
y_notsu 0:ae31fe6f181c 409 else if(buf[24]=='4') wavefilename3 = "/sd/4min.wav";
y_notsu 0:ae31fe6f181c 410 else if(buf[24]=='5') wavefilename3 = "/sd/5min.wav";
y_notsu 0:ae31fe6f181c 411 else if(buf[24]=='6') wavefilename3 = "/sd/6min.wav";
y_notsu 0:ae31fe6f181c 412 else if(buf[24]=='7') wavefilename3 = "/sd/7min.wav";
y_notsu 0:ae31fe6f181c 413 else if(buf[24]=='8') wavefilename3 = "/sd/8min.wav";
y_notsu 0:ae31fe6f181c 414 else if(buf[24]=='9') wavefilename3 = "/sd/9min.wav";
y_notsu 0:ae31fe6f181c 415 }
y_notsu 0:ae31fe6f181c 416
y_notsu 0:ae31fe6f181c 417 playflg=1;
y_notsu 0:ae31fe6f181c 418 }
y_notsu 0:ae31fe6f181c 419
y_notsu 0:ae31fe6f181c 420 //if(SW1)
y_notsu 0:ae31fe6f181c 421 //{
y_notsu 0:ae31fe6f181c 422 // wavefilename1 = "/sd/1ji.wav";
y_notsu 0:ae31fe6f181c 423 // wavefilename2 = "/sd/5min.wav";
y_notsu 0:ae31fe6f181c 424 // wavefilename3 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 425 // playflg = 1;
y_notsu 0:ae31fe6f181c 426 //}
y_notsu 0:ae31fe6f181c 427 //if(SW2)
y_notsu 0:ae31fe6f181c 428 //{
y_notsu 0:ae31fe6f181c 429 // wavefilename1 = "/sd/11ji.wav" ;
y_notsu 0:ae31fe6f181c 430 // wavefilename2 = "/sd/30.wav";
y_notsu 0:ae31fe6f181c 431 // wavefilename3 = "/sd/7min.wav";
y_notsu 0:ae31fe6f181c 432 // wavefilename4 = "/sd/desu.wav";
y_notsu 0:ae31fe6f181c 433 // playflg =1;
y_notsu 0:ae31fe6f181c 434 //playflg2 = 1;
y_notsu 0:ae31fe6f181c 435 //}
y_notsu 0:ae31fe6f181c 436
y_notsu 0:ae31fe6f181c 437 if(playflg==1)
y_notsu 0:ae31fe6f181c 438 {
y_notsu 0:ae31fe6f181c 439 lcd.cls();
y_notsu 0:ae31fe6f181c 440 lcd.printf("%s", buf);
y_notsu 0:ae31fe6f181c 441 //lcd.printf("Wave file playing");
y_notsu 0:ae31fe6f181c 442 //lcd.locate(0,1);
y_notsu 0:ae31fe6f181c 443 //lcd.printf(wavefilename1);
y_notsu 0:ae31fe6f181c 444 myWavPlayer.play_wave(wavefilename1); // 8 bit sample size
y_notsu 0:ae31fe6f181c 445 myWavPlayer.play_wave(wavefilename2);
y_notsu 0:ae31fe6f181c 446 myWavPlayer.play_wave(wavefilename3);
y_notsu 0:ae31fe6f181c 447 if(playflg2==1)
y_notsu 0:ae31fe6f181c 448 {
y_notsu 0:ae31fe6f181c 449 myWavPlayer.play_wave(wavefilename4);
y_notsu 0:ae31fe6f181c 450 }
y_notsu 0:ae31fe6f181c 451 led1 = 0;
y_notsu 0:ae31fe6f181c 452 led4 = 1;
y_notsu 0:ae31fe6f181c 453 }
y_notsu 0:ae31fe6f181c 454 if(SW2)
y_notsu 0:ae31fe6f181c 455 {
y_notsu 0:ae31fe6f181c 456 myWavPlayer.play_wave("/sd/doubler.wav");
y_notsu 0:ae31fe6f181c 457
y_notsu 0:ae31fe6f181c 458 }
y_notsu 0:ae31fe6f181c 459
y_notsu 0:ae31fe6f181c 460 wait(0.2);
y_notsu 0:ae31fe6f181c 461 led4 = 0;
y_notsu 0:ae31fe6f181c 462 led1 = 1;
y_notsu 0:ae31fe6f181c 463 playflg =0;
y_notsu 0:ae31fe6f181c 464 playflg2=0;
y_notsu 0:ae31fe6f181c 465 }
y_notsu 0:ae31fe6f181c 466 }
y_notsu 0:ae31fe6f181c 467
y_notsu 0:ae31fe6f181c 468
y_notsu 0:ae31fe6f181c 469 void test_file_write( char *title, char *path ) {
y_notsu 0:ae31fe6f181c 470 // SD card test
y_notsu 0:ae31fe6f181c 471 lcd.locate( 0, position() );
y_notsu 0:ae31fe6f181c 472 lcd.printf( "%s: ", title );
y_notsu 0:ae31fe6f181c 473
y_notsu 0:ae31fe6f181c 474 FILE *fp = fopen( path, "w" );
y_notsu 0:ae31fe6f181c 475 if ( fp == NULL ) {
y_notsu 0:ae31fe6f181c 476 lcd.printf( "error" );
y_notsu 0:ae31fe6f181c 477 error( "Could not open file for write\n" );
y_notsu 0:ae31fe6f181c 478 }
y_notsu 0:ae31fe6f181c 479 fprintf( fp, "The mbed writing a file through the star board orange (%s)!", title );
y_notsu 0:ae31fe6f181c 480 fclose( fp );
y_notsu 0:ae31fe6f181c 481
y_notsu 0:ae31fe6f181c 482 lcd.printf( "OK." );
y_notsu 0:ae31fe6f181c 483 }
y_notsu 0:ae31fe6f181c 484
y_notsu 0:ae31fe6f181c 485
y_notsu 0:ae31fe6f181c 486 /*
y_notsu 0:ae31fe6f181c 487 void test_httpserver( void ) {
y_notsu 0:ae31fe6f181c 488 DigitalOut led1( LED1 );
y_notsu 0:ae31fe6f181c 489 lcd.locate( 0, position() );
y_notsu 0:ae31fe6f181c 490 lcd.printf( "HTTP srv: " );
y_notsu 0:ae31fe6f181c 491
y_notsu 0:ae31fe6f181c 492 Base::add_rpc_class<DigitalOut>();
y_notsu 0:ae31fe6f181c 493
y_notsu 0:ae31fe6f181c 494 printf("Setting up...n");
y_notsu 0:ae31fe6f181c 495 EthernetErr ethErr = eth.setup();
y_notsu 0:ae31fe6f181c 496 if ( ethErr ) {
y_notsu 0:ae31fe6f181c 497 lcd.printf( "error" );
y_notsu 0:ae31fe6f181c 498 error( "error @ eth.setup()\n" );
y_notsu 0:ae31fe6f181c 499 }
y_notsu 0:ae31fe6f181c 500 lcd.printf("OK ");
y_notsu 0:ae31fe6f181c 501
y_notsu 0:ae31fe6f181c 502 FSHandler::mount("/local", "/"); //Mount /webfs path on web root path
y_notsu 0:ae31fe6f181c 503 FSHandler::mount("/sd", "/sd"); //Mount /webfs path on web sd path
y_notsu 0:ae31fe6f181c 504 //FSHandler::mount("/usb", "/usb"); //Mount /webfs path on web usb path
y_notsu 0:ae31fe6f181c 505
y_notsu 0:ae31fe6f181c 506 svr.addHandler<FSHandler>("/"); //Default handler
y_notsu 0:ae31fe6f181c 507 svr.addHandler<FSHandler>("/sd");
y_notsu 0:ae31fe6f181c 508 //svr.addHandler<FSHandler>("/usb");
y_notsu 0:ae31fe6f181c 509 //Example : Access to mbed.htm : http://a.b.c.d/mbed.htm or http://a.b.c.d/files/mbed.htm
y_notsu 0:ae31fe6f181c 510
y_notsu 0:ae31fe6f181c 511 svr.bind(80);
y_notsu 0:ae31fe6f181c 512
y_notsu 0:ae31fe6f181c 513 lcd.locate( 5, position() -1 );
y_notsu 0:ae31fe6f181c 514 lcd.printf("Listening");
y_notsu 0:ae31fe6f181c 515
y_notsu 0:ae31fe6f181c 516 Timer tm;
y_notsu 0:ae31fe6f181c 517 tm.start();
y_notsu 0:ae31fe6f181c 518 //Listen indefinitely
y_notsu 0:ae31fe6f181c 519 while (true) {
y_notsu 0:ae31fe6f181c 520 Net::poll();
y_notsu 0:ae31fe6f181c 521 if (tm.read()>.5) {
y_notsu 0:ae31fe6f181c 522 led1=!led1; //Show that we are alive
y_notsu 0:ae31fe6f181c 523 tm.start();
y_notsu 0:ae31fe6f181c 524 }
y_notsu 0:ae31fe6f181c 525 }
y_notsu 0:ae31fe6f181c 526 }
y_notsu 0:ae31fe6f181c 527 */
y_notsu 0:ae31fe6f181c 528
y_notsu 0:ae31fe6f181c 529 int position( void ) {
y_notsu 0:ae31fe6f181c 530 static int p = 0;
y_notsu 0:ae31fe6f181c 531
y_notsu 0:ae31fe6f181c 532 #ifdef USE_TextLCD_20x4
y_notsu 0:ae31fe6f181c 533 return( ++p % 4 );
y_notsu 0:ae31fe6f181c 534 #else
y_notsu 0:ae31fe6f181c 535 return( ++p % 2 );
y_notsu 0:ae31fe6f181c 536 #endif
y_notsu 0:ae31fe6f181c 537 }
y_notsu 0:ae31fe6f181c 538