Keyboard firmwares for Atmel AVR and Cortex-M
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

XPLAINBridge.txt 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /** \file
  2. *
  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.
  5. */
  6. /** \mainpage XPLAIN UART Bridge/PDI Programmer Project
  7. *
  8. * \section Sec_Compat Project Compatibility:
  9. *
  10. * The following list indicates what microcontrollers are compatible with this project.
  11. *
  12. * \li AT90USB1287
  13. *
  14. * \section Sec_Info USB Information:
  15. *
  16. * The following table gives a rundown of the USB utilization of this project.
  17. *
  18. * <table>
  19. * <tr>
  20. * <td><b>USB Mode:</b></td>
  21. * <td>1) Device</td>
  22. * <td>2) Device</td>
  23. * </tr>
  24. * <tr>
  25. * <td><b>USB Class:</b></td>
  26. * <td>1) Communications Device Class (CDC)</td>
  27. * <td>2) Vendor Specific Class</td>
  28. * </tr>
  29. * <tr>
  30. * <td><b>USB Subclass:</b></td>
  31. * <td>1) Abstract Control Model (ACM)</td>
  32. * <td>2) N/A</td>
  33. * </tr>
  34. * <tr>
  35. * <td><b>Relevant Standards:</b></td>
  36. * <td>1) USBIF CDC Class Standard</td>
  37. * <td>2) Atmel AVRISP MKII Protocol Specification</td>
  38. * </tr>
  39. * <tr>
  40. * <td><b>Supported USB Speeds:</b></td>
  41. * <td>1) Full Speed Mode</td>
  42. * <td>2) Full Speed Mode</td>
  43. * </tr>
  44. * </table>
  45. *
  46. * \section Sec_Description Project Description:
  47. *
  48. * This project serves a dual purpose. When loaded into the USB AVR on the XPLAIN board, it will act as either a USB to Serial
  49. * converter for the XPLAIN's hardware USART (at a speed of 9600 baud), or an AVRStudio compatible PDI programmer for the XMEGA.
  50. * This project replaces the firmware preloaded onto the XPLAIN's onboard AT90USB1287 microcontroller.
  51. *
  52. * When power to the board is applied, the TDI pin (pin 9) of the USB AVR's JTAG port is read. If the pin is left high, the device
  53. * will enumerate as a regular COM port on the host, which can then be opened and data exchanged between the XMEGA and Host as if
  54. * the XMEGA was connected directly to the host's serial port. If the pin is pulled low by shorting it to GND (pin 10), the device
  55. * will enumerate as an AVRISP-MKII to the host, so that the XMEGA can be reprogrammed by AVRStudio or other compatible software
  56. * such as avrdude by connecting to the board as if it was an Atmel AVRISP-MKII programmer.
  57. *
  58. * After running this project in serial bridge mode for the first time on a new computer, you will need to supply the .INF file
  59. * located in this project project's directory as the device's driver when running under Windows. This will enable Windows to use
  60. * its inbuilt CDC virtual serial drivers, negating the need for custom drivers for the device. Other Operating Systems should
  61. * automatically use their own inbuilt CDC-ACM drivers.
  62. *
  63. * In serial bridge mode, the UART baud rate can be altered through the host terminal software to select a new baud rate - the default
  64. * baud is 9600. Note that parity, data bits and stop bits are fixed at none, eight and one respectively can cannot be altered. Changes
  65. * to the connection's parity, data bits or stop bits are ignored by the firmware. As the serial link between the controllers on the
  66. * XPLAIN is software emulated by the USB AVR, not all baud rates will work correctly.
  67. *
  68. * This project relies on files from the LUFA AVRISP-MKII project for compilation.
  69. *
  70. * \section Sec_Options Project Options
  71. *
  72. * The following defines can be found in this project, which can control the project behaviour when defined, or changed in value.
  73. *
  74. * <table>
  75. * <tr>
  76. * <th><b>Define Name:</b></th>
  77. * <th><b>Location:</b></th>
  78. * <th><b>Description:</b></th>
  79. * </tr>
  80. * <tr>
  81. * <td>LIBUSB_DRIVER_COMPAT</td>
  82. * <td>AppConfig.h</td>
  83. * <td>Define to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making
  84. * the code compatible with software such as avrdude (all platforms) that use the libUSB driver.
  85. *
  86. * \note This option is incompatible with \c RESET_TOGGLES_LIBUSB_COMPAT.</td>
  87. * </tr>
  88. * <tr>
  89. * <td>RESET_TOGGLES_LIBUSB_COMPAT</td>
  90. * <td>Makefile LUFA_OPTS</td>
  91. * <td>Define to make the /RESET line of the AVR toggle between Jungo and libUSB driver compatibility modes. Each time the AVR is
  92. * reset externally via the reset pin, the compatibility mode will be toggled. The compatibility mode is preserved between
  93. * power cycles and is not toggled via other forms of reset such as Watchdog or Brown Out.
  94. *
  95. * When this option is enabled, all board LEDs will flash twice on startup for Jungo compatibility mode, and five times for
  96. * libUSB compatibility mode.
  97. *
  98. * \note This option is incompatible with \c LIBUSB_DRIVER_COMPAT.</td>
  99. * </tr>
  100. * <tr>
  101. * <td>FIRMWARE_VERSION_MINOR</td>
  102. * <td>AppConfig.h</td>
  103. * <td>Define to set the minor firmware revision nunber reported to the host on request. By default this will use a firmware version compatible
  104. * with the latest Atmel IDE version, however if desired the reported minor value can be adjusted here.</td>
  105. * </tr>
  106. * </table>
  107. */