--- /dev/null
+/** \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 AVRISP_Programmer\r
+ *\r
+ * Communications Device Class demonstration application.\r
+ * This gives a simple reference application for implementing\r
+ * a USB to Serial converter using the CDC class. Data communicated\r
+ * over the USB Virtual Serial Port according to Atmel's AVR910\r
+ * protocol is used to program AVR MCUs that are\r
+ * "In-System Programmable via SPI Port".\r
+ *\r
+ * After running this firmware for the first time on a new computer,\r
+ * you will need to supply the .INF file located in this demo\r
+ * project's directory as the device's driver when running under\r
+ * Windows. This will enable Windows to use its inbuilt CDC drivers,\r
+ * negating the need for custom drivers for the device. Other\r
+ * Operating Systems should automatically use their own inbuilt\r
+ * CDC-ACM drivers.\r
+ *\r
+ * Usage:\r
+ * avrdude -vv -F -P COM7 -c avr910 -p t261\r
+ * Note -F flag which overrides signature check and enables programming\r
+ * of any "In-System Programmable via SPI Port" AVR MCU. Part number,\r
+ * t261, should be set to your target device.\r
+ * avrdude -vv -F -P COM7 -c avr910 -p t261 -U flash:w:PROG.hex\r
+ * PROG.hex is the hex file to program your t261 AVR with\r
+ * avrdude -vv -F -P COM7 -b 115200 -c avr910 -p t261 -U flash:w:test.hex\r
+ * The -b 115200 sets the SPI clock to 62.5kHz from the default 125kHz and may\r
+ * work when the default programming speed fails.\r
+ * AVROSP.exe -dATtiny261 -cCOM7 -rf\r
+ * AVRosp is the Open Source AVR ISP Programming Software available from Atmel.com\r
+ *\r
+ * Note: on Linux systems, COM7 should be replaced with someting like /dev/ttyACM0\r
+ * You can determine this value by running dmesg after plugging in the device\r
+ * Note: you must RESET the programmer after each use (AVRdude session).\r
+ *\r
+ * Note: If you experience errors with older devices, try changing DELAY_LONG\r
+ * to a larger value, such as 0xFF in AVRISP_Programmer.c\r
+ *\r
+ * MISO, MOSI, and SCK are connected directly from the AVRopendous board\r
+ * to the pin of the same functionality on the target. RESET pin on the target\r
+ * can be connected either to SS (PB0), or PC2. Do not have any other pins\r
+ * connected - especially HWB pin, to avoid unintentional behaviour.\r
+ *\r
+ * AVR910 functionality was overlayed on USBtoSerial functionality.\r
+ * Keep this in mind when looking over the code.\r
+ * Default target speed is 125kHz and corresponds to 19200 baud, which\r
+ * is the default setting for AVRdude.\r
+ *\r
+ * Changing "Baud-Rate" will change the SPI speed. Defualt SPI clock speed\r
+ * is 8Mhz / 4 = 2MHz. 8Mhz is the device clock speed. This is the setting at\r
+ * 9600 baud. The following is a table of baud-rate vs. SPI Speed that will result\r
+ * 9600 = 2Mhz\r
+ * 14400 = 1MHz\r
+ * 19200 = 125kHz (AVRdude Default)\r
+ * 38400 = 250kHz\r
+ * 57600 = 500kHz\r
+ * 115200 = 62.5kHz\r
+ *\r
+ *\r
+ *\r
+ *\r
+ * <table>\r
+ * <tr>\r
+ * <td><b>USB Mode:</b></td>\r
+ * <td>Device</td>\r
+ * </tr>\r
+ * <tr>\r
+ * <td><b>USB Class:</b></td>\r
+ * <td>Communications Device Class (CDC)</td>\r
+ * </tr>\r
+ * <tr> \r
+ * <td><b>USB Subclass:</b></td>\r
+ * <td>Abstract Control Model (ACM)</td>\r
+ * </tr>\r
+ * <tr>\r
+ * <td><b>Relevant Standards:</b></td>\r
+ * <td>USBIF CDC Class Standard</td>\r
+ * </tr>\r
+ * <tr>\r
+ * <td><b>Usable Speeds:</b></td>\r
+ * <td>Full Speed Mode</td>\r
+ * </tr>\r
+ * </table>\r
+ */\r