aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2009-05-26 04:46:35 +0000
committerDean Camera <dean@fourwalledcubicle.com>2009-05-26 04:46:35 +0000
commit7eb4eb7cdd1ba6a9a6e1ae82968294445667f2e0 (patch)
tree146270bd13607692dd55f85ab8a5a668c5a433d1 /Demos/Device
parentb7ef7f49c9f6b4de962ae32776866bd1d5d59c3b (diff)
downloadlufa-7eb4eb7cdd1ba6a9a6e1ae82968294445667f2e0.tar.gz
lufa-7eb4eb7cdd1ba6a9a6e1ae82968294445667f2e0.tar.bz2
lufa-7eb4eb7cdd1ba6a9a6e1ae82968294445667f2e0.zip
Fix all device mode demos broken in the recent API changes.
Change USBtoSerial Tx to polling-driven rather than interrupt driven, to ensure more time for the Rx interrupt to be serviced.
Diffstat (limited to 'Demos/Device')
-rw-r--r--Demos/Device/AudioOutput/AudioOutput.c8
-rw-r--r--Demos/Device/AudioOutput/Descriptors.c2
-rw-r--r--Demos/Device/GenericHID/GenericHID.c3
-rw-r--r--Demos/Device/MassStorage/MassStorage.c8
-rw-r--r--Demos/Device/USBtoSerial/USBtoSerial.c26
5 files changed, 15 insertions, 32 deletions
diff --git a/Demos/Device/AudioOutput/AudioOutput.c b/Demos/Device/AudioOutput/AudioOutput.c
index 7ec2e3534..40e376b52 100644
--- a/Demos/Device/AudioOutput/AudioOutput.c
+++ b/Demos/Device/AudioOutput/AudioOutput.c
@@ -75,7 +75,7 @@ int main(void)
/** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs, and
* configures the sample update and PWM timers.
*/
-void EventHandler_USB_Connect(void)
+void EVENT_USB_Connect(void)
{
/* Start USB management task */
Scheduler_SetTaskMode(USB_USBTask, TASK_RUN);
@@ -110,7 +110,7 @@ void EventHandler_USB_Connect(void)
/** Event handler for the USB_Disconnect event. This indicates that the device is no longer connected to a host via
* the status LEDs, disables the sample update and PWM output timers and stops the USB and Audio management tasks.
*/
-void EventHandler_USB_Disconnect(void)
+void EVENT_USB_Disconnect(void)
{
/* Stop the timers */
TCCR0B = 0;
@@ -140,7 +140,7 @@ void EventHandler_USB_Disconnect(void)
/** Event handler for the USB_ConfigurationChanged event. This is fired when the host set the current configuration
* of the USB device after enumeration - the device endpoints are configured.
*/
-void EventHandler_USB_ConfigurationChanged(void)
+void EVENT_USB_ConfigurationChanged(void)
{
/* Setup audio stream endpoint */
Endpoint_ConfigureEndpoint(AUDIO_STREAM_EPNUM, EP_TYPE_ISOCHRONOUS,
@@ -155,7 +155,7 @@ void EventHandler_USB_ConfigurationChanged(void)
* control requests that are not handled internally by the USB library (including the Audio class-specific
* requests) so that they can be handled appropriately for the application.
*/
-void EventHandler_USB_UnhandledControlPacket(void)
+void EVENT_USB_UnhandledControlPacket(void)
{
/* Process General and Audio specific control requests */
switch (USB_ControlRequest.bRequest)
diff --git a/Demos/Device/AudioOutput/Descriptors.c b/Demos/Device/AudioOutput/Descriptors.c
index 0c3873b41..92d7e0d57 100644
--- a/Demos/Device/AudioOutput/Descriptors.c
+++ b/Demos/Device/AudioOutput/Descriptors.c
@@ -271,7 +271,7 @@ USB_Descriptor_String_t PROGMEM ProductString =
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
* USB host.
*/
-uint16_t USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
+uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue, const uint8_t wIndex, void** const DescriptorAddress)
{
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xFF);
diff --git a/Demos/Device/GenericHID/GenericHID.c b/Demos/Device/GenericHID/GenericHID.c
index f43499a0f..058d269fe 100644
--- a/Demos/Device/GenericHID/GenericHID.c
+++ b/Demos/Device/GenericHID/GenericHID.c
@@ -59,6 +59,9 @@ int main(void)
/* Disable clock division */
clock_prescale_set(clock_div_1);
+ /* Hardware Initialization */
+ LEDs_Init();
+
/* Indicate USB not ready */
UpdateStatus(Status_USBNotReady);
diff --git a/Demos/Device/MassStorage/MassStorage.c b/Demos/Device/MassStorage/MassStorage.c
index 82e7e8aa2..72a230219 100644
--- a/Demos/Device/MassStorage/MassStorage.c
+++ b/Demos/Device/MassStorage/MassStorage.c
@@ -86,7 +86,7 @@ int main(void)
}
/** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs. */
-void EventHandler_USB_Connect(void)
+void EVENT_USB_Connect(void)
{
/* Indicate USB enumerating */
UpdateStatus(Status_USBEnumerating);
@@ -98,7 +98,7 @@ void EventHandler_USB_Connect(void)
/** Event handler for the USB_Disconnect event. This indicates that the device is no longer connected to a host via
* the status LEDs and stops the Mass Storage management task.
*/
-void EventHandler_USB_Disconnect(void)
+void EVENT_USB_Disconnect(void)
{
/* Stop running mass storage task */
Scheduler_SetTaskMode(USB_MassStorage, TASK_STOP);
@@ -110,7 +110,7 @@ void EventHandler_USB_Disconnect(void)
/** Event handler for the USB_ConfigurationChanged event. This is fired when the host set the current configuration
* of the USB device after enumeration - the device endpoints are configured and the Mass Storage management task started.
*/
-void EventHandler_USB_ConfigurationChanged(void)
+void EVENT_USB_ConfigurationChanged(void)
{
/* Setup Mass Storage In and Out Endpoints */
Endpoint_ConfigureEndpoint(MASS_STORAGE_IN_EPNUM, EP_TYPE_BULK,
@@ -132,7 +132,7 @@ void EventHandler_USB_ConfigurationChanged(void)
* control requests that are not handled internally by the USB library (including the Mass Storage class-specific
* requests) so that they can be handled appropriately for the application.
*/
-void EventHandler_USB_UnhandledControlPacket(void)
+void EVENT_USB_UnhandledControlPacket(void)
{
/* Process UFI specific control requests */
switch (USB_ControlRequest.bRequest)
diff --git a/Demos/Device/USBtoSerial/USBtoSerial.c b/Demos/Device/USBtoSerial/USBtoSerial.c
index ef51a6eeb..7cef56560 100644
--- a/Demos/Device/USBtoSerial/USBtoSerial.c
+++ b/Demos/Device/USBtoSerial/USBtoSerial.c
@@ -256,16 +256,9 @@ TASK(CDC_Task)
}
}
- /* Check if Rx buffer contains data */
+ /* Check if Rx buffer contains data - if so, send it */
if (Rx_Buffer.Elements)
- {
- /* Initiate the transmission of the buffer contents if USART idle */
- if (!(Transmitting))
- {
- Transmitting = true;
- Serial_TxByte(Buffer_GetElement(&Rx_Buffer));
- }
- }
+ Serial_TxByte(Buffer_GetElement(&Rx_Buffer));
/* Select the Serial Tx Endpoint */
Endpoint_SelectEndpoint(CDC_TX_EPNUM);
@@ -303,19 +296,6 @@ TASK(CDC_Task)
}
}
-/** ISR to handle the USART transmit complete interrupt, fired each time the USART has sent a character. This reloads the USART
- * data register with the next byte from the Rx_Buffer circular buffer if a character is available, or stops the transmission if
- * the buffer is currently empty.
- */
-ISR(USART1_TX_vect, ISR_BLOCK)
-{
- /* Send next character if available */
- if (Rx_Buffer.Elements)
- UDR1 = Buffer_GetElement(&Rx_Buffer);
- else
- Transmitting = false;
-}
-
/** ISR to handle the USART receive complete interrupt, fired each time the USART has received a character. This stores the received
* character into the Tx_Buffer circular buffer for later transmission to the host.
*/
@@ -383,7 +363,7 @@ void ReconfigureUSART(void)
UCSR1A = (1 << U2X1);
/* Enable transmit and receive modules and interrupts */
- UCSR1B = ((1 << TXCIE1) | (1 << RXCIE1) | (1 << TXEN1) | (1 << RXEN1));
+ UCSR1B = ((1 << RXCIE1) | (1 << TXEN1) | (1 << RXEN1));
/* Set the USART mode to the mask generated by the Line Coding options */
UCSR1C = ConfigMask;