X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/f555ad7ced743a19eb1eefaf5eaf536fcbe58d80..b04de2f2f4bb14c968ebcc765ec93c5d1591aa0d:/Demos/Device/LowLevel/MassStorage/MassStorage.c diff --git a/Demos/Device/LowLevel/MassStorage/MassStorage.c b/Demos/Device/LowLevel/MassStorage/MassStorage.c index cbfef0fbf..947636cf8 100644 --- a/Demos/Device/LowLevel/MassStorage/MassStorage.c +++ b/Demos/Device/LowLevel/MassStorage/MassStorage.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2011. + Copyright (C) Dean Camera, 2012. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2012 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 @@ -80,6 +80,13 @@ void SetupHardware(void) Dataflash_Init(); USB_Init(); + /* Check if the Dataflash is working, abort if not */ + if (!(DataflashManager_CheckDataflashOperation())) + { + LEDs_SetAllLEDs(LEDMASK_USB_ERROR); + for(;;); + } + /* Clear Dataflash sector protections, if enabled */ DataflashManager_ResetDataflashProtections(); } @@ -146,7 +153,7 @@ void EVENT_USB_Device_ControlRequest(void) Endpoint_ClearSETUP(); /* Indicate to the host the number of supported LUNs (virtual disks) on the device */ - Endpoint_Write_Byte(TOTAL_LUNS - 1); + Endpoint_Write_8(TOTAL_LUNS - 1); Endpoint_ClearIN(); Endpoint_ClearStatusStage(); @@ -199,8 +206,8 @@ void MassStorage_Task(void) if (IsMassStoreReset) { /* Reset the data endpoint banks */ - Endpoint_ResetFIFO(MASS_STORAGE_OUT_EPNUM); - Endpoint_ResetFIFO(MASS_STORAGE_IN_EPNUM); + Endpoint_ResetEndpoint(MASS_STORAGE_OUT_EPNUM); + Endpoint_ResetEndpoint(MASS_STORAGE_IN_EPNUM); Endpoint_SelectEndpoint(MASS_STORAGE_OUT_EPNUM); Endpoint_ClearStall(); @@ -309,7 +316,8 @@ static void ReturnCommandStatus(void) if (IsMassStoreReset) return; } - + /* Finalize the stream transfer to send the last packet */ Endpoint_ClearIN(); } +