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: EthernetInterface NetworkAPI mbed-rtos mbed
Fork of MalletFirmware by
Revision 18:b17ddeeb1c09, committed 2014-11-14
- Comitter:
- timmey9
- Date:
- Fri Nov 14 20:39:34 2014 +0000
- Parent:
- 17:2f978f823020
- Child:
- 19:8d4e336fc723
- Commit message:
- Reverted EthernetInterface.
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri Nov 14 18:30:54 2014 +0000
+++ b/main.cpp Fri Nov 14 20:39:34 2014 +0000
@@ -1,4 +1,4 @@
-#define SERVER 0
+#define SERVER 1
@@ -11,15 +11,26 @@
#include "NetworkAPI/select.hpp"
#include "NetworkAPI/ip/address.hpp"
#include "NetworkAPI/tcp/socket.hpp"
+
+Serial pc(USBTX, USBRX);
+DigitalOut led_red(LED_RED);
+DigitalOut led_green(LED_GREEN);
+DigitalOut led_blue(LED_BLUE);
+
using namespace network;
#define MAX_CLIENTS 5
int main() {
+ led_red = 1;
+ led_green = 1;
+ led_blue = 1;
+ pc.baud(230400);
+ pc.printf("Starting Server\r\n");
EthernetInterface interface;
interface.init();
interface.connect();
- printf("IP Address is %s\n\r", interface.getIPAddress());
+ pc.printf("IP Address is %s\n\r", interface.getIPAddress());
Select select;
tcp::Socket server;
@@ -47,7 +58,7 @@
// Wait for activity
result = select.wait();
if (result < -1) {
- printf("Failed to select\n\r");
+ pc.printf("Failed to select\n\r");
break;
}
@@ -66,13 +77,13 @@
// Maximum connections reached
if (index == MAX_CLIENTS) {
- printf("Maximum connections reached\n\r");
+ pc.printf("Maximum connections reached\n\r");
continue;
}
// Accept the client
socket->accept(client[index]);
- printf("Client connected %s:%d\n\r",
+ pc.printf("Client connected %s:%d\n\r",
client[index].getRemoteEndpoint().getAddress().toString().c_str(),
client[index].getRemoteEndpoint().getPort());
@@ -85,7 +96,7 @@
switch (socket->read(buffer)) {
case 0:
// Remote end disconnected
- printf("Client disconnected %s:%d\n\r",
+ pc.printf("Client disconnected %s:%d\n\r",
socket->getRemoteEndpoint().getAddress().toString().c_str(),
socket->getRemoteEndpoint().getPort());
@@ -94,16 +105,16 @@
break;
case -1:
- printf("Error while reading data from socket\n\r");
+ pc.printf("Error while reading data from socket\n\r");
socket->close();
break;
default:
- printf("Message from %s:%d\n\r",
+ pc.printf("Message from %s:%d\n\r",
socket->getRemoteEndpoint().getAddress().toString().c_str(),
socket->getRemoteEndpoint().getPort());
- printf("%s\n\r", (char *)buffer.data());
+ pc.printf("%s\n\r", (char *)buffer.data());
break;
}
}
@@ -113,7 +124,7 @@
-#else
+#else // client
#include "mbed.h"
#include "EthernetInterface.h"
@@ -121,12 +132,22 @@
#include "NetworkAPI/buffer.hpp"
#include "NetworkAPI/ip/address.hpp"
#include "NetworkAPI/tcp/socket.hpp"
+
+Serial pc(USBTX, USBRX);
+DigitalOut led_red(LED_RED);
+DigitalOut led_green(LED_GREEN);
+DigitalOut led_blue(LED_BLUE);
int main() {
+ led_red = 1;
+ led_green = 1;
+ led_blue = 1;
+ pc.baud(230400);
+ pc.printf("Starting Client\r\n");
EthernetInterface interface;
interface.init();
interface.connect();
- printf("IP Address is %s\n\r", interface.getIPAddress());
+ pc.printf("IP Address is %s\n\r", interface.getIPAddress());
int result;
@@ -135,24 +156,24 @@
std::string request("GET /media/uploads/donatien/hello.txt HTTP/1.1\r\nHost: %s\r\n\r\n");
if (socket.open() < 0) {
- printf("Failed to open TCP Socket\n\r");
+ pc.printf("Failed to open TCP Socket\n\r");
return -1;
}
if (socket.connect("mbed.org", 80) < 0) {
- printf("Failed to connect with mbed.org\n\r");
+ pc.printf("Failed to connect with mbed.org\n\r");
return -1;
}
if (socket.write((void *)request.data(), request.size()) < 0) {
- printf("Failed to write HTTP request\n\r");
+ pc.printf("Failed to write HTTP request\n\r");
return -1;
}
do
{
result = socket.read(buffer);
- printf("Received %d bytes:\n\r%s\n\r", result, (char *)buffer.pointer());
+ pc.printf("Received %d bytes:\n\r%s\n\r", result, (char *)buffer.data(0));
} while(result > 0);
socket.close();
