Skip to content
Snippets Groups Projects
Commit ce260ae7 authored by Dean Camera's avatar Dean Camera
Browse files

Webserver project now uses the board LEDs to indicate the current IP configuration state.

Don't double-read data from the attached disk in the incomplete StandaloneProgrammer project when in host mode.
parent a61c7f67
Branches
Tags
No related merge requests found
......@@ -16,6 +16,7 @@
* for PDI and TPI programming
* - Increased the speed of both software and hardware TPI/PDI programming modes of the AVRISP project
* - Added a timeout value to the TWI_StartTransmission() function, within which the addressed device must respond
* - Webserver project now uses the board LEDs to indicate the current IP configuration state
*
* <b>Fixed:</b>
* - Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin
......
......@@ -24,6 +24,7 @@
* - Micropendous, an open design/source set of AVR USB development boards: http://micropendous.org/
* - Nanduino, a do-it-yourself AT90USB162 board: http://www.makestuff.eu/wordpress/?page_id=569
* - Teensy and Teensy++, two other AVR USB development boards: http://www.pjrc.com/teensy/index.html
* - U2DIL/U4DIL, a set of DIP layout USB AVR boards: http://www.reworld.eu/re/en/products/u2dil/
* - USB10 AKA "The Ferret", a AT90USB162 development board: http://www.soc-machines.com
* - USBFoo, an AT90USB162 based development board: http://shop.kernelconcepts.de/product_info.php?products_id=102
*
......
......@@ -41,8 +41,6 @@ DRESULT disk_readp (
ErrorCode = RES_NOTRDY;
else if (MS_Host_ReadDeviceBlocks(&DiskHost_MS_Interface, 0, sector, 1, 512, BlockTemp))
ErrorCode = RES_ERROR;
MS_Host_ReadDeviceBlocks(&DiskHost_MS_Interface, 0, sector, 1, 512, BlockTemp);
#endif
}
else
......
......@@ -156,6 +156,9 @@ void DHCPClientApp_Callback(void)
uip_setnetmask((uip_ipaddr_t*)&AppState->DHCPClient.DHCPOffer_Data.Netmask);
uip_setdraddr((uip_ipaddr_t*)&AppState->DHCPClient.DHCPOffer_Data.GatewayIP);
/* Indicate to the user that we now have a valid IP configuration */
HaveIPConfiguration = true;
AppState->DHCPClient.CurrentState = DHCP_STATE_AddressLeased;
}
......
......@@ -46,6 +46,7 @@ struct timer ARPTimer;
/** MAC address of the RNDIS device, when enumerated */
struct uip_eth_addr MACAddress;
bool HaveIPConfiguration;
/** Configures the uIP stack ready for network traffic. */
void uIPManagement_Init(void)
......@@ -62,8 +63,10 @@ void uIPManagement_Init(void)
/* DHCP/Server IP Settings Initialization */
#if defined(ENABLE_DHCP_CLIENT)
HaveIPConfiguration = false;
DHCPClientApp_Init();
#else
HaveIPConfiguration = true;
uip_ipaddr_t IPAddress, Netmask, GatewayIPAddress;
uip_ipaddr(&IPAddress, DEVICE_IP_ADDRESS[0], DEVICE_IP_ADDRESS[1], DEVICE_IP_ADDRESS[2], DEVICE_IP_ADDRESS[3]);
uip_ipaddr(&Netmask, DEVICE_NETMASK[0], DEVICE_NETMASK[1], DEVICE_NETMASK[2], DEVICE_NETMASK[3]);
......@@ -169,7 +172,7 @@ static void uIPManagement_ProcessIncomingPacket(void)
}
}
LEDs_SetAllLEDs(LEDMASK_USB_READY);
LEDs_SetAllLEDs(LEDMASK_USB_READY | ((HaveIPConfiguration) ? LEDMASK_UIP_READY : LEDMASK_UIP_READY_NOCONFIG));
}
/** Manages the currently open network connections, including TCP and (if enabled) UDP. */
......
......@@ -63,6 +63,8 @@
/* External Variables: */
extern struct uip_eth_addr MACAddress;
extern bool HaveIPConfiguration;
/* Function Prototypes: */
void uIPManagement_Init(void);
void uIPManagement_ManageNetwork(void);
......
......@@ -56,16 +56,22 @@
#define LEDMASK_USB_NOTREADY LEDS_LED1
/** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */
#define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3)
#define LEDMASK_USB_ENUMERATING (LEDS_LED1 | LEDS_LED2)
/** LED mask for the library LED driver, to indicate that the USB interface is ready. */
#define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4)
#define LEDMASK_USB_READY LEDS_LED2
/** LED mask for the library LED driver, to indicate that an error has occurred in the USB interface. */
#define LEDMASK_USB_ERROR (LEDS_LED1 | LEDS_LED3)
/** LED mask for the library LED driver, to indicate that the USB interface is busy. */
#define LEDMASK_USB_BUSY LEDS_LED2
#define LEDMASK_USB_BUSY (LEDS_LED1 | LEDS_LED3 | LEDS_LED4)
/** LED mask for the uIP stack idling with no IP configuration */
#define LEDMASK_UIP_READY_NOCONFIG LEDS_LED3
/** LED mask for the uIP stack idling with a valid IP configuration */
#define LEDMASK_UIP_READY_CONFIG LEDS_LED4
/* Function Prototypes: */
void SetupHardware(void);
......
......@@ -13,18 +13,14 @@
# "make doxygen" to document everything with DoxyGen (if installed) and
# "make clean_doxygen" to remove generated Doxygen documentation from everything.
# It is suggested that for the master build, the --quiet switch is passed to make,
# to remove all the commands from the output. This gives a much easier to read
# report of the entire build process.
all:
%:
@echo Executing \"make $@\" on all LUFA library elements.
@echo
make -C LUFA/ $@
make -C Demos/ $@
make -C Projects/ $@
make -C Bootloaders/ $@
make -C LUFA/ $@ -s
make -C Demos/ $@ -s
make -C Projects/ $@ -s
make -C Bootloaders/ $@ -s
@echo
@echo LUFA \"make $@\" operation complete.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment