projects
/
pub
/
USBasp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2b51944
)
Clean up XPLAINBridge code.
author
Dean Camera
<dean@fourwalledcubicle.com>
Tue, 16 Feb 2010 13:12:59 +0000
(13:12 +0000)
committer
Dean Camera
<dean@fourwalledcubicle.com>
Tue, 16 Feb 2010 13:12:59 +0000
(13:12 +0000)
Projects/Webserver/USBDeviceMode.h
patch
|
blob
|
blame
|
history
Projects/Webserver/USBHostMode.h
patch
|
blob
|
blame
|
history
Projects/XPLAINBridge/Lib/SoftUART.c
patch
|
blob
|
blame
|
history
Projects/XPLAINBridge/Lib/SoftUART.h
patch
|
blob
|
blame
|
history
Projects/XPLAINBridge/XPLAINBridge.c
patch
|
blob
|
blame
|
history
Projects/XPLAINBridge/XPLAINBridge.h
patch
|
blob
|
blame
|
history
diff --git
a/Projects/Webserver/USBDeviceMode.h
b/Projects/Webserver/USBDeviceMode.h
index
d76c667
..
999df6e
100644
(file)
--- a/
Projects/Webserver/USBDeviceMode.h
+++ b/
Projects/Webserver/USBDeviceMode.h
@@
-37,6
+37,7
@@
#define _USBDEVICEMODE_H_
\r
\r
/* Includes: */
\r
#define _USBDEVICEMODE_H_
\r
\r
/* Includes: */
\r
+ #include <LUFA/Drivers/USB/USB.h>
\r
#include <LUFA/Drivers/USB/Class/MassStorage.h>
\r
\r
#include "Webserver.h"
\r
#include <LUFA/Drivers/USB/Class/MassStorage.h>
\r
\r
#include "Webserver.h"
\r
diff --git
a/Projects/Webserver/USBHostMode.h
b/Projects/Webserver/USBHostMode.h
index
03387ed
..
b548e6b
100644
(file)
--- a/
Projects/Webserver/USBHostMode.h
+++ b/
Projects/Webserver/USBHostMode.h
@@
-37,6
+37,7
@@
#define _USBHOSTMODE_H_
\r
\r
/* Includes: */
\r
#define _USBHOSTMODE_H_
\r
\r
/* Includes: */
\r
+ #include <LUFA/Drivers/USB/USB.h>
\r
#include <LUFA/Drivers/USB/Class/RNDIS.h>
\r
\r
#include "Webserver.h"
\r
#include <LUFA/Drivers/USB/Class/RNDIS.h>
\r
\r
#include "Webserver.h"
\r
diff --git
a/Projects/XPLAINBridge/Lib/SoftUART.c
b/Projects/XPLAINBridge/Lib/SoftUART.c
index
bc02653
..
01f9b2e
100644
(file)
--- a/
Projects/XPLAINBridge/Lib/SoftUART.c
+++ b/
Projects/XPLAINBridge/Lib/SoftUART.c
@@
-35,12
+35,12
@@
volatile uint8_t srx_done, stx_count;
\r
volatile uint8_t srx_data, srx_mask, srx_tmp, stx_data;
\r
\r
volatile uint8_t srx_done, stx_count;
\r
volatile uint8_t srx_data, srx_mask, srx_tmp, stx_data;
\r
\r
-u
nsigned char
SoftUART_IsReady(void)
\r
+u
int8_t
SoftUART_IsReady(void)
\r
{
\r
return !(stx_count);
\r
}
\r
\r
{
\r
return !(stx_count);
\r
}
\r
\r
-u
nsigned char SoftUART_TxByte(unsigned char
c)
\r
+u
int8_t SoftUART_TxByte(uint8_t
c)
\r
{
\r
while (stx_count);
\r
\r
{
\r
while (stx_count);
\r
\r
@@
-50,12
+50,12
@@
unsigned char SoftUART_TxByte(unsigned char c)
return c;
\r
}
\r
\r
return c;
\r
}
\r
\r
-u
nsigned char
SoftUART_IsReceived(void)
\r
+u
int8_t
SoftUART_IsReceived(void)
\r
{
\r
return srx_done;
\r
}
\r
\r
{
\r
return srx_done;
\r
}
\r
\r
-u
nsigned char
SoftUART_RxByte(void)
\r
+u
int8_t
SoftUART_RxByte(void)
\r
{
\r
while (!(srx_done));
\r
\r
{
\r
while (!(srx_done));
\r
\r
diff --git
a/Projects/XPLAINBridge/Lib/SoftUART.h
b/Projects/XPLAINBridge/Lib/SoftUART.h
index
7dbf2d5
..
d6b2432
100644
(file)
--- a/
Projects/XPLAINBridge/Lib/SoftUART.h
+++ b/
Projects/XPLAINBridge/Lib/SoftUART.h
@@
-51,10
+51,10
@@
#define STXDDR DDRD
\r
\r
/* Function Prototypes: */
\r
#define STXDDR DDRD
\r
\r
/* Function Prototypes: */
\r
- u
nsigned char
SoftUART_IsReady(void);
\r
- u
nsigned char SoftUART_TxByte(unsigned char
c);
\r
- u
nsigned char
SoftUART_IsReceived(void);
\r
- u
nsigned char
SoftUART_RxByte(void);
\r
- void SoftUART_Init(void);
\r
+ u
int8_t
SoftUART_IsReady(void);
\r
+ u
int8_t SoftUART_TxByte(uint8_t
c);
\r
+ u
int8_t
SoftUART_IsReceived(void);
\r
+ u
int8_t
SoftUART_RxByte(void);
\r
+ void
SoftUART_Init(void);
\r
\r
#endif
\ No newline at end of file
\r
#endif
\ No newline at end of file
diff --git
a/Projects/XPLAINBridge/XPLAINBridge.c
b/Projects/XPLAINBridge/XPLAINBridge.c
index
2de545f
..
13752ef
100644
(file)
--- a/
Projects/XPLAINBridge/XPLAINBridge.c
+++ b/
Projects/XPLAINBridge/XPLAINBridge.c
@@
-80,22
+80,25
@@
int main(void)
Buffer_Initialize(&USBtoUART_Buffer);
\r
Buffer_Initialize(&UARTtoUSB_Buffer);
\r
\r
Buffer_Initialize(&USBtoUART_Buffer);
\r
Buffer_Initialize(&UARTtoUSB_Buffer);
\r
\r
+ LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
\r
+
\r
for (;;)
\r
{
\r
for (;;)
\r
{
\r
- if (USB_DeviceState == DEVICE_STATE_Configured)
\r
- {
\r
- if (CurrentFirmwareMode == MODE_USART_BRIDGE)
\r
- USARTBridge_Task();
\r
- else
\r
- AVRISP_Task();
\r
- }
\r
-
\r
+ if (CurrentFirmwareMode == MODE_USART_BRIDGE)
\r
+ USARTBridge_Task();
\r
+ else
\r
+ AVRISP_Task();
\r
+
\r
USB_USBTask();
\r
}
\r
}
\r
\r
void AVRISP_Task(void)
\r
{
\r
USB_USBTask();
\r
}
\r
}
\r
\r
void AVRISP_Task(void)
\r
{
\r
+ /* Must be in the configured state for the AVRISP code to process data */
\r
+ if (USB_DeviceState != DEVICE_STATE_Configured)
\r
+ return;
\r
+
\r
Endpoint_SelectEndpoint(AVRISP_DATA_EPNUM);
\r
\r
/* Check to see if a V2 Protocol command has been received */
\r
Endpoint_SelectEndpoint(AVRISP_DATA_EPNUM);
\r
\r
/* Check to see if a V2 Protocol command has been received */
\r
@@
-112,6
+115,10
@@
void AVRISP_Task(void)
\r
void USARTBridge_Task(void)
\r
{
\r
\r
void USARTBridge_Task(void)
\r
{
\r
+ /* Must be in the configured state for the USART Bridge code to process data */
\r
+ if (USB_DeviceState != DEVICE_STATE_Configured)
\r
+ return;
\r
+
\r
/* Read bytes from the USB OUT endpoint into the UART transmit buffer */
\r
for (uint8_t DataBytesRem = CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface); DataBytesRem != 0; DataBytesRem--)
\r
{
\r
/* Read bytes from the USB OUT endpoint into the UART transmit buffer */
\r
for (uint8_t DataBytesRem = CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface); DataBytesRem != 0; DataBytesRem--)
\r
{
\r
@@
-130,8
+137,8
@@
void USARTBridge_Task(void)
SoftUART_TxByte(Buffer_GetElement(&USBtoUART_Buffer));
\r
\r
/* Load bytes from the UART into the UART receive buffer */
\r
SoftUART_TxByte(Buffer_GetElement(&USBtoUART_Buffer));
\r
\r
/* Load bytes from the UART into the UART receive buffer */
\r
- if(SoftUART_IsReceived())
\r
-
Buffer_StoreElement(&UARTtoUSB_Buffer, SoftUART_RxByte());
\r
+ if
(SoftUART_IsReceived())
\r
+ Buffer_StoreElement(&UARTtoUSB_Buffer, SoftUART_RxByte());
\r
\r
CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
\r
}
\r
\r
CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
\r
}
\r
@@
-169,6
+176,7
@@
void EVENT_USB_Device_ConfigurationChanged(void)
{
\r
bool EndpointConfigSuccess;
\r
\r
{
\r
bool EndpointConfigSuccess;
\r
\r
+ /* Configure the device endpoints according to the selected mode */
\r
if (CurrentFirmwareMode == MODE_USART_BRIDGE)
\r
{
\r
EndpointConfigSuccess = CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface);
\r
if (CurrentFirmwareMode == MODE_USART_BRIDGE)
\r
{
\r
EndpointConfigSuccess = CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface);
\r
@@
-193,6
+201,18
@@
void EVENT_USB_Device_UnhandledControlRequest(void)
CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
\r
}
\r
\r
CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
\r
}
\r
\r
+/** Event handler for the library USB Connection event. */
\r
+void EVENT_USB_Device_Connect(void)
\r
+{
\r
+ LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
\r
+}
\r
+
\r
+/** Event handler for the library USB Disconnection event. */
\r
+void EVENT_USB_Device_Disconnect(void)
\r
+{
\r
+ LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
\r
+}
\r
+
\r
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
\r
* documentation) by the application code so that the address and size of a requested descriptor can be given
\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
\r
/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
\r
* documentation) by the application code so that the address and size of a requested descriptor can be given
\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
\r
@@
-201,6
+221,7
@@
void EVENT_USB_Device_UnhandledControlRequest(void)
*/
\r
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
\r
{
\r
*/
\r
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
\r
{
\r
+ /* Return the correct descriptors based on the selected mode */
\r
if (CurrentFirmwareMode == MODE_USART_BRIDGE)
\r
return USART_GetDescriptor(wValue, wIndex, DescriptorAddress);
\r
else
\r
if (CurrentFirmwareMode == MODE_USART_BRIDGE)
\r
return USART_GetDescriptor(wValue, wIndex, DescriptorAddress);
\r
else
\r
diff --git
a/Projects/XPLAINBridge/XPLAINBridge.h
b/Projects/XPLAINBridge/XPLAINBridge.h
index
805c30d
..
0c3a56c
100644
(file)
--- a/
Projects/XPLAINBridge/XPLAINBridge.h
+++ b/
Projects/XPLAINBridge/XPLAINBridge.h
@@
-85,8
+85,8
@@
\r
void EVENT_USB_Device_ConfigurationChanged(void);
\r
void EVENT_USB_Device_UnhandledControlRequest(void);
\r
\r
void EVENT_USB_Device_ConfigurationChanged(void);
\r
void EVENT_USB_Device_UnhandledControlRequest(void);
\r
-
\r
- void EVENT_
CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo);
\r
+ void EVENT_USB_Device_Connect(void);
\r
+ void EVENT_
USB_Device_Disconnect(void);
\r
\r
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress);
\r
\r
\r
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress);
\r
\r