aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Host/Incomplete/BluetoothHost
diff options
context:
space:
mode:
Diffstat (limited to 'Demos/Host/Incomplete/BluetoothHost')
-rw-r--r--Demos/Host/Incomplete/BluetoothHost/BluetoothHost.c124
-rw-r--r--Demos/Host/Incomplete/BluetoothHost/BluetoothHost.h1
2 files changed, 49 insertions, 76 deletions
diff --git a/Demos/Host/Incomplete/BluetoothHost/BluetoothHost.c b/Demos/Host/Incomplete/BluetoothHost/BluetoothHost.c
index af00cb321..c29e7e9d7 100644
--- a/Demos/Host/Incomplete/BluetoothHost/BluetoothHost.c
+++ b/Demos/Host/Incomplete/BluetoothHost/BluetoothHost.c
@@ -60,7 +60,6 @@ int main(void)
{
RFCOMM_ServiceChannels(SerialChannel_ACL);
- Bluetooth_Host_Task();
Bluetooth_Stack_USBTask();
USB_USBTask();
}
@@ -108,6 +107,55 @@ void EVENT_USB_Host_DeviceUnattached(void)
*/
void EVENT_USB_Host_DeviceEnumerationComplete(void)
{
+ puts_P(PSTR("Getting Device Data.\r\n"));
+
+ uint8_t ErrorCode;
+
+ /* Get and process the configuration descriptor data */
+ if ((ErrorCode = ProcessDeviceDescriptor()) != SuccessfulDeviceRead)
+ {
+ if (ErrorCode == DevControlError)
+ puts_P(PSTR(ESC_FG_RED "Control Error (Get Device).\r\n"));
+ else
+ puts_P(PSTR(ESC_FG_RED "Invalid Device.\r\n"));
+
+ printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+ return;
+ }
+
+ puts_P(PSTR("Getting Config Data.\r\n"));
+
+ /* Get and process the configuration descriptor data */
+ if ((ErrorCode = ProcessConfigurationDescriptor()) != SuccessfulConfigRead)
+ {
+ if (ErrorCode == ControlError)
+ puts_P(PSTR(ESC_FG_RED "Control Error (Get Configuration).\r\n"));
+ else
+ puts_P(PSTR(ESC_FG_RED "Invalid Device.\r\n"));
+
+ printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+ return;
+ }
+
+ /* Set the device configuration to the first configuration (rarely do devices use multiple configurations) */
+ if ((ErrorCode = USB_Host_SetDeviceConfiguration(1)) != HOST_SENDCONTROL_Successful)
+ {
+ printf_P(PSTR(ESC_FG_RED "Control Error (Set Configuration).\r\n"
+ " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+ LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+ return;
+ }
+
+ puts_P(PSTR("Bluetooth Dongle Enumerated.\r\n"));
+
+ /* Initialize the Bluetooth stack */
+ Bluetooth_Stack_Init();
+
LEDs_SetAllLEDs(LEDMASK_USB_READY);
}
@@ -137,77 +185,3 @@ void EVENT_USB_Host_DeviceEnumerationFailed(const uint8_t ErrorCode,
LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
}
-/** Task to set the configuration of the attached device after it has been enumerated. */
-void Bluetooth_Host_Task(void)
-{
- uint8_t ErrorCode;
-
- switch (USB_HostState)
- {
- case HOST_STATE_Addressed:
- puts_P(PSTR("Getting Device Data.\r\n"));
-
- /* Get and process the configuration descriptor data */
- if ((ErrorCode = ProcessDeviceDescriptor()) != SuccessfulDeviceRead)
- {
- if (ErrorCode == DevControlError)
- puts_P(PSTR(ESC_FG_RED "Control Error (Get Device).\r\n"));
- else
- puts_P(PSTR(ESC_FG_RED "Invalid Device.\r\n"));
-
- printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
-
- /* Indicate error via status LEDs */
- LEDs_SetAllLEDs(LEDS_LED1);
-
- /* Wait until USB device disconnected */
- USB_HostState = HOST_STATE_WaitForDeviceRemoval;
- break;
- }
-
- puts_P(PSTR("Bluetooth Dongle Detected.\r\n"));
-
- /* Set the device configuration to the first configuration (rarely do devices use multiple configurations) */
- if ((ErrorCode = USB_Host_SetDeviceConfiguration(1)) != HOST_SENDCONTROL_Successful)
- {
- printf_P(PSTR(ESC_FG_RED "Control Error (Set Configuration).\r\n"
- " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
-
- /* Indicate error via status LEDs */
- LEDs_SetAllLEDs(LEDS_LED1);
-
- /* Wait until USB device disconnected */
- USB_HostState = HOST_STATE_WaitForDeviceRemoval;
- break;
- }
-
- puts_P(PSTR("Getting Config Data.\r\n"));
-
- /* Get and process the configuration descriptor data */
- if ((ErrorCode = ProcessConfigurationDescriptor()) != SuccessfulConfigRead)
- {
- if (ErrorCode == ControlError)
- puts_P(PSTR(ESC_FG_RED "Control Error (Get Configuration).\r\n"));
- else
- puts_P(PSTR(ESC_FG_RED "Invalid Device.\r\n"));
-
- printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
-
- /* Indicate error via status LEDs */
- LEDs_SetAllLEDs(LEDS_LED1);
-
- /* Wait until USB device disconnected */
- USB_HostState = HOST_STATE_WaitForDeviceRemoval;
- break;
- }
-
- puts_P(PSTR("Bluetooth Dongle Enumerated.\r\n"));
-
- /* Initialize the Bluetooth stack */
- Bluetooth_Stack_Init();
-
- USB_HostState = HOST_STATE_Configured;
- break;
- }
-}
-
diff --git a/Demos/Host/Incomplete/BluetoothHost/BluetoothHost.h b/Demos/Host/Incomplete/BluetoothHost/BluetoothHost.h
index b452271b5..30e2301b4 100644
--- a/Demos/Host/Incomplete/BluetoothHost/BluetoothHost.h
+++ b/Demos/Host/Incomplete/BluetoothHost/BluetoothHost.h
@@ -80,7 +80,6 @@
const uint8_t SubErrorCode);
/* Function Prototypes: */
- void Bluetooth_Host_Task(void);
void SetupHardware(void);
#endif