Move out the Mass Storage class bootloader to the main Bootloader directory now that...
[pub/lufa.git] / Bootloaders / Incomplete / MassStorage / BootloaderMassStorage.c
diff --git a/Bootloaders/Incomplete/MassStorage/BootloaderMassStorage.c b/Bootloaders/Incomplete/MassStorage/BootloaderMassStorage.c
deleted file mode 100644 (file)
index 9303471..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-             LUFA Library
-     Copyright (C) Dean Camera, 2013.
-
-  dean [at] fourwalledcubicle [dot] com
-           www.lufa-lib.org
-*/
-
-/*
-  Copyright 2013  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, distribute, and sell this
-  software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in
-  all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaims all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/** \file
- *
- *  Main source file for the Mass Storage class bootloader. This file contains the complete bootloader logic.
- */
-
-#include "BootloaderMassStorage.h"
-
-/** LUFA Mass Storage Class driver interface configuration and state information. This structure is
- *  passed to all Mass Storage Class driver functions, so that multiple instances of the same class
- *  within a device can be differentiated from one another.
- */
-USB_ClassInfo_MS_Device_t Disk_MS_Interface =
-       {
-               .Config =
-                       {
-                               .InterfaceNumber           = 0,
-                               .DataINEndpoint            =
-                                       {
-                                               .Address           = MASS_STORAGE_IN_EPADDR,
-                                               .Size              = MASS_STORAGE_IO_EPSIZE,
-                                               .Banks             = 1,
-                                       },
-                               .DataOUTEndpoint           =
-                                       {
-                                               .Address           = MASS_STORAGE_OUT_EPADDR,
-                                               .Size              = MASS_STORAGE_IO_EPSIZE,
-                                               .Banks             = 1,
-                                       },
-                               .TotalLUNs                 = 1,
-                       },
-       };
-
-
-/** Main program entry point. This routine configures the hardware required by the application, then
- *  enters a loop to run the application tasks in sequence.
- */
-int main(void)
-{
-       SetupHardware();
-
-       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
-       GlobalInterruptEnable();
-
-       for (;;)
-       {
-               MS_Device_USBTask(&Disk_MS_Interface);
-               USB_USBTask();
-       }
-}
-
-/** Configures the board hardware and chip peripherals for the demo's functionality. */
-void SetupHardware(void)
-{
-       /* Disable watchdog if enabled by bootloader/fuses */
-       MCUSR &= ~(1 << WDRF);
-       wdt_disable();
-
-       /* Disable clock division */
-       clock_prescale_set(clock_div_1);
-
-       /* Relocate the interrupt vector table to the bootloader section */
-       MCUCR = (1 << IVCE);
-       MCUCR = (1 << IVSEL);
-
-       /* Hardware Initialization */
-       LEDs_Init();
-       USB_Init();
-
-       /* Bootloader active LED toggle timer initialization */
-       TIMSK1 = (1 << TOIE1);
-       TCCR1B = ((1 << CS11) | (1 << CS10));
-}
-
-/** ISR to periodically toggle the LEDs on the board to indicate that the bootloader is active. */
-ISR(TIMER1_OVF_vect, ISR_BLOCK)
-{
-       LEDs_ToggleLEDs(LEDS_LED1 | LEDS_LED2);
-}
-
-/** Event handler for the USB_Connect event. This indicates that the device is enumerating via the status LEDs. */
-void EVENT_USB_Device_Connect(void)
-{
-       /* Indicate USB enumerating */
-       LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
-}
-
-/** 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 EVENT_USB_Device_Disconnect(void)
-{
-       /* Indicate USB not ready */
-       LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
-}
-
-/** Event handler for the library USB Configuration Changed event. */
-void EVENT_USB_Device_ConfigurationChanged(void)
-{
-       bool ConfigSuccess = true;
-
-       /* Setup Mass Storage Data Endpoints */
-       ConfigSuccess &= MS_Device_ConfigureEndpoints(&Disk_MS_Interface);
-
-       /* Indicate endpoint configuration success or failure */
-       LEDs_SetAllLEDs(ConfigSuccess ? LEDMASK_USB_READY : LEDMASK_USB_ERROR);
-}
-
-/** Event handler for the library USB Control Request reception event. */
-void EVENT_USB_Device_ControlRequest(void)
-{
-       MS_Device_ProcessControlRequest(&Disk_MS_Interface);
-}
-
-/** Mass Storage class driver callback function the reception of SCSI commands from the host, which must be processed.
- *
- *  \param[in] MSInterfaceInfo  Pointer to the Mass Storage class interface configuration structure being referenced
- */
-bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo)
-{
-       bool CommandSuccess;
-
-       LEDs_SetAllLEDs(LEDMASK_USB_BUSY);
-       CommandSuccess = SCSI_DecodeSCSICommand(MSInterfaceInfo);
-       LEDs_SetAllLEDs(LEDMASK_USB_READY);
-
-       return CommandSuccess;
-}
-