Dean Camera 1fdc0e664e Make Webserver allow HTTP requests for files with up to 50 characters in the path instead of 30, to be in synch with the project documentation.
Change Webserver project's ENABLE_DHCP compile time option to ENABLE_DHCP_CLIENT to more accurately indicate its function.
2010-02-07 10:46:02 +00:00

103 lines
4.4 KiB
Plaintext

/** \file
*
* This file contains special DoxyGen information for the generation of the main page and other special
* documentation pages. It is not a project source file.
*/
/** \mainpage uIP Powered Webserver Project
*
* \section SSec_Compat Project Compatibility:
*
* The following list indicates what microcontrollers are compatible with this project.
*
* - Series 7 USB AVRs
*
* \section SSec_Info USB Information:
*
* The following table gives a rundown of the USB utilization of this project.
*
* <table>
* <tr>
* <td><b>USB Mode:</b></td>
* <td>Dual Mode Host/Device</td>
* </tr>
* <tr>
* <td><b>USB Class:</b></td>
* <td>Communications Device Class (CDC) \n
* Mass Storage Device</td>
* </tr>
* <tr>
* <td><b>USB Subclass:</b></td>
* <td>Remote NDIS (Microsoft Proprietary CDC Class Networking Standard) \n
* Bulk-Only Transport</td>
* </tr>
* <tr>
* <td><b>Relevant Standards:</b></td>
* <td>Microsoft RNDIS Specification \n
* USBIF Mass Storage Standard \n
* USB Bulk-Only Transport Standard \n
* SCSI Primary Commands Specification \n
* SCSI Block Commands Specification</td>
* </tr>
* <tr>
* <td><b>Usable Speeds:</b></td>
* <td>Full Speed Mode</td>
* </tr>
* </table>
*
* \section SSec_Description Project Description:
*
* Simple HTTP webserver project. This project combines the LUFA library with the uIP TCP/IP full network stack and FatFS
* library to create a RNDIS host capable of serving out HTTP webpages to multiple hosts simultaneously. This project
* demonstrates how the libraries can be combined into a robust network enabled application, with the addition of a RNDIS
* network device.
*
* To use this project, plug the USB AVR into a computer, so that it enumerates as a standard Mass Storage device. Load
* HTML files onto the disk, so that they can be served out to clients -- the default file to serve should be called
* <i>index.htm</i>. Filenames must be in 8.3 format for them to be retrieved correctly by the webserver, and the total
* requested file path must be equal to or less than 50 characters (set in uipopt.h).
*
* When attached to a RNDIS class device, such as a USB (desktop) modem, the system will enumerate the device, set the
* appropriate parameters needed for connectivity and begin listening for new HTTP connections on port 80 and TELNET
* connections on port 23. The device IP, netmask and default gateway IP must be set to values appropriate for the RNDIS
* device being used for this project to work if the DHCP client is disabled (see \ref SSec_Options) - otherwise, the device
* will query the network's DHCP server for these parameters automatically.
*
* When properly configured, the webserver can be accessed from any HTTP webrowser by typing in the device's statically or
* dynamically allocated IP address. The TELNET client can be accessed via any network socket app by connecting to the device
* on port 23 on the device's statically or dynamically allocated IP address.
*
* \section SSec_Options Project Options
*
* The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.
*
* <table>
* <tr>
* <td><b>Define Name:</b></td>
* <td><b>Location:</b></td>
* <td><b>Description:</b></td>
* </tr>
* <tr>
* <td>ENABLE_DHCP_CLIENT=<i>x</i></td>
* <td>Makefile CDEFS</td>
* <td>When set to 1, this enables the DHCP client for dynamic IP allocation of the network settings from a DHCP server.
* To disable DHCP and use the fixed address settings set elsewhere, set this to zero (do not undefine it).</td>
* </tr>
* <tr>
* <td>DEVICE_IP_ADDRESS</td>
* <td>Lib/uIPManagement.h</td>
* <td>IP address that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT is zero).</td>
* </tr>
* <tr>
* <td>DEVICE_NETMASK</td>
* <td>Lib/uIPManagement.h</td>
* <td>Netmask that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT is zero).</td>
* </tr>
* <tr>
* <td>DEVICE_GATEWAY</td>
* <td>Lib/uIPManagement.h</td>
* <td>Default routing gateway that the webserver should use when connected to a RNDIS device (when ENABLE_DHCP_CLIENT
* is zero).</td>
* </tr>
* </table>
*/