forked from mfulz_github/qmk_firmware
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.
This commit is contained in:
parent
a61c7f671d
commit
ce260ae786
|
@ -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);
|
||||
|
|
12
makefile
12
makefile
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue