Nico De Witte / Mbed 2 deprecated tcp_machine_vision_server_single_client

Dependencies:   C12832 EthernetInterface mbed-rtos mbed ConfigFile

Committer:
dwini
Date:
Sun Jun 14 10:45:10 2015 +0000
Revision:
7:23c8d34000eb
Parent:
6:6cbb21cc3884
Child:
8:845dfadaa70d
Add simple PLC status indicator and some minor changes.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dwini 0:bef69e35f486 1 #include "mbed.h"
dwini 0:bef69e35f486 2 #include "C12832.h"
dwini 1:8efef658d90b 3 #include "Log.h"
dwini 1:8efef658d90b 4 #include "TcpDaemon.h"
dwini 3:254a2671a8e3 5 #include "StatusIndicator.h"
dwini 0:bef69e35f486 6
dwini 1:8efef658d90b 7 #define TCP_SERVER_PORT 6666
dwini 0:bef69e35f486 8 #define LCD_LINE_HEIGHT 12
dwini 7:23c8d34000eb 9 #define IP_ADDRESS "10.0.0.100"
dwini 7:23c8d34000eb 10 #define NETMASK "255.255.255.0"
dwini 7:23c8d34000eb 11 #define GATEWAY "10.0.0.254"
dwini 0:bef69e35f486 12
dwini 0:bef69e35f486 13 Serial pc(USBTX,USBRX);
dwini 1:8efef658d90b 14 DigitalOut error_led(LED1);
dwini 0:bef69e35f486 15 C12832 lcd(p5, p7, p6, p8, p11);
dwini 0:bef69e35f486 16
dwini 1:8efef658d90b 17 using namespace MachineVision;
dwini 1:8efef658d90b 18
dwini 0:bef69e35f486 19 void setLcdServerInfo(char * ip) {
dwini 0:bef69e35f486 20 lcd.cls();
dwini 0:bef69e35f486 21 lcd.locate(0,0);
dwini 1:8efef658d90b 22 lcd.printf("IP: %s", ip);
dwini 1:8efef658d90b 23 lcd.locate(0,14);
dwini 1:8efef658d90b 24 lcd.printf("Port: %d", TCP_SERVER_PORT);
dwini 0:bef69e35f486 25 }
dwini 0:bef69e35f486 26
dwini 0:bef69e35f486 27 int main (void) {
dwini 0:bef69e35f486 28 pc.baud(115200);
dwini 3:254a2671a8e3 29
dwini 6:6cbb21cc3884 30 lcd.cls();
dwini 6:6cbb21cc3884 31 lcd.locate(0,0);
dwini 6:6cbb21cc3884 32 lcd.printf("Starting ...");
dwini 6:6cbb21cc3884 33
dwini 6:6cbb21cc3884 34 while (true) {
dwini 6:6cbb21cc3884 35 // Setup ethernet interface
dwini 6:6cbb21cc3884 36 EthernetInterface eth;
dwini 6:6cbb21cc3884 37 Log::v("Bringing ethernet interface online\r\n");
dwini 6:6cbb21cc3884 38
dwini 7:23c8d34000eb 39
dwini 7:23c8d34000eb 40 // int success = eth.init(); //Use DHCP
dwini 7:23c8d34000eb 41 int success = eth.init(IP_ADDRESS, NETMASK, GATEWAY);
dwini 0:bef69e35f486 42
dwini 6:6cbb21cc3884 43 if (success < 0 || eth.connect() < 0) { // Default timeout of 15 seconds
dwini 6:6cbb21cc3884 44 Log::w("Could not bring ethernet interface online\r\n");
dwini 6:6cbb21cc3884 45 setLcdServerInfo("No ip address");
dwini 6:6cbb21cc3884 46 } else {
dwini 6:6cbb21cc3884 47 Log::v("IP Address is %s\r\n", eth.getIPAddress());
dwini 6:6cbb21cc3884 48
dwini 6:6cbb21cc3884 49 // Set ip on LCD
dwini 6:6cbb21cc3884 50 setLcdServerInfo(eth.getIPAddress());
dwini 6:6cbb21cc3884 51
dwini 6:6cbb21cc3884 52 // Start the daemon
dwini 7:23c8d34000eb 53 // PlcStatusIndicator status_indicator(p21);
dwini 7:23c8d34000eb 54 PlcStatusIndicator status_indicator(LED4);
dwini 7:23c8d34000eb 55 TcpDaemon daemon(TCP_SERVER_PORT, LED2, LED3, &status_indicator);
dwini 6:6cbb21cc3884 56 Log::v("TCP daemon listening @ TCP_SERVER_PORT = %d\r\n", TCP_SERVER_PORT);
dwini 6:6cbb21cc3884 57 daemon.startListening();
dwini 6:6cbb21cc3884 58 }
dwini 6:6cbb21cc3884 59
dwini 6:6cbb21cc3884 60 pc.printf("Fail");
dwini 0:bef69e35f486 61 }
dwini 0:bef69e35f486 62 }