aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/Webserver
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-05-12 15:32:53 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-05-12 15:32:53 +0000
commit802910d49f2ac175b06a8ebfbcb61551a171b85a (patch)
tree4be04602f6fb93fa55c506e8407b0e3993556cac /Projects/Webserver
parent33d9a75b0332ded9cebc1388a800922ebe1c3dbe (diff)
downloadlufa-802910d49f2ac175b06a8ebfbcb61551a171b85a.tar.gz
lufa-802910d49f2ac175b06a8ebfbcb61551a171b85a.tar.bz2
lufa-802910d49f2ac175b06a8ebfbcb61551a171b85a.zip
AppConfigHeaders: Update several additional user projects to use configuration header files, rather than makefile defines. Remove compile time warnings for projects lacking device serial support, remove incomplete StandaloneProgrammer project.
Diffstat (limited to 'Projects/Webserver')
-rw-r--r--Projects/Webserver/Config/AppConfig.h68
-rw-r--r--Projects/Webserver/Config/LUFAConfig.h93
-rw-r--r--Projects/Webserver/Descriptors.c11
-rw-r--r--Projects/Webserver/Lib/DHCPClientApp.c4
-rw-r--r--Projects/Webserver/Lib/DHCPClientApp.h1
-rw-r--r--Projects/Webserver/Lib/DHCPCommon.c4
-rw-r--r--Projects/Webserver/Lib/DHCPCommon.h2
-rw-r--r--Projects/Webserver/Lib/DHCPServerApp.c4
-rw-r--r--Projects/Webserver/Lib/DHCPServerApp.h1
-rw-r--r--Projects/Webserver/Lib/HTTPServerApp.h2
-rw-r--r--Projects/Webserver/Lib/TELNETServerApp.c4
-rw-r--r--Projects/Webserver/Lib/TELNETServerApp.h2
-rw-r--r--Projects/Webserver/Lib/uip/uipopt.h2
-rw-r--r--Projects/Webserver/Webserver.txt8
-rw-r--r--Projects/Webserver/makefile31
15 files changed, 185 insertions, 52 deletions
diff --git a/Projects/Webserver/Config/AppConfig.h b/Projects/Webserver/Config/AppConfig.h
new file mode 100644
index 000000000..e2a9cd4de
--- /dev/null
+++ b/Projects/Webserver/Config/AppConfig.h
@@ -0,0 +1,68 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2012.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief Application Configuration Header File
+ *
+ * This is a header file which is be used to configure some of
+ * the application's compile time options, as an alternative to
+ * specifying the compile time constants supplied through a
+ * makefile or build system.
+ *
+ * For information on what each token does, refer to the
+ * \ref Sec_Options section of the application documentation.
+ */
+
+#ifndef _APP_CONFIG_H_
+#define _APP_CONFIG_H_
+
+ #define ENABLE_DHCP_CLIENT
+ #define ENABLE_DHCP_SERVER
+ #define ENABLE_TELNET_SERVER
+ #define MAX_URI_LENGTH 50
+
+ #define UIP_CONF_UDP (defined(ENABLE_DHCP_CLIENT) || defined(ENABLE_DHCP_SERVER))
+ #define UIP_CONF_BROADCAST 1
+ #define UIP_CONF_TCP 1
+ #define UIP_CONF_UDP_CONNS 1
+ #define UIP_CONF_MAX_CONNECTIONS 3
+ #define UIP_CONF_MAX_LISTENPORTS 5
+ #define UIP_CONF_BUFFER_SIZE 1514
+ #define UIP_CONF_LL_802154 0
+ #define UIP_CONF_LL_80211 0
+ #define UIP_CONF_ROUTER 0
+ #define UIP_CONF_ICMP6 0
+ #define UIP_CONF_ICMP_DEST_UNREACH 1
+ #define UIP_URGDATA 0
+ #define UIP_ARCH_CHKSUM 0
+ #define UIP_ARCH_ADD32 0
+ #define UIP_NEIGHBOR_CONF_ADDRTYPE 0
+
+#endif \ No newline at end of file
diff --git a/Projects/Webserver/Config/LUFAConfig.h b/Projects/Webserver/Config/LUFAConfig.h
new file mode 100644
index 000000000..b794426b9
--- /dev/null
+++ b/Projects/Webserver/Config/LUFAConfig.h
@@ -0,0 +1,93 @@
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2012.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.lufa-lib.org
+*/
+
+/*
+ Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of the author not be used in
+ advertising or publicity pertaining to distribution of the
+ software without specific, written prior permission.
+
+ The author disclaim all warranties with regard to this
+ software, including all implied warranties of merchantability
+ and fitness. In no event shall the author be liable for any
+ special, indirect or consequential damages or any damages
+ whatsoever resulting from loss of use, data or profits, whether
+ in an action of contract, negligence or other tortious action,
+ arising out of or in connection with the use or performance of
+ this software.
+*/
+
+/** \file
+ * \brief LUFA Library Configuration Header File
+ *
+ * This header file is used to configure LUFA's compile time options,
+ * as an alternative to the compile time constants supplied through
+ * a makefile.
+ *
+ * For information on what each token does, refer to the LUFA
+ * manual section "Summary of Compile Tokens".
+ */
+
+#ifndef _LUFA_CONFIG_H_
+#define _LUFA_CONFIG_H_
+
+ #if (ARCH == ARCH_AVR8)
+
+ /* Non-USB Related Configuration Tokens: */
+// #define DISABLE_TERMINAL_CODES
+
+ /* USB Class Driver Related Tokens: */
+// #define HID_HOST_BOOT_PROTOCOL_ONLY
+// #define HID_STATETABLE_STACK_DEPTH {Insert Value Here}
+// #define HID_USAGE_STACK_DEPTH {Insert Value Here}
+// #define HID_MAX_COLLECTIONS {Insert Value Here}
+// #define HID_MAX_REPORTITEMS {Insert Value Here}
+// #define HID_MAX_REPORT_IDS {Insert Value Here}
+// #define NO_CLASS_DRIVER_AUTOFLUSH
+
+ /* General USB Driver Related Tokens: */
+// #define ORDERED_EP_CONFIG
+ #define USE_STATIC_OPTIONS (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
+// #define USB_DEVICE_ONLY
+// #define USB_HOST_ONLY
+// #define USB_STREAM_TIMEOUT_MS {Insert Value Here}
+// #define NO_LIMITED_CONTROLLER_CONNECT
+// #define NO_SOF_EVENTS
+
+ /* USB Device Mode Driver Related Tokens: */
+// #define USE_RAM_DESCRIPTORS
+ #define USE_FLASH_DESCRIPTORS
+// #define USE_EEPROM_DESCRIPTORS
+// #define NO_INTERNAL_SERIAL
+ #define FIXED_CONTROL_ENDPOINT_SIZE 8
+ #define DEVICE_STATE_AS_GPIOR 0
+ #define FIXED_NUM_CONFIGURATIONS 1
+// #define CONTROL_ONLY_DEVICE
+ #define INTERRUPT_CONTROL_ENDPOINT
+// #define NO_DEVICE_REMOTE_WAKEUP
+// #define NO_DEVICE_SELF_POWER
+
+ /* USB Host Mode Driver Related Tokens: */
+ #define HOST_STATE_AS_GPIOR 0
+// #define USB_HOST_TIMEOUT_MS {Insert Value Here}
+// #define HOST_DEVICE_SETTLE_DELAY_MS {Insert Value Here}
+// #define NO_AUTO_VBUS_MANAGEMENT
+// #define INVERTED_VBUS_ENABLE_LINE
+
+ #else
+
+ #error Unsupported architecture for this LUFA configuration file.
+
+ #endif
+#endif
diff --git a/Projects/Webserver/Descriptors.c b/Projects/Webserver/Descriptors.c
index 57519c864..a82ccc0a4 100644
--- a/Projects/Webserver/Descriptors.c
+++ b/Projects/Webserver/Descriptors.c
@@ -37,17 +37,6 @@
#include "Descriptors.h"
-/* On some devices, there is a factory set internal serial number which can be automatically sent to the host as
- * the device's serial number when the Device Descriptor's .SerialNumStrIndex entry is set to USE_INTERNAL_SERIAL.
- * This allows the host to track a device across insertions on different ports, allowing them to retain allocated
- * resources like COM port numbers and drivers. On demos using this feature, give a warning on unsupported devices
- * so that the user can supply their own serial number descriptor instead or remove the USE_INTERNAL_SERIAL value
- * from the Device Descriptor (forcing the host to generate a serial number for each device from the VID, PID and
- * port location).
- */
-#if (USE_INTERNAL_SERIAL == NO_DESCRIPTOR)
- #warning USE_INTERNAL_SERIAL is not available on this AVR - please manually construct a device serial descriptor.
-#endif
/** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall
* device characteristics, including the supported USB version, control endpoint size and the
diff --git a/Projects/Webserver/Lib/DHCPClientApp.c b/Projects/Webserver/Lib/DHCPClientApp.c
index 1a564ca3e..91c0f1f06 100644
--- a/Projects/Webserver/Lib/DHCPClientApp.c
+++ b/Projects/Webserver/Lib/DHCPClientApp.c
@@ -28,8 +28,6 @@
this software.
*/
-#if defined(ENABLE_DHCP_CLIENT) || defined(__DOXYGEN__)
-
/** \file
*
* DHCP Client Application. When connected to the uIP stack, this will retrieve IP configuration settings from the
@@ -39,6 +37,8 @@
#define INCLUDE_FROM_DHCPCLIENTAPP_C
#include "DHCPClientApp.h"
+#if defined(ENABLE_DHCP_CLIENT) || defined(__DOXYGEN__)
+
/** Initialization function for the DHCP client. */
void DHCPClientApp_Init(void)
{
diff --git a/Projects/Webserver/Lib/DHCPClientApp.h b/Projects/Webserver/Lib/DHCPClientApp.h
index 21c5e435a..b5ce11cbc 100644
--- a/Projects/Webserver/Lib/DHCPClientApp.h
+++ b/Projects/Webserver/Lib/DHCPClientApp.h
@@ -41,6 +41,7 @@
#include <uip.h>
+ #include "Config/AppConfig.h"
#include "../Webserver.h"
#include "DHCPCommon.h"
diff --git a/Projects/Webserver/Lib/DHCPCommon.c b/Projects/Webserver/Lib/DHCPCommon.c
index f2b999756..b0fe37d04 100644
--- a/Projects/Webserver/Lib/DHCPCommon.c
+++ b/Projects/Webserver/Lib/DHCPCommon.c
@@ -28,8 +28,6 @@
this software.
*/
-#if defined(ENABLE_DHCP_CLIENT) || defined(ENABLE_DHCP_SERVER) || defined(__DOXYGEN__)
-
/** \file
*
* Common DHCP routines to manage DHCP packet data.
@@ -37,6 +35,8 @@
#include "DHCPCommon.h"
+#if defined(ENABLE_DHCP_CLIENT) || defined(ENABLE_DHCP_SERVER) || defined(__DOXYGEN__)
+
/** Sets the given DHCP option in the DHCP packet's option list. This automatically moves the
* end of options terminator past the new option in the options list.
*
diff --git a/Projects/Webserver/Lib/DHCPCommon.h b/Projects/Webserver/Lib/DHCPCommon.h
index 797aa571b..dc8dcdfbc 100644
--- a/Projects/Webserver/Lib/DHCPCommon.h
+++ b/Projects/Webserver/Lib/DHCPCommon.h
@@ -41,6 +41,8 @@
#include <stdbool.h>
#include <string.h>
+ #include "Config/AppConfig.h"
+
#include <uip.h>
/* Macros: */
diff --git a/Projects/Webserver/Lib/DHCPServerApp.c b/Projects/Webserver/Lib/DHCPServerApp.c
index e2b72af27..05ae4e9e2 100644
--- a/Projects/Webserver/Lib/DHCPServerApp.c
+++ b/Projects/Webserver/Lib/DHCPServerApp.c
@@ -28,8 +28,6 @@
this software.
*/
-#if defined(ENABLE_DHCP_SERVER) || defined(__DOXYGEN__)
-
/** \file
*
* DHCP Server Application. When connected to the uIP stack, this will send IP configuration settings to a
@@ -39,6 +37,8 @@
#define INCLUDE_FROM_DHCPSERVERAPP_C
#include "DHCPServerApp.h"
+#if defined(ENABLE_DHCP_SERVER) || defined(__DOXYGEN__)
+
struct uip_conn* BroadcastConnection;
uint8_t LeasedIPs[255 / 8];
diff --git a/Projects/Webserver/Lib/DHCPServerApp.h b/Projects/Webserver/Lib/DHCPServerApp.h
index 151319b5d..d41df3776 100644
--- a/Projects/Webserver/Lib/DHCPServerApp.h
+++ b/Projects/Webserver/Lib/DHCPServerApp.h
@@ -41,6 +41,7 @@
#include <uip.h>
+ #include "Config/AppConfig.h"
#include "../Webserver.h"
#include "DHCPCommon.h"
diff --git a/Projects/Webserver/Lib/HTTPServerApp.h b/Projects/Webserver/Lib/HTTPServerApp.h
index 526e75804..e3678e845 100644
--- a/Projects/Webserver/Lib/HTTPServerApp.h
+++ b/Projects/Webserver/Lib/HTTPServerApp.h
@@ -41,6 +41,8 @@
#include <string.h>
#include <LUFA/Version.h>
+
+ #include "Config/AppConfig.h"
#include <uip.h>
#include <ff.h>
diff --git a/Projects/Webserver/Lib/TELNETServerApp.c b/Projects/Webserver/Lib/TELNETServerApp.c
index 3fffae1d1..ff829b9ef 100644
--- a/Projects/Webserver/Lib/TELNETServerApp.c
+++ b/Projects/Webserver/Lib/TELNETServerApp.c
@@ -28,8 +28,6 @@
this software.
*/
-#if defined(ENABLE_TELNET_SERVER) || defined(__DOXYGEN__)
-
/** \file
*
* TELNET Webserver Application. When connected to the uIP stack,
@@ -39,6 +37,8 @@
#define INCLUDE_FROM_TELNETSERVERAPP_C
#include "TELNETServerApp.h"
+#if defined(ENABLE_TELNET_SERVER) || defined(__DOXYGEN__)
+
/** Welcome message to send to a TELNET client when a connection is first made. */
const char PROGMEM WelcomeHeader[] = "********************************************\r\n"
"* LUFA uIP Webserver (TELNET) *\r\n"
diff --git a/Projects/Webserver/Lib/TELNETServerApp.h b/Projects/Webserver/Lib/TELNETServerApp.h
index 5f3e864c9..df580f53b 100644
--- a/Projects/Webserver/Lib/TELNETServerApp.h
+++ b/Projects/Webserver/Lib/TELNETServerApp.h
@@ -43,6 +43,8 @@
#include <uip.h>
+ #include "Config/AppConfig.h"
+
/* Macros: */
/** TCP listen port for incoming TELNET traffic. */
#define TELNET_SERVER_PORT 23
diff --git a/Projects/Webserver/Lib/uip/uipopt.h b/Projects/Webserver/Lib/uip/uipopt.h
index 17f703312..520c03f25 100644
--- a/Projects/Webserver/Lib/uip/uipopt.h
+++ b/Projects/Webserver/Lib/uip/uipopt.h
@@ -62,6 +62,8 @@
#ifndef __UIPOPT_H__
#define __UIPOPT_H__
+#include "Config/AppConfig.h"
+
#ifndef UIP_LITTLE_ENDIAN
#define UIP_LITTLE_ENDIAN 3412
#endif /* UIP_LITTLE_ENDIAN */
diff --git a/Projects/Webserver/Webserver.txt b/Projects/Webserver/Webserver.txt
index 32bdb597a..9b466d9d0 100644
--- a/Projects/Webserver/Webserver.txt
+++ b/Projects/Webserver/Webserver.txt
@@ -81,18 +81,18 @@
* </tr>
* <tr>
* <td>ENABLE_TELNET_SERVER</td>
- * <td>Makefile LUFA_OPTS</td>
+ * <td>AppConfig.h</td>
* <td>When defined, this enables the TELNET server in addition to the HTTP webserver, which listens for incoming connections
* and processes user commands.</td>
* </tr>
* <tr>
* <td>ENABLE_DHCP_CLIENT</td>
- * <td>Makefile LUFA_OPTS</td>
+ * <td>AppConfig.h</td>
* <td>When defined, this enables the DHCP client for dynamic IP allocation of the network settings from a DHCP server.</td>
* </tr>
* <tr>
* <td>ENABLE_DHCP_SERVER</td>
- * <td>Makefile LUFA_OPTS</td>
+ * <td>AppConfig.h</td>
* <td>When defined, this enables the DHCP server for dynamic IP allocation of the network settings to a DHCP client.</td>
* </tr>
* <tr>
@@ -113,7 +113,7 @@
* </tr>
* <tr>
* <td>MAX_URI_LENGTH</td>
- * <td>Makefile LUFA_OPTS</td>
+ * <td>AppConfig.h</td>
* <td>Maximum length of a URI for the Webserver. This is the maximum file path, including subdirectories and separators.</td>
* </tr>
* </table>
diff --git a/Projects/Webserver/makefile b/Projects/Webserver/makefile
index b67c6c6f6..53bd17387 100644
--- a/Projects/Webserver/makefile
+++ b/Projects/Webserver/makefile
@@ -120,34 +120,7 @@ LUFA_PATH = ../..
# LUFA library compile-time options and predefined tokens
-LUFA_OPTS = -D FIXED_CONTROL_ENDPOINT_SIZE=8
-LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
-LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0
-LUFA_OPTS += -D USE_FLASH_DESCRIPTORS
-LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)"
-LUFA_OPTS += -D INTERRUPT_CONTROL_ENDPOINT
-
-LUFA_OPTS += -D ENABLE_DHCP_CLIENT
-LUFA_OPTS += -D ENABLE_DHCP_SERVER
-LUFA_OPTS += -D ENABLE_TELNET_SERVER
-LUFA_OPTS += -D MAX_URI_LENGTH=50
-
-LUFA_OPTS += -D UIP_CONF_UDP="defined(ENABLE_DHCP_CLIENT) || defined(ENABLE_DHCP_SERVER)"
-LUFA_OPTS += -D UIP_CONF_BROADCAST=1
-LUFA_OPTS += -D UIP_CONF_TCP=1
-LUFA_OPTS += -D UIP_CONF_UDP_CONNS=1
-LUFA_OPTS += -D UIP_CONF_MAX_CONNECTIONS=3
-LUFA_OPTS += -D UIP_CONF_MAX_LISTENPORTS=5
-LUFA_OPTS += -D UIP_CONF_BUFFER_SIZE=1514
-LUFA_OPTS += -D UIP_CONF_LL_802154=0
-LUFA_OPTS += -D UIP_CONF_LL_80211=0
-LUFA_OPTS += -D UIP_CONF_ROUTER=0
-LUFA_OPTS += -D UIP_CONF_ICMP6=0
-LUFA_OPTS += -D UIP_CONF_ICMP_DEST_UNREACH=1
-LUFA_OPTS += -D UIP_URGDATA=0
-LUFA_OPTS += -D UIP_ARCH_CHKSUM=0
-LUFA_OPTS += -D UIP_ARCH_ADD32=0
-LUFA_OPTS += -D UIP_NEIGHBOR_CONF_ADDRTYPE=0
+LUFA_OPTS = -D USE_LUFA_CONFIG_HEADER
# Create the LUFA source path variables by including the LUFA root makefile
@@ -209,7 +182,7 @@ DEBUG = dwarf-2
# Each directory must be seperated by a space.
# Use forward slashes for directory separators.
# For a directory that has spaces, enclose it in quotes.
-EXTRAINCDIRS = $(LUFA_PATH)/ Lib/uip/ Lib/uip/conf/ Lib/FATFs/
+EXTRAINCDIRS = $(LUFA_PATH)/ Config/ Lib/uip/ Lib/uip/conf/ Lib/FATFs/
# Compiler flag to set the C Standard level.