Test of Embedded Artists LPCXpresso baseboard SD card and ethernet facilities. This program downloads files from a website to the SD card. This program now uses the HTTPClient from: http://mbed.org/users/donatien/programs/HTTPClient/latest which downloads the files without errors. The previous version of this program was used to demonstrate that an earlier HTTPClient downloaded files with errors.
Dependencies: EthernetNetIf mbed
main.cpp
- Committer:
- tom_coxon
- Date:
- 2010-07-09
- Revision:
- 0:1b55f626a40f
- Child:
- 1:0734a7b0fd5e
File content as of revision 0:1b55f626a40f:
/* Demo of Embedded Artists LPCXpresso baseboard SD card and ethernet facilities. This program downloads three files from a website to the SD card. SD Card setup: 1. Insert all five jumpers in J39 as described in section 4.3.3 of base board users guide. 2. Remove jumper marked "A" in J55 In order to connect PIO1_11 to CS signal of J40 (the SPI-SSEL signal) as described in section 4.3.3 of base board users guide. Please note that there seems to be some problem with the libraries used. This program downloads the files to the SD card but often looses some of the file data. */ #include "mbed.h" #include "SDFileSystem.h" #include "HTTPClient.h" DigitalOut led1(LED1);// blinks when all done DigitalOut led4(LED4);// blinks during file download HTTPClient http; Ticker tick; SDFileSystem sd(p5, p6, p7, p24, "sd"); void blinkLED4() { led4 = !led4; } void dowloadFileToSD(char *url, char *path) { // Open a file to write. FILE *fd = fopen(path, "w"); if (fd == NULL) { error("Can not write to SD, check SD and reset mbed.\r\n"); } printf("Downloading to "); printf("%s", path); printf(" please wait ... \r\n"); tick.attach(& blinkLED4, 0.5); http.get(url, fd); // Close the file. fclose(fd); tick.detach(); printf("File downloaded to SD card\r\n"); led4 = 0; } int main(void) { printf("\r\n----------- Starting ------------\r\n"); printf("Initialising NetServer ....\r\n"); //Initialize NetServer which obtains our DHCP address and gets the network interface ready NetServer * net = NetServer::ready(); printf("\r\nNetwork interface is up\r\n"); dowloadFileToSD("http://homepage.ntlworld.com/green_bean/mbed/bong.wav", "/sd/bong.wav" ); dowloadFileToSD("http://homepage.ntlworld.com/green_bean/mbed/quarter.wav", "/sd/quarter.wav" ); dowloadFileToSD("http://homepage.ntlworld.com/green_bean/mbed/hour.wav", "/sd/hour.wav" ); printf("-------------- All done ------------\r\n"); while (1) { led1 = !led1; wait(0.2); } }