Nico De Witte / Mbed 2 deprecated tcp_machine_vision_server_single_client

Dependencies:   C12832 EthernetInterface mbed-rtos mbed ConfigFile

main.cpp

Committer:
dwini
Date:
2015-03-06
Revision:
3:254a2671a8e3
Parent:
2:a8eebf64cd3e
Child:
4:339a85b66476

File content as of revision 3:254a2671a8e3:

#include "mbed.h"
#include "C12832.h"
#include "Log.h"
#include "TcpDaemon.h"
#include "StatusIndicator.h"

#define TCP_SERVER_PORT 6666

#define LCD_LINE_HEIGHT 12

Serial pc(USBTX,USBRX);
DigitalOut error_led(LED1);
C12832 lcd(p5, p7, p6, p8, p11);

using namespace MachineVision;

void setLcdServerInfo(char * ip) {
    lcd.cls();
    lcd.locate(0,0);
    lcd.printf("IP: %s", ip);
    lcd.locate(0,14);
    lcd.printf("Port: %d", TCP_SERVER_PORT);
}

int main (void) {
    StatusIndicator status_indicator(p23, p24, p25);
//    status_indicator.setStatus(OK);
    
    pc.baud(115200);

    // Setup ethernet interface    
    EthernetInterface eth;
    Log::v("Requesting IP address from DHCP\r\n");
    eth.init();         //Use DHCP
    
    if (eth.connect() < 0) {
        Log::w("Could not retrieve IP address from DHCP\r\n");
        setLcdServerInfo("No ip address");
    } else {
        Log::v("IP Address is %s\r\n", eth.getIPAddress());
        
        // Set ip on LCD
        setLcdServerInfo(eth.getIPAddress());
    
        // Start the daemon
        TcpDaemon daemon(TCP_SERVER_PORT, LED2, LED3);
        Log::v("TCP daemon listening @ TCP_SERVER_PORT = %d\r\n", TCP_SERVER_PORT);
        daemon.startListening();
    }
    
    // Should never be reached
    while (true) {
        error_led = 1;
        wait(0.25);
        error_led = 0;
        wait(0.25);
    }
}