Commit db435c49 authored by Dean Camera's avatar Dean Camera
Browse files

Minor documentation fixups.

parent 433399b0
This diff is collapsed.
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
/* Public Interface - May be used in end-application: */ /* Public Interface - May be used in end-application: */
/* Macros: */ /* Macros: */
#if __GNUC__ >= 3 #if (__GNUC__ >= 3) || defined(__DOXYGEN__)
/** Indicates to the compiler that the function can not ever return, so that any stack restoring or /** Indicates to the compiler that the function can not ever return, so that any stack restoring or
* return code may be omitted by the compiler in the resulting binary. * return code may be omitted by the compiler in the resulting binary.
*/ */
......
...@@ -1227,7 +1227,7 @@ PREDEFINED = __DOXYGEN__ ...@@ -1227,7 +1227,7 @@ PREDEFINED = __DOXYGEN__
# The macro definition that is found in the sources will be used. # The macro definition that is found in the sources will be used.
# Use the PREDEFINED tag if you want to use a different macro definition. # Use the PREDEFINED tag if you want to use a different macro definition.
EXPAND_AS_DEFINED = _CALLBACK_PARAM EXPAND_AS_DEFINED = __CALLBACK_PARAM
# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
# doxygen's preprocessor will remove all function-like macros that are alone # doxygen's preprocessor will remove all function-like macros that are alone
......
...@@ -705,9 +705,9 @@ ...@@ -705,9 +705,9 @@
/* Function Prototypes: */ /* Function Prototypes: */
#if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__) #if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__)
#define _CALLBACK_PARAM , StreamCallbackPtr_t Callback #define __CALLBACK_PARAM , StreamCallbackPtr_t Callback
#else #else
#define _CALLBACK_PARAM #define __CALLBACK_PARAM
#endif #endif
/** Configures the specified endpoint number with the given endpoint type, direction, bank size /** Configures the specified endpoint number with the given endpoint type, direction, bank size
...@@ -772,7 +772,7 @@ ...@@ -772,7 +772,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Discard_Stream(uint16_t Length _CALLBACK_PARAM); uint8_t Endpoint_Discard_Stream(uint16_t Length __CALLBACK_PARAM);
/** Writes the given number of bytes to the endpoint from the given buffer in little endian, /** Writes the given number of bytes to the endpoint from the given buffer in little endian,
* sending full packets to the host as needed. The last packet filled is not automatically sent; * sending full packets to the host as needed. The last packet filled is not automatically sent;
...@@ -795,7 +795,7 @@ ...@@ -795,7 +795,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Write_Stream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Write_Stream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE(). /** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE().
* *
...@@ -807,7 +807,7 @@ ...@@ -807,7 +807,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Write_EStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Write_EStream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** FLASH buffer source version of \ref Endpoint_Write_Stream_LE(). /** FLASH buffer source version of \ref Endpoint_Write_Stream_LE().
* *
...@@ -821,7 +821,7 @@ ...@@ -821,7 +821,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Write_PStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Write_PStream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** Writes the given number of bytes to the endpoint from the given buffer in big endian, /** Writes the given number of bytes to the endpoint from the given buffer in big endian,
* sending full packets to the host as needed. The last packet filled is not automatically sent; * sending full packets to the host as needed. The last packet filled is not automatically sent;
...@@ -844,7 +844,7 @@ ...@@ -844,7 +844,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Write_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Write_Stream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** EEPROM buffer source version of \ref Endpoint_Write_Stream_BE(). /** EEPROM buffer source version of \ref Endpoint_Write_Stream_BE().
* *
...@@ -856,7 +856,7 @@ ...@@ -856,7 +856,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Write_EStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Write_EStream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** FLASH buffer source version of \ref Endpoint_Write_Stream_BE(). /** FLASH buffer source version of \ref Endpoint_Write_Stream_BE().
* *
...@@ -870,7 +870,7 @@ ...@@ -870,7 +870,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Write_PStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Write_PStream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** Reads the given number of bytes from the endpoint from the given buffer in little endian, /** Reads the given number of bytes from the endpoint from the given buffer in little endian,
* discarding fully read packets from the host as needed. The last packet is not automatically * discarding fully read packets from the host as needed. The last packet is not automatically
...@@ -893,7 +893,7 @@ ...@@ -893,7 +893,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Read_Stream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Read_Stream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** EEPROM buffer source version of \ref Endpoint_Read_Stream_LE(). /** EEPROM buffer source version of \ref Endpoint_Read_Stream_LE().
* *
...@@ -905,7 +905,7 @@ ...@@ -905,7 +905,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Read_EStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Read_EStream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** Reads the given number of bytes from the endpoint from the given buffer in big endian, /** Reads the given number of bytes from the endpoint from the given buffer in big endian,
* discarding fully read packets from the host as needed. The last packet is not automatically * discarding fully read packets from the host as needed. The last packet is not automatically
...@@ -928,7 +928,7 @@ ...@@ -928,7 +928,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Read_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Read_Stream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** EEPROM buffer source version of \ref Endpoint_Read_Stream_BE(). /** EEPROM buffer source version of \ref Endpoint_Read_Stream_BE().
* *
...@@ -940,7 +940,7 @@ ...@@ -940,7 +940,7 @@
* *
* \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Endpoint_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Endpoint_Read_EStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Endpoint_Read_EStream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** Writes the given number of bytes to the CONTROL type endpoint from the given buffer in little endian, /** Writes the given number of bytes to the CONTROL type endpoint from the given buffer in little endian,
* sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared * sending full packets to the host as needed. The host OUT acknowledgement is not automatically cleared
......
...@@ -757,9 +757,9 @@ ...@@ -757,9 +757,9 @@
/* Function Prototypes: */ /* Function Prototypes: */
#if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__) #if !defined(NO_STREAM_CALLBACKS) || defined(__DOXYGEN__)
#define _CALLBACK_PARAM , StreamCallbackPtr_t Callback #define __CALLBACK_PARAM , StreamCallbackPtr_t Callback
#else #else
#define _CALLBACK_PARAM #define __CALLBACK_PARAM
#endif #endif
/** Configures the specified pipe number with the given pipe type, token, target endpoint number in the /** Configures the specified pipe number with the given pipe type, token, target endpoint number in the
...@@ -831,7 +831,7 @@ ...@@ -831,7 +831,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Discard_Stream(uint16_t Length _CALLBACK_PARAM); uint8_t Pipe_Discard_Stream(uint16_t Length __CALLBACK_PARAM);
/** Writes the given number of bytes to the pipe from the given buffer in little endian, /** Writes the given number of bytes to the pipe from the given buffer in little endian,
* sending full packets to the device as needed. The last packet filled is not automatically sent; * sending full packets to the device as needed. The last packet filled is not automatically sent;
...@@ -854,7 +854,7 @@ ...@@ -854,7 +854,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Write_Stream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Write_Stream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** EEPROM buffer source version of \ref Pipe_Write_Stream_LE(). /** EEPROM buffer source version of \ref Pipe_Write_Stream_LE().
* *
...@@ -866,7 +866,7 @@ ...@@ -866,7 +866,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Write_EStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Write_EStream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** FLASH buffer source version of \ref Pipe_Write_Stream_LE(). /** FLASH buffer source version of \ref Pipe_Write_Stream_LE().
* *
...@@ -880,7 +880,7 @@ ...@@ -880,7 +880,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Write_PStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Write_PStream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** Writes the given number of bytes to the pipe from the given buffer in big endian, /** Writes the given number of bytes to the pipe from the given buffer in big endian,
* sending full packets to the device as needed. The last packet filled is not automatically sent; * sending full packets to the device as needed. The last packet filled is not automatically sent;
...@@ -903,7 +903,7 @@ ...@@ -903,7 +903,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Write_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Write_Stream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** EEPROM buffer source version of \ref Pipe_Write_Stream_BE(). /** EEPROM buffer source version of \ref Pipe_Write_Stream_BE().
* *
...@@ -915,7 +915,7 @@ ...@@ -915,7 +915,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Write_EStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Write_EStream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** FLASH buffer source version of \ref Pipe_Write_Stream_BE(). /** FLASH buffer source version of \ref Pipe_Write_Stream_BE().
* *
...@@ -929,7 +929,7 @@ ...@@ -929,7 +929,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Write_PStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Write_PStream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** Reads the given number of bytes from the pipe into the given buffer in little endian, /** Reads the given number of bytes from the pipe into the given buffer in little endian,
* sending full packets to the device as needed. The last packet filled is not automatically sent; * sending full packets to the device as needed. The last packet filled is not automatically sent;
...@@ -952,7 +952,7 @@ ...@@ -952,7 +952,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** EEPROM buffer source version of \ref Pipe_Read_Stream_LE(). /** EEPROM buffer source version of \ref Pipe_Read_Stream_LE().
* *
...@@ -964,7 +964,7 @@ ...@@ -964,7 +964,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Read_EStream_LE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Read_EStream_LE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** Reads the given number of bytes from the pipe into the given buffer in big endian, /** Reads the given number of bytes from the pipe into the given buffer in big endian,
* sending full packets to the device as needed. The last packet filled is not automatically sent; * sending full packets to the device as needed. The last packet filled is not automatically sent;
...@@ -987,7 +987,7 @@ ...@@ -987,7 +987,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/** EEPROM buffer source version of \ref Pipe_Read_Stream_BE(). /** EEPROM buffer source version of \ref Pipe_Read_Stream_BE().
* *
...@@ -999,7 +999,7 @@ ...@@ -999,7 +999,7 @@
* *
* \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum. * \return A value from the \ref Pipe_Stream_RW_ErrorCodes_t enum.
*/ */
uint8_t Pipe_Read_EStream_BE(void* Buffer, uint16_t Length _CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1); uint8_t Pipe_Read_EStream_BE(void* Buffer, uint16_t Length __CALLBACK_PARAM) ATTR_NON_NULL_PTR_ARG(1);
/* Private Interface - For use in library only: */ /* Private Interface - For use in library only: */
#if !defined(__DOXYGEN__) #if !defined(__DOXYGEN__)
......
...@@ -16,6 +16,6 @@ ...@@ -16,6 +16,6 @@
* - \subpage Page_VIDPID Allocated USB VID and PID Values * - \subpage Page_VIDPID Allocated USB VID and PID Values
* - \subpage Page_BuildLibrary Building as a Linkable Library * - \subpage Page_BuildLibrary Building as a Linkable Library
* - \subpage Page_WritingBoardDrivers How to Write Custom Board Drivers * - \subpage Page_WritingBoardDrivers How to Write Custom Board Drivers
* - \subpage Page_SchedulerOverview Overview of the Simple LUFA Scheduler (Deprecated) * - \subpage Page_SchedulerOverview Overview of the Simple LUFA Scheduler (DEPRECATED)
*/ */
\ No newline at end of file
...@@ -7,11 +7,11 @@ ...@@ -7,11 +7,11 @@
/** \page Page_GettingStarted Getting Started /** \page Page_GettingStarted Getting Started
* *
* Out of the box, LUFA contains a large number of pre-made class demos for you to test, experiment with and * Out of the box, LUFA contains a large number of pre-made class demos for you to test, experiment with and
* ultimately build upon for your own projects. All the demos come pre-configured to build and run correctly * ultimately build upon for your own projects. All the demos (where possible) come pre-configured to build and
* on the AT90USB1287 AVR microcontroller, mounted on the Atmel USBKEY board and running at an 8MHz master clock. * run correctly on the AT90USB1287 AVR microcontroller, mounted on the Atmel USBKEY board and running at an 8MHz
* This is due to two reasons; one, it is the hardware the author possesses, and two, it is the most popular Atmel * master clock. This is due to two reasons; one, it is the hardware the author possesses, and two, it is the most
* USB demonstration board to date. To learn how to reconfigure, recompile and program the included LUFA applications * popular Atmel USB demonstration board to date. To learn how to reconfigure, recompile and program the included
* using different settings, see the following subsections. * LUFA applications using different settings, see the following subsections.
* *
* <b>Subsections:</b> * <b>Subsections:</b>
* - \subpage Page_ConfiguringApps How to Configure the Included Demos, Projects and Bootloaders * - \subpage Page_ConfiguringApps How to Configure the Included Demos, Projects and Bootloaders
......
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
* - <b>CDC</b> - CDC Class USB bootloader, compatible with any AVR910 protocol programming software such as AVRDude * - <b>CDC</b> - CDC Class USB bootloader, compatible with any AVR910 protocol programming software such as AVRDude
* - <b>TeensyHID</b> - HID Class bootloader, compatible with the PJRC TeensyLoader software * - <b>TeensyHID</b> - HID Class bootloader, compatible with the PJRC TeensyLoader software
* - <b>Projects</b> * - <b>Projects</b>
* - <b>AVRISP</b> - AVRISP-MKII Programmer Clone project
* - <b>Benito</b> - Benito Board Arduino Programmer project * - <b>Benito</b> - Benito Board Arduino Programmer project
* - <b>Magstripe</b> - Magnetic Stripe Card Reader project * - <b>Magstripe</b> - Magnetic Stripe Card Reader project
* - <b>MissileLaucher</b> - Toy Missile Launcher Host project * - <b>MissileLaucher</b> - Toy Missile Launcher Host project
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
* custom USB devices can be made with LUFA, the included demos all use the inbuilt OS drivers for each USB class for simplicity. * custom USB devices can be made with LUFA, the included demos all use the inbuilt OS drivers for each USB class for simplicity.
* *
* The library is currently in a stable release, suitable for download and incorporation into user projects for * The library is currently in a stable release, suitable for download and incorporation into user projects for
* both host and device modes. For information about the project progression, check out my blog. * both host and device modes. For information about the project progression, see \ref Page_Resources.
* *
* LUFA is written specifically for the free AVR-GCC compiler, and uses several GCC-only extensions to make the * LUFA is written specifically for the free AVR-GCC compiler, and uses several GCC-only extensions to make the
* library API more streamlined and robust. You can download AVR-GCC for free in a convenient windows package, * library API more streamlined and robust. You can download AVR-GCC for free in a convenient windows package,
......
...@@ -228,7 +228,7 @@ ...@@ -228,7 +228,7 @@
* 0x2060 * 0x2060
* </td> * </td>
* <td> * <td>
* <i>Benito Programmer Project</i> * Benito Programmer Project
* </td> * </td>
* </tr> * </tr>
* *
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
* 0x2061 * 0x2061
* </td> * </td>
* <td> * <td>
* <i>Combined Mass Storage and Keyboard Demo</i> * Combined Mass Storage and Keyboard Demo
* </td> * </td>
* </tr> * </tr>
* *
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment