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@7:23c8d34000eb, 2015-06-14 (annotated)
- 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?
User | Revision | Line number | New 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 | } |