Minor documentation adjustments to the demos, projects and bootloaders to ensure...
[pub/USBasp.git] / Projects / Incomplete / StandaloneProgrammer / StandaloneProgrammer.c
index 6cf3b4b..86318e9 100644 (file)
@@ -1,13 +1,13 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
+     Copyright (C) Dean Camera, 2012.
 
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
-  Copyright 2010  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
@@ -31,7 +31,7 @@
 /** \file
  *
  *  Main source file for the Standalone Programmer project. This file contains the main tasks of
- *  the demo and is responsible for the initial application hardware configuration.
+ *  the project and is responsible for the initial application hardware configuration.
  */
 
 #define  INCLUDE_FROM_STANDALONEPROG_C
@@ -114,18 +114,15 @@ int main(void)
        {
                Programmer_Task();
 
+               #if defined(USB_CAN_BE_HOST)
                if (USB_CurrentMode == USB_MODE_Host)
-               {
-                       #if defined(USB_CAN_BE_HOST)
-                       DiskHost_USBTask();
-                       #endif
-               }
-               else
-               {
-                       #if defined(USB_CAN_BE_DEVICE)
-                       DiskDevice_USBTask();
-                       #endif
-               }
+                 DiskHost_USBTask();
+               #endif
+               
+               #if defined(USB_CAN_BE_DEVICE)
+               if (USB_CurrentMode == USB_MODE_Device)
+                 DiskDevice_USBTask();
+               #endif
 
                USB_USBTask();
        }
@@ -152,9 +149,19 @@ void SetupHardware(void)
        SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
        Dataflash_Init();
        Buttons_Init();
-       SerialStream_Init(9600, true);
+       Serial_Init(9600, true);
+
+       /* Create a stdio stream for the serial port for stdin and stdout */
+       Serial_CreateStream(NULL);
 
        #if defined(USB_CAN_BE_DEVICE)
+       /* 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();
        #endif