Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: C12832 EthernetInterface mbed-rtos mbed ConfigFile
main.cpp
- Committer:
- dwini
- Date:
- 2015-03-05
- Revision:
- 2:a8eebf64cd3e
- Parent:
- 1:8efef658d90b
- Child:
- 3:254a2671a8e3
File content as of revision 2:a8eebf64cd3e:
#include "mbed.h" #include "EthernetInterface.h" #include "C12832.h" #include "Log.h" #include "TcpDaemon.h" #define MAX_BACKLOG 1 #define TCP_SERVER_PORT 6666 #define LCD_LINE_HEIGHT 12 #define DELAY_INDICATION 0 #define STR_FAIL "FAIL" #define STR_OK "OK" #define STR_CLEAR "CLEAR" Serial pc(USBTX,USBRX); DigitalOut error_led(LED1); C12832 lcd(p5, p7, p6, p8, p11); PwmOut rOut (p23); PwmOut gOut (p24); PwmOut bOut (p25); 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); } void setRGB(int r, int g, int b) { rOut = r; gOut = g; bOut = b; } void clearRGB(void) { setRGB(255, 255, 255); } void initRgb(void) { rOut.period(0.001); // set pwm period gOut.period(0.001); // set pwm period bOut.period(0.001); // set pwm period setRGB(255, 255, 255); } void indicateOk(void) { setRGB(255, 0, 255); } void indicateFail(void) { setRGB(0, 255, 255); } int main (void) { // Init RGB led initRgb(); pc.baud(115200); // Status check for (int i = 0; i < 4; i++) { indicateOk(); indicateFail(); } clearRGB(); 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); 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); } }