전시회용

Dependencies:   PWM_Tone_Library SDFileSystem WIZnetInterface httpServer_orgel mbed

Fork of Internet_Orgel by justin kim

main.cpp

Committer:
justinkim
Date:
2016-10-21
Revision:
28:f87145f80660
Parent:
27:47ba03e9786b

File content as of revision 28:f87145f80660:

#include "mbed.h"
#include "EthernetInterface.h"
#include "FsHandler.h"
#include "HTTPServer.h"
#include "SDFileSystem.h"

#define DHCP

#if defined(TARGET_WIZWIKI_W7500)||defined(TARGET_WIZWIKI_W7500P)||defined(TARGET_WIZWIKI_W7500ECO)
    //Choose one of file system.
    SDFileSystem local(SD_MOSI, SD_MISO, SD_CLK, SD_SEL, "local");//PB_3, PB_2, PB_1, PB_0
    //LocalFileSystem local("local");
#endif

#if defined(TARGET_WIZWIKI_W7500)||defined(TARGET_WIZWIKI_W7500P)||defined(TARGET_WIZWIKI_W7500ECO)
    uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0xff, 0xff, 0x11};
#endif

EthernetInterface eth;
HTTPServer  svr;
char ip_addr[] = "192.168.240.112";
char subnet_mask[] = "255.255.255.0";
char gateway_addr[] = "192.168.240.1";

//#define DHCP //If uncomment, W7500 runs DHCP

int main()
{
    HTTPFsRequestHandler::mount_eth(&eth);
    HTTPFsRequestHandler::mount("/local/", "/");
    svr.addHandler<HTTPFsRequestHandler>("/");

#if defined(TARGET_WIZWIKI_W7500)||defined(TARGET_WIZWIKI_W7500ECO)||defined(TARGET_WIZWIKI_W7500P)
    
    #ifdef DHCP
        eth.init(mac_addr); //Use DHCP
    #else
        eth.init(mac_addr, ip_addr, subnet_mask, gateway_addr); //Not Use DHCP
    #endif

#else

    #ifdef DHCP
        eth.init(); //Use DHCP
    #else
        eth.init(ip_addr, subnet_mask, gateway_addr); //Not Use DHCP
    #endif

#endif

    printf("Check Ethernet Link\r\n");
    while(1) //Wait link up
    {
        if(eth.link() == true) 
            break;
    }
    printf("Link up\r\n");

    eth.connect();
    printf("Server IP Address is %s\r\n", eth.getIPAddress());

    if (!svr.start(80, &eth)) {

        error("Server not starting !");
        exit(0);
    }

    while(1) {
        svr.poll();
    }
    
}