mbed publishes real time up-to-date FTSE100 index data and posts it to a 7 segment multipurpose mbed breakout board
Dependencies: EthernetNetIf dispBoB mbed
FTSE100.cpp@0:60eb2e98d56c, 2011-07-06 (annotated)
- Committer:
- d_worrall
- Date:
- Wed Jul 06 10:20:18 2011 +0000
- Revision:
- 0:60eb2e98d56c
- Child:
- 1:10d951807d06
version1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
d_worrall | 0:60eb2e98d56c | 1 | #include "mbed.h" |
d_worrall | 0:60eb2e98d56c | 2 | #include "EthernetNetIf.h" |
d_worrall | 0:60eb2e98d56c | 3 | #include "HTTPClient.h" |
d_worrall | 0:60eb2e98d56c | 4 | #include "dispBoB.h" |
d_worrall | 0:60eb2e98d56c | 5 | |
d_worrall | 0:60eb2e98d56c | 6 | EthernetNetIf eth; |
d_worrall | 0:60eb2e98d56c | 7 | HTTPClient http; |
d_worrall | 0:60eb2e98d56c | 8 | Serial pc(USBTX, USBRX); |
d_worrall | 0:60eb2e98d56c | 9 | dispBoB db(p28, p27, p26); |
d_worrall | 0:60eb2e98d56c | 10 | |
d_worrall | 0:60eb2e98d56c | 11 | int main() { |
d_worrall | 0:60eb2e98d56c | 12 | |
d_worrall | 0:60eb2e98d56c | 13 | printf("Start\n\r"); |
d_worrall | 0:60eb2e98d56c | 14 | printf("\r\nSetting up...\r\n"); |
d_worrall | 0:60eb2e98d56c | 15 | |
d_worrall | 0:60eb2e98d56c | 16 | EthernetErr ethErr = eth.setup(); //Setup ethernet connection |
d_worrall | 0:60eb2e98d56c | 17 | if(ethErr) { |
d_worrall | 0:60eb2e98d56c | 18 | printf("Error %d in setup.\n\r", ethErr); |
d_worrall | 0:60eb2e98d56c | 19 | return -1; |
d_worrall | 0:60eb2e98d56c | 20 | } |
d_worrall | 0:60eb2e98d56c | 21 | printf("\r\nSetup OK\r\n"); |
d_worrall | 0:60eb2e98d56c | 22 | |
d_worrall | 0:60eb2e98d56c | 23 | db.cls(); |
d_worrall | 0:60eb2e98d56c | 24 | |
d_worrall | 0:60eb2e98d56c | 25 | HTTPText txt; //instantiate HTTPStream object |
d_worrall | 0:60eb2e98d56c | 26 | while(1){ |
d_worrall | 0:60eb2e98d56c | 27 | HTTPResult r = http.get("http://www.mbed.webatu.com/dispBoBApp.php", &txt); //load page into buffer |
d_worrall | 0:60eb2e98d56c | 28 | if(r==HTTP_OK){ |
d_worrall | 0:60eb2e98d56c | 29 | string str = txt.gets(); //fetch string and store in str |
d_worrall | 0:60eb2e98d56c | 30 | |
d_worrall | 0:60eb2e98d56c | 31 | size_t length; //make some variables |
d_worrall | 0:60eb2e98d56c | 32 | char buffer[20]; |
d_worrall | 0:60eb2e98d56c | 33 | |
d_worrall | 0:60eb2e98d56c | 34 | size_t found=str.find("<"); //tell me where < first appears |
d_worrall | 0:60eb2e98d56c | 35 | if(found!=string::npos){ |
d_worrall | 0:60eb2e98d56c | 36 | length=str.copy(buffer,int(found),0); |
d_worrall | 0:60eb2e98d56c | 37 | buffer[length]='\0'; |
d_worrall | 0:60eb2e98d56c | 38 | string dispString = buffer; |
d_worrall | 0:60eb2e98d56c | 39 | db.scroll("FTSE100", 0.2); |
d_worrall | 0:60eb2e98d56c | 40 | db.locate(0); |
d_worrall | 0:60eb2e98d56c | 41 | db.printf("%s", dispString); |
d_worrall | 0:60eb2e98d56c | 42 | } |
d_worrall | 0:60eb2e98d56c | 43 | } else { |
d_worrall | 0:60eb2e98d56c | 44 | pc.printf("Error\n\r"); |
d_worrall | 0:60eb2e98d56c | 45 | } |
d_worrall | 0:60eb2e98d56c | 46 | wait(2); |
d_worrall | 0:60eb2e98d56c | 47 | } |
d_worrall | 0:60eb2e98d56c | 48 | } |
d_worrall | 0:60eb2e98d56c | 49 | |
d_worrall | 0:60eb2e98d56c | 50 | |
d_worrall | 0:60eb2e98d56c | 51 | |
d_worrall | 0:60eb2e98d56c | 52 | |
d_worrall | 0:60eb2e98d56c | 53 | |
d_worrall | 0:60eb2e98d56c | 54 | |
d_worrall | 0:60eb2e98d56c | 55 | |
d_worrall | 0:60eb2e98d56c | 56 |