Added extra DoxyGen documentation to the new PrinterHost demo.
authorDean Camera <dean@fourwalledcubicle.com>
Mon, 20 Jul 2009 13:49:26 +0000 (13:49 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Mon, 20 Jul 2009 13:49:26 +0000 (13:49 +0000)
Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.c
Demos/Host/LowLevel/PrinterHost/Lib/PrinterCommands.h
Demos/Host/LowLevel/PrinterHost/PrinterHost.c
Demos/Host/LowLevel/PrinterHost/PrinterHost.h
Demos/Host/LowLevel/PrinterHost/PrinterHost.txt [new file with mode: 0644]

index 4e2a0d9..6ed7fa9 100644 (file)
   this software.\r
 */\r
 \r
+/** \file\r
+ *\r
+ *  Printer Device commands, to send/recieve data to and from an attached USB\r
+ *  printer, and to send and receive Printer Class control requests.\r
+ */\r
+\r
 #include "PrinterCommands.h"\r
 \r
 /** Sends the given data directly to the printer via the data endpoints, for the sending of print commands in printer\r
index 4656d19..896a590 100644 (file)
   this software.\r
 */\r
 \r
+/** \file\r
+ *\r
+ *  Header file for PrinterCommands.c.\r
+ */\r
\r
 #ifndef _PRINTER_COMMANDS_H_\r
 #define _PRINTER_COMMANDS_H_\r
 \r
index 6bbacab..64adf22 100644 (file)
@@ -54,6 +54,7 @@ int main(void)
        }\r
 }\r
 \r
+/** Configures the board hardware and chip peripherals for the demo's functionality. */\r
 void SetupHardware(void)\r
 {\r
        /* Disable watchdog if enabled by bootloader/fuses */\r
@@ -69,18 +70,33 @@ void SetupHardware(void)
        USB_Init();\r
 }\r
 \r
+/** Event handler for the USB_DeviceAttached event. This indicates that a device has been attached to the host, and\r
+ *  starts the library USB task to begin the enumeration and USB management process.\r
+ */\r
 void EVENT_USB_DeviceAttached(void)\r
 {\r
        puts_P(PSTR(ESC_FG_GREEN "Device Attached.\r\n" ESC_FG_WHITE));\r
        LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);\r
 }\r
 \r
+/** Event handler for the USB_DeviceUnattached event. This indicates that a device has been removed from the host, and\r
+ *  stops the library USB task management process.\r
+ */\r
 void EVENT_USB_DeviceUnattached(void)\r
 {\r
        puts_P(PSTR(ESC_FG_GREEN "\r\nDevice Unattached.\r\n" ESC_FG_WHITE));\r
        LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);\r
 }\r
 \r
+/** Event handler for the USB_DeviceEnumerationComplete event. This indicates that a device has been successfully\r
+ *  enumerated by the host and is now ready to be used by the application.\r
+ */\r
+void EVENT_USB_DeviceEnumerationComplete(void)\r
+{\r
+       LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
+}\r
+\r
+/** Event handler for the USB_HostError event. This indicates that a hardware error occurred while in host mode. */\r
 void EVENT_USB_HostError(uint8_t ErrorCode)\r
 {\r
        USB_ShutDown();\r
@@ -92,20 +108,22 @@ void EVENT_USB_HostError(uint8_t ErrorCode)
        for(;;);\r
 }\r
 \r
+/** Event handler for the USB_DeviceEnumerationFailed event. This indicates that a problem occurred while\r
+ *  enumerating an attached USB device.\r
+ */\r
 void EVENT_USB_DeviceEnumerationFailed(uint8_t ErrorCode, uint8_t SubErrorCode)\r
 {\r
        puts_P(PSTR(ESC_FG_RED "Dev Enum Error\r\n"));\r
        printf_P(PSTR(" -- Error Code %d\r\n"), ErrorCode);\r
+       printf_P(PSTR(" -- Sub Error Code %d\r\n"), SubErrorCode);\r
        printf_P(PSTR(" -- In State %d\r\n" ESC_FG_WHITE), USB_HostState);\r
 \r
        LEDs_SetAllLEDs(LEDMASK_USB_ERROR);\r
 }\r
 \r
-void EVENT_USB_DeviceEnumerationComplete(void)\r
-{\r
-       LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
-}\r
-\r
+/** Task to set the configuration of the attached device after it has been enumerated, and to send some test page\r
+ *  data to the attached printer.\r
+ */\r
 void USB_Printer_Host(void)\r
 {\r
        uint8_t ErrorCode;\r
index 5851349..f6afcc7 100644 (file)
   this software.\r
 */\r
 \r
+/** \file\r
+ *\r
+ *  Header file for PrinterHost.c.\r
+ */\r
\r
 #ifndef _MASS_STORE_HOST_H_\r
 #define _MASS_STORE_HOST_H_\r
 \r
diff --git a/Demos/Host/LowLevel/PrinterHost/PrinterHost.txt b/Demos/Host/LowLevel/PrinterHost/PrinterHost.txt
new file mode 100644 (file)
index 0000000..6326469
--- /dev/null
@@ -0,0 +1,64 @@
+/** \file\r
+ *\r
+ *  This file contains special DoxyGen information for the generation of the main page and other special\r
+ *  documentation pages. It is not a project source file.\r
+ */\r
\r
+/** \mainpage Printer Host Demo\r
+ *\r
+ *  \section SSec_Compat Demo Compatibility:\r
+ *\r
+ *  The following table indicates what microcontrollers are compatible with this demo.\r
+ *\r
+ *  - AT90USB1287\r
+ *  - AT90USB1286\r
+ *\r
+ *  \section SSec_Info USB Information:\r
+ *\r
+ *  The following table gives a rundown of the USB utilization of this demo.\r
+ *\r
+ *  <table>\r
+ *   <tr>\r
+ *    <td><b>USB Mode:</b></td>\r
+ *    <td>Host</td>\r
+ *   </tr>\r
+ *   <tr>\r
+ *    <td><b>USB Class:</b></td>\r
+ *    <td>Printer Device</td>\r
+ *   </tr>\r
+ *   <tr> \r
+ *    <td><b>USB Subclass:</b></td>\r
+ *    <td>Bidirectional Protocol</td>\r
+ *   </tr>\r
+ *   <tr>\r
+ *    <td><b>Relevant Standards:</b></td>\r
+ *    <td>USBIF Printer Class Specification, PCL Language Specification</td>\r
+ *   </tr>\r
+ *   <tr>\r
+ *    <td><b>Usable Speeds:</b></td>\r
+ *    <td>Low Speed Mode, Full Speed Mode</td>\r
+ *   </tr>\r
+ *  </table>\r
+ *\r
+ *  \section SSec_Description Project Description: \r
+ *\r
+ *  Printer host demonstration application. This gives a simple reference\r
+ *  application for implementing a USB Printer host, for USB printers using\r
+ *  the bidirectional data encapsulation protocol and PCL language.\r
+ *  \r
+ *  Upon connection of a compatible printer, the printer's device ID is sent\r
+ *  to the AVR's serial port, and a simple test page is printed using the PCL\r
+ *  printer language.\r
+ *  \r
+ *  \section SSec_Options Project Options\r
+ *\r
+ *  The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.\r
+ *\r
+ *  <table>\r
+ *   <tr>\r
+ *    <td>\r
+ *     None\r
+ *    </td>\r
+ *   </tr>\r
+ *  </table>\r
+ */
\ No newline at end of file