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

Committer:
d_worrall
Date:
2011-07-06
Revision:
0:60eb2e98d56c
Child:
1:10d951807d06

File content as of revision 0:60eb2e98d56c:

#include "mbed.h"
#include "EthernetNetIf.h"
#include "HTTPClient.h"
#include "dispBoB.h"

EthernetNetIf eth; 
HTTPClient http;
Serial pc(USBTX, USBRX);
dispBoB db(p28, p27, p26);
  
int main() {

    printf("Start\n\r");
    printf("\r\nSetting up...\r\n");
    
    EthernetErr ethErr = eth.setup();                                           //Setup ethernet connection
    if(ethErr) { 
        printf("Error %d in setup.\n\r", ethErr);
        return -1;
    }
    printf("\r\nSetup OK\r\n");
    
    db.cls();
    
    HTTPText txt;                                                            //instantiate HTTPStream object
    while(1){
        HTTPResult r = http.get("http://www.mbed.webatu.com/dispBoBApp.php", &txt);   //load page into buffer
        if(r==HTTP_OK){
            string str = txt.gets();                                            //fetch string and store in str
             
            size_t length;                                                      //make some variables
            char buffer[20];
             
            size_t found=str.find("<");                                    //tell me where < first appears
            if(found!=string::npos){   
                length=str.copy(buffer,int(found),0);
                buffer[length]='\0';
                string dispString = buffer;
                db.scroll("FTSE100", 0.2);
                db.locate(0);
                db.printf("%s", dispString);    
            }   
        } else {
            pc.printf("Error\n\r");
        }
        wait(2);
    }
}