aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c
diff options
context:
space:
mode:
Diffstat (limited to 'Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c')
-rw-r--r--Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c322
1 files changed, 161 insertions, 161 deletions
diff --git a/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c b/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c
index 239eb7137..4db5a568a 100644
--- a/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c
+++ b/Projects/Incomplete/StandaloneProgrammer/StandaloneProgrammer.c
@@ -1,161 +1,161 @@
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2010.
-
- dean [at] fourwalledcubicle [dot] com
- www.fourwalledcubicle.com
-*/
-
-/*
- Copyright 2010 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 disclaim 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 Standalone Programmer project. This file contains the main tasks of
- * the demo and is responsible for the initial application hardware configuration.
- */
-
-#define INCLUDE_FROM_STANDALONEPROG_C
-#include "StandaloneProgrammer.h"
-
-/** Standard file stream for the currently open file on the disk. */
-FILE DiskStream = FDEV_SETUP_STREAM(NULL, Disk_getchar, _FDEV_SETUP_READ);
-
-/** Petite FAT Fs structure to hold the internal state of the FAT driver for the dataflash contents. */
-FATFS DiskFATState;
-
-/** Stream character fetching routine for the FAT driver so that characters from the currently open file can be
- * read in sequence when applied to a stdio stream.
- */
-static int Disk_getchar(FILE* Stream)
-{
- char ReadByte;
- WORD ByteWasRead;
-
- if (pf_read(&ReadByte, 1, &ByteWasRead) != FR_OK)
- return _FDEV_ERR;
-
- return (ByteWasRead ? ReadByte : _FDEV_EOF);
-}
-
-#if defined(USB_CAN_BE_BOTH)
-/** Event to handle mode changes in the library, to clear the FAT library's drive state structure when transitioning
- * between modes. This ensures that the library always works with current disk data.
- */
-void EVENT_USB_UIDChange(void)
-{
- pf_mount(&DiskFATState);
-}
-#endif
-
-/** Task to determine if the user is wishes to start the programming sequence, and if so executes the
- * required functions to program the attached target (if any) with the files loaded to the dataflash.
- */
-void Programmer_Task(void)
-{
- static bool HasAttempted = false;
-
- if (Buttons_GetStatus() & BUTTONS_BUTTON1)
- {
- if (!(HasAttempted))
- HasAttempted = true;
- else
- return;
-
- puts("==== PROGRAMMING CYCLE STARTED ====\r\n");
-
- #if defined(USB_CAN_BE_BOTH)
- printf("Using %s Drive...\r\n", (USB_CurrentMode == USB_MODE_HOST) ? "External" : "Internal");
- #endif
-
- puts("Reading Configuration File...\r\n");
- if (!(ProgrammerConfig_ProcessConfiguration()))
- goto EndOfProgCycle;
-
- EndOfProgCycle:
- puts("==== PROGRAMMING CYCLE FINISHED ====\r\n");
- }
- else
- {
- HasAttempted = false;
- }
-}
-
-/** Main program entry point. This routine contains the overall program flow, including initial
- * setup of all components and the main program loop.
- */
-int main(void)
-{
- SetupHardware();
-
- LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
- sei();
-
- for (;;)
- {
- Programmer_Task();
-
- 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
- }
-
- 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);
-
- /* Hardware Initialization */
- #if defined(USB_CAN_BE_BOTH)
- USB_Init(USB_MODE_UID);
- #else
- USB_Init();
- #endif
-
- LEDs_Init();
- 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);
-
- #if defined(USB_CAN_BE_DEVICE)
- /* Clear Dataflash sector protections, if enabled */
- DataflashManager_ResetDataflashProtections();
- #endif
-}
+/*
+ LUFA Library
+ Copyright (C) Dean Camera, 2010.
+
+ dean [at] fourwalledcubicle [dot] com
+ www.fourwalledcubicle.com
+*/
+
+/*
+ Copyright 2010 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 disclaim 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 Standalone Programmer project. This file contains the main tasks of
+ * the demo and is responsible for the initial application hardware configuration.
+ */
+
+#define INCLUDE_FROM_STANDALONEPROG_C
+#include "StandaloneProgrammer.h"
+
+/** Standard file stream for the currently open file on the disk. */
+FILE DiskStream = FDEV_SETUP_STREAM(NULL, Disk_getchar, _FDEV_SETUP_READ);
+
+/** Petite FAT Fs structure to hold the internal state of the FAT driver for the dataflash contents. */
+FATFS DiskFATState;
+
+/** Stream character fetching routine for the FAT driver so that characters from the currently open file can be
+ * read in sequence when applied to a stdio stream.
+ */
+static int Disk_getchar(FILE* Stream)
+{
+ char ReadByte;
+ WORD ByteWasRead;
+
+ if (pf_read(&ReadByte, 1, &ByteWasRead) != FR_OK)
+ return _FDEV_ERR;
+
+ return (ByteWasRead ? ReadByte : _FDEV_EOF);
+}
+
+#if defined(USB_CAN_BE_BOTH)
+/** Event to handle mode changes in the library, to clear the FAT library's drive state structure when transitioning
+ * between modes. This ensures that the library always works with current disk data.
+ */
+void EVENT_USB_UIDChange(void)
+{
+ pf_mount(&DiskFATState);
+}
+#endif
+
+/** Task to determine if the user is wishes to start the programming sequence, and if so executes the
+ * required functions to program the attached target (if any) with the files loaded to the dataflash.
+ */
+void Programmer_Task(void)
+{
+ static bool HasAttempted = false;
+
+ if (Buttons_GetStatus() & BUTTONS_BUTTON1)
+ {
+ if (!(HasAttempted))
+ HasAttempted = true;
+ else
+ return;
+
+ puts("==== PROGRAMMING CYCLE STARTED ====\r\n");
+
+ #if defined(USB_CAN_BE_BOTH)
+ printf("Using %s Drive...\r\n", (USB_CurrentMode == USB_MODE_HOST) ? "External" : "Internal");
+ #endif
+
+ puts("Reading Configuration File...\r\n");
+ if (!(ProgrammerConfig_ProcessConfiguration()))
+ goto EndOfProgCycle;
+
+ EndOfProgCycle:
+ puts("==== PROGRAMMING CYCLE FINISHED ====\r\n");
+ }
+ else
+ {
+ HasAttempted = false;
+ }
+}
+
+/** Main program entry point. This routine contains the overall program flow, including initial
+ * setup of all components and the main program loop.
+ */
+int main(void)
+{
+ SetupHardware();
+
+ LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
+ sei();
+
+ for (;;)
+ {
+ Programmer_Task();
+
+ 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
+ }
+
+ 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);
+
+ /* Hardware Initialization */
+ #if defined(USB_CAN_BE_BOTH)
+ USB_Init(USB_MODE_UID);
+ #else
+ USB_Init();
+ #endif
+
+ LEDs_Init();
+ 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);
+
+ #if defined(USB_CAN_BE_DEVICE)
+ /* Clear Dataflash sector protections, if enabled */
+ DataflashManager_ResetDataflashProtections();
+ #endif
+}