Add DHCP server to the Webserver demo for automatic network configuration. Correct uIP timer clock not tracking the correct timespan.

This commit is contained in:
Dean Camera 2010-01-27 13:15:49 +00:00
parent 1aeb5056d6
commit a960e4b3b2
15 changed files with 471 additions and 43 deletions

View file

@ -1,20 +1,29 @@
#ifndef __APPS_CONF_H__
#define __APPS_CONF_H__
enum Webserver_States_t
{
WEBSERVER_STATE_SendHeaders,
WEBSERVER_STATE_SendData,
WEBSERVER_STATE_Closed,
};
typedef struct
{
uint8_t CurrentState;
char* SendPos;
} uip_tcp_appstate_t;
typedef struct
{
uint8_t CurrentState;
struct uip_udp_conn* Connection;
struct
{
uint8_t AllocatedIP[4];
uint8_t Netmask[4];
uint8_t GatewayIP[4];
uint8_t ServerIP[4];
} DHCPOffer_Data;
} uip_udp_appstate_t;
#define UIP_APPCALL WebserverApp_Callback
#define UIP_UDP_APPCALL DHCPApp_Callback
void UIP_APPCALL(void);
void UIP_UDP_APPCALL(void);
#endif /*__APPS_CONF_H__*/

View file

@ -21,8 +21,7 @@ ISR(TIMER1_COMPA_vect)
void clock_init()
{
OCR1A = ((F_CPU / 1024) / 100);
TCCR1A = (1 << WGM12);
TCCR1B = ((1 << CS12) | (1 << CS10));
TCCR1B = ((1 << WGM12) | (1 << CS12) | (1 << CS10));
TIMSK1 = (1 << OCIE1A);
}

View file

@ -2,10 +2,6 @@
#ifndef __GLOBAL_CONF_H__
#define __GLOBAL_CONF_H__
//Define frequency
// #define F_CPU 12500000UL
//
//Include uip.h gives all the uip configurations in uip-conf.h
#include "uip.h"

View file

@ -79,7 +79,11 @@ typedef unsigned short uip_stats_t;
*
* \hideinitializer
*/
#define UIP_CONF_UDP 0
#if defined(ENABLE_DHCP)
#define UIP_CONF_UDP 1
#else
#define UIP_CONF_UDP 0
#endif
/**
* UDP checksums on or off