WEB server handles an ESP8266 module to control a LED

Dependencies:   mbed

Fork of WebSwitch_ENC28J60 by Zoltan Hudak

Revision:
4:d34811deedab
Parent:
3:0133517ba02d
Child:
5:9b4fd5f07e10
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";