3  *  This file contains special DoxyGen information for the generation of the main page and other special
 
   4  *  documentation pages. It is not a project source file.
 
   7 /** \mainpage AVRISP_Programmer
 
   9  *  Communications Device Class demonstration application.
 
  10  *  This gives a simple reference application for implementing
 
  11  *  a USB to Serial converter using the CDC class.  Data communicated
 
  12  *  over the USB Virtual Serial Port according to Atmel's AVR910
 
  13  *  protocol is used to program AVR MCUs that are
 
  14  *  "In-System Programmable via SPI Port".
 
  16  *  After running this firmware for the first time on a new computer,
 
  17  *  you will need to supply the .INF file located in this demo
 
  18  *  project's directory as the device's driver when running under
 
  19  *  Windows. This will enable Windows to use its inbuilt CDC drivers,
 
  20  *  negating the need for custom drivers for the device. Other
 
  21  *  Operating Systems should automatically use their own inbuilt
 
  25  *   avrdude -vv -F -P COM7 -c avr910 -p t261
 
  26  *     Note -F flag which overrides signature check and enables programming
 
  27  *     of any "In-System Programmable via SPI Port" AVR MCU.  Part number,
 
  28  *     t261, should be set to your target device.
 
  29  *   avrdude -vv -F -P COM7 -c avr910 -p t261 -U flash:w:PROG.hex
 
  30  *     PROG.hex is the hex file to program your t261 AVR with
 
  31  *   avrdude -vv -F -P COM7 -b 115200 -c avr910 -p t261 -U flash:w:test.hex
 
  32  *     The -b 115200 sets the SPI clock to 62.5kHz from the default 125kHz and may
 
  33  *     work when the default programming speed fails.
 
  34  * AVROSP.exe -dATtiny261 -cCOM7 -rf
 
  35  *     AVRosp is the Open Source AVR ISP Programming Software available from Atmel.com
 
  37  *  Note: on Linux systems, COM7 should be replaced with someting like /dev/ttyACM0
 
  38  *        You can determine this value by running dmesg after plugging in the device
 
  39  *  Note: you must RESET the programmer after each use (AVRdude session).
 
  41  *  Note: If you experience errors with older devices, try changing DELAY_LONG
 
  42  *  to a larger value, such as 0xFF in AVRISP_Programmer.c
 
  44  *  MISO, MOSI, and SCK are connected directly from the AVRopendous board
 
  45  *  to the pin of the same functionality on the target.  RESET pin on the target
 
  46  *  can be connected either to SS (PB0), or PC2.  Do not have any other pins
 
  47  *  connected - especially HWB pin, to avoid unintentional behaviour.
 
  49  *  AVR910 functionality was overlayed on USBtoSerial  functionality.
 
  50  *  Keep this in mind when looking over the code.
 
  51  *  Default target speed is 125kHz and corresponds to 19200 baud, which
 
  52  *  is the default setting for AVRdude.
 
  54  *  Changing "Baud-Rate" will change the SPI speed.  Defualt SPI clock speed
 
  55  *  is 8Mhz / 4 = 2MHz.  8Mhz is the device clock speed.  This is the setting at
 
  56  *  9600 baud.  The following is a table of baud-rate vs. SPI Speed that will result
 
  59  *       19200 = 125kHz (AVRdude Default)
 
  69  *    <td><b>USB Mode:</b></td>
 
  73  *    <td><b>USB Class:</b></td>
 
  74  *    <td>Communications Device Class (CDC)</td>
 
  77  *    <td><b>USB Subclass:</b></td>
 
  78  *    <td>Abstract Control Model (ACM)</td>
 
  81  *    <td><b>Relevant Standards:</b></td>
 
  82  *    <td>USBIF CDC Class Standard</td>
 
  85  *    <td><b>Usable Speeds:</b></td>
 
  86  *    <td>Full Speed Mode</td>