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: UIPEthernet_GSOE
Diff: main.cpp
- Revision:
- 4:d34811deedab
- Parent:
- 3:0133517ba02d
- Child:
- 5:0ab8292e37da
diff -r 0133517ba02d -r d34811deedab main.cpp
--- a/main.cpp Sat Dec 20 11:23:20 2014 +0000
+++ b/main.cpp Wed Feb 04 19:27:26 2015 +0000
@@ -1,6 +1,7 @@
/* In this example LED1 is switched on/off using a web browser connected to this HTTP server.
- * The example is based on the Tuxgraphics Web Switch <tuxgraphics.org>.
- * This HTTP server is built around the the ENC28J60 chip driven by the UIPEthernet library <https://github.com/ntruchsess/arduino_uip>
+ * The example is based on the Tuxgraphics Web Switch <http://www.tuxgraphics.org/>.
+ * This HTTP server is built around the the ENC28J60 chip
+ * driven by the UIPEthernet library <https://github.com/ntruchsess/arduino_uip>
* ported to mbed.
*/
@@ -14,17 +15,32 @@
// UIPEthernet is the name of a global instance of UIPEthernetClass.
// Do not change the name! It is used within the UIPEthernet library.
-// Adapt the SPI pin names to your mbed platform/board if not present yet.
#if defined(TARGET_LPC1768)
-UIPEthernetClass UIPEthernet(p11, p12, p13, p8); // mosi, miso, sck, cs
+UIPEthernetClass UIPEthernet(p11, p12, p13, p8); // mosi, miso, sck, cs
#elif defined(TARGET_LPC1114)
UIPEthernetClass UIPEthernet(dp2, dp1, dp6, dp25); // mosi, miso, sck, cs
#elif defined(TARGET_LPC11U68)
UIPEthernetClass UIPEthernet(P0_9, P0_8, P1_29, P0_2); // mosi, miso, sck, cs
#elif defined (TARGET_NUCLEO_F103RB)
UIPEthernetClass UIPEthernet(PB_5, PB_4, PB_3, PB_6); // mosi, miso, sck, cs
+#elif defined (TARGET_NUCLEO_F401RE)
+UIPEthernetClass UIPEthernet(PB_5, PB_4, PB_3, PB_6); // mosi, miso, sck, cs
+#elif defined (TARGET_NUCLEO_F411RE)
+UIPEthernetClass UIPEthernet(PB_5, PB_4, PB_3, PB_6); // mosi, miso, sck, cs
+
+// If your board/plaform is not present yet then uncomment the following two lines and replace TARGET_YOUR_BOARD as appropriate.
+
+//#elif defined (TARGET_YOUR_BOARD)
+//UIPEthernetClass UIPEthernet(SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS); // mosi, miso, sck, cs
+
#endif
+// Note:
+// If it happends that any of the SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS pins collide with LED1 pin
+// then either use different SPI port (if available on the board) and change the pin names in the constructor UIPEthernet(...) accordingly
+// or instead of using LED1 pin, select a free pin (not used by SPI port) and connect to it an external LED which is connected to a resitor that is connected to the groud.
+// In the second case remember to replace LED1 in sw(LED1) constructor (see below).
+
// MAC number must be unique within the connected network. Modify as appropriate.
const uint8_t MY_MAC[6] = {0x00,0x01,0x02,0x03,0x04,0x06};
@@ -33,9 +49,7 @@
const uint16_t MY_PORT = 80; // for HTTP connection
EthernetServer myServer = EthernetServer(MY_PORT);
// In this example we are turning on/off LED1.
-// Change the pin name if you would like to switch on/off something else.
-// However, make sure you avoid SPI pin names used already for UIPEthernet.
-DigitalOut sw(LED1);
+DigitalOut sw(LED1); // Change LED1 to a pin of your choice. However, make sure that it does not collide with any of the SPI pins already used in the UIPEthernet(...) constructor above!
const string PASSWORD = "secret"; // change as you like
const string HTTP_OK = "HTTP/1.0 200 OK";