Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments.

This commit is contained in:
Dean Camera 2009-06-08 07:34:16 +00:00
parent 33a0184749
commit ac70ddd0a1
39 changed files with 405 additions and 838 deletions

View file

@ -54,25 +54,27 @@
#include <LUFA/Drivers/Peripheral/SerialStream.h> // Serial stream driver
#include <LUFA/Drivers/Board/LEDs.h> // LEDs driver
#include <LUFA/Drivers/Board/Buttons.h> // Board Buttons driver
#include <LUFA/Scheduler/Scheduler.h> // Simple scheduler for task management
/* Enums: */
/** Enum for the possible status codes for passing to the UpdateStatus() function. */
enum MassStorageHost_StatusCodes_t
{
Status_USBNotReady = 0, /**< USB is not ready (disconnected from a USB device) */
Status_USBEnumerating = 1, /**< USB interface is enumerating */
Status_USBReady = 2, /**< USB interface is connected and ready */
Status_EnumerationError = 3, /**< Software error while enumerating the attached USB device */
Status_HardwareError = 4, /**< Hardware error while enumerating the attached USB device */
Status_Busy = 5, /**< Busy reading or writing to the attached Mass Storage device */
Status_SCSICommandError = 6, /**< Error sending or receiving a command to or from the attached SCSI device */
};
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
#define LEDMASK_USB_NOTREADY LEDS_LED1
/* Task Definitions: */
TASK(USB_MassStore_Host);
/** LED mask for the library LED driver, to indicate that the USB interface is enumerating. */
#define LEDMASK_USB_ENUMERATING (LEDS_LED2 | LEDS_LED3)
/** LED mask for the library LED driver, to indicate that the USB interface is ready. */
#define LEDMASK_USB_READY (LEDS_LED2 | LEDS_LED4)
/** 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)
/* Function Prototypes: */
void MassStorage_Task(void);
void SetupHardware(void);
void EVENT_USB_HostError(const uint8_t ErrorCode);
void EVENT_USB_DeviceAttached(void);
void EVENT_USB_DeviceUnattached(void);
@ -80,6 +82,5 @@
void EVENT_USB_DeviceEnumerationComplete(void);
void ShowDiskReadError(char* CommandString, bool FailedAtSCSILayer, uint8_t ErrorCode);
void UpdateStatus(uint8_t CurrentStatus);
#endif