(uint8_t)(ROT8(ROT8(ROT8(ROT8(ROT8(ROT8(ROT8(ROT8(ROT8(ROT8(n0)+n1)+n2)+n3)+n4)+n5)+n6)+n7)+e0)+e1)+e2)
/** \name FAT Filesystem Flags */
- //@{
+ /**@{*/
/** FAT attribute flag to indicate a read-only file. */
#define FAT_FLAG_READONLY (1 << 0)
/** Ordinal flag marker for FAT Long File Name entries to mark the last entry. */
#define FAT_ORDINAL_LAST_ENTRY (1 << 6)
- //@}
+ /**@}*/
/* Enums: */
/** Enum for the Root FAT file entry indexes on the disk. This can be used
#endif
#endif
-
-/** @} */
-
#define CPU_TO_BE32(x) (x)
#elif !defined(le16_to_cpu)
/** \name Run-time endianness conversion */
- //@{
+ /**@{*/
/** Performs a conversion between a Little Endian encoded 16-bit piece of data and the
* Endianness of the currently selected CPU architecture.
*/
#define cpu_to_be32(x) SwapEndian_32(x)
- //@}
+ /**@}*/
/** \name Compile-time endianness conversion */
- //@{
+ /**@{*/
/** Performs a conversion between a Little Endian encoded 16-bit piece of data and the
* Endianness of the currently selected CPU architecture.
*/
#define CPU_TO_BE32(x) SWAPENDIAN_32(x)
- //! @}
+ /**@}*/
#endif
/* Inline Functions: */
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name Dataflash Status Values */
- //@{
+ /**@{*/
#define DF_STATUS_READY (1 << 7)
#define DF_STATUS_COMPMISMATCH (1 << 6)
#define DF_STATUS_SECTORPROTECTION_ON (1 << 1)
- //@}
+ /**@}*/
/** \name Dataflash Commands */
- //@{
+ /**@{*/
#define DF_CMD_GETSTATUS 0xD7
#define DF_CMD_MAINMEMTOBUFF1 0x53
#define DF_CMD_SECTORPROTECTIONOFF_BYTE4 0xCF
#define DF_CMD_READMANUFACTURERDEVICEINFO 0x9F
- //@}
+ /**@}*/
/** Manufacturer code for Atmel Corporation, returned by Atmel Dataflash ICs in response to the \c DF_CMD_READMANUFACTURERDEVICEINFO command. */
#define DF_MANUFACTURER_ATMEL 0x1F
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name Dataflash Status Values */
- //@{
+ /**@{*/
#define DF_STATUS_READY (1 << 7)
#define DF_STATUS_COMPMISMATCH (1 << 6)
#define DF_STATUS_SECTORPROTECTION_ON (1 << 1)
#define DF_STATUS_BINARYPAGESIZE_ON (1 << 0)
- //@}
+ /**@}*/
/** \name Dataflash Commands */
- //@{
+ /**@{*/
#define DF_CMD_GETSTATUS 0xD7
#define DF_CMD_POWERDOWN 0xB9
#define DF_CMD_WAKEUP 0xAB
#define DF_CMD_BINARYPAGESIZEMODEON_BYTE4 0xA6
#define DF_CMD_READMANUFACTURERDEVICEINFO 0x9F
- //@}
+ /**@}*/
/** Manufacturer code for Atmel Corporation, returned by Atmel Dataflash ICs in response to the \c DF_CMD_READMANUFACTURERDEVICEINFO command. */
#define DF_MANUFACTURER_ATMEL 0x1F
#endif
/** \name Text Display Modifier Control Sequences */
- //@{
+ /**@{*/
/** Turns on bold so that any following text is printed to the terminal in bold. */
#define ESC_BOLD_ON ANSI_ESCAPE_SEQUENCE("1m")
* the center.
*/
#define ESC_STRIKETHROUGH_OFF ANSI_ESCAPE_SEQUENCE("29m")
- //@}
+ /**@}*/
/** \name Text Colour Control Sequences */
- //@{
+ /**@{*/
/** Sets the foreground (text) colour to black. */
#define ESC_FG_BLACK ANSI_ESCAPE_SEQUENCE("30m")
/** Sets the text background colour to the terminal's default. */
#define ESC_BG_DEFAULT ANSI_ESCAPE_SEQUENCE("49m")
- //@}
+ /**@}*/
/** \name Cursor Positioning Control Sequences */
- //@{
+ /**@{*/
/** Saves the current cursor position so that it may be restored with \ref ESC_CURSOR_POS_RESTORE. */
#define ESC_CURSOR_POS_SAVE ANSI_ESCAPE_SEQUENCE("s")
* \param[in] Columns Number of columns to move the cursor position
*/
#define ESC_CURSOR_BACKWARD(Columns) ANSI_ESCAPE_SEQUENCE(#Columns "D")
- //@}
+ /**@}*/
/** \name Miscellaneous Control Sequences */
- //@{
+ /**@{*/
/** Resets any escape sequence modifiers back to their defaults. */
#define ESC_RESET ANSI_ESCAPE_SEQUENCE("0m")
/** Erases the current line, returning the cursor to the far left. */
#define ESC_ERASE_LINE ANSI_ESCAPE_SEQUENCE("K")
- //@}
+ /**@}*/
#endif
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name ADC Reference Configuration Masks */
- //@{
+ /**@{*/
/** Reference mask, for using the voltage present at the AVR's AREF pin for the ADC reference. */
#define ADC_REFERENCE_AREF 0
/** Reference mask, for using the internally generated 2.56V reference voltage as the ADC reference. */
#define ADC_REFERENCE_INT2560MV ((1 << REFS1) | (1 << REFS0))
- //@}
+ /**@}*/
/** \name ADC Result Adjustment Configuration Masks */
- //@{
+ /**@{*/
/** Left-adjusts the 10-bit ADC result, so that the upper 8 bits of the value returned by the
* \ref ADC_GetResult() macro contain the 8 most significant bits of the result.
*/
* \ref ADC_GetResult() macro contain the 8 least significant bits of the result.
*/
#define ADC_RIGHT_ADJUSTED (0 << ADLAR)
- //@}
+ /**@}*/
/** \name ADC Mode Configuration Masks */
- //@{
+ /**@{*/
/** Sets the ADC mode to free running, so that conversions take place continuously as fast as the ADC
* is capable of at the given input clock speed.
*/
* the ADC returns to idle.
*/
#define ADC_SINGLE_CONVERSION (0 << ADATE)
- //@}
+ /**@}*/
/** \name ADC Prescaler Configuration Masks */
- //@{
+ /**@{*/
/** Sets the ADC input clock to prescale by a factor of 2 the AVR's system clock. */
#define ADC_PRESCALE_2 (1 << ADPS0)
/** Sets the ADC input clock to prescale by a factor of 128 the AVR's system clock. */
#define ADC_PRESCALE_128 ((1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0))
- //@}
+ /**@}*/
/** \name ADC MUX Masks */
- //@{
+ /**@{*/
/** MUX mask define for the ADC0 channel of the ADC. See \ref ADC_StartReading() and \ref ADC_GetChannelReading(). */
#define ADC_CHANNEL0 (0x00 << MUX0)
* \param[in] Channel Index of the ADC channel whose MUX mask is to be retrieved.
*/
#define ADC_GET_CHANNEL_MASK(Channel) CONCAT_EXPANDED(ADC_CHANNEL, Channel)
- //@}
+ /**@}*/
/* Inline Functions: */
/** Configures the given ADC channel, ready for ADC conversions. This function sets the
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name SPI Prescaler Configuration Masks */
- //@{
+ /**@{*/
/** SPI prescaler mask for \ref SPI_Init(). Divides the system clock by a factor of 2. */
#define SPI_SPEED_FCPU_DIV_2 SPI_USE_DOUBLESPEED
/** SPI prescaler mask for \ref SPI_Init(). Divides the system clock by a factor of 128. */
#define SPI_SPEED_FCPU_DIV_128 ((1 << SPR1) | (1 << SPR0))
- //@}
+ /**@}*/
/** \name SPI SCK Polarity Configuration Masks */
- //@{
+ /**@{*/
/** SPI clock polarity mask for \ref SPI_Init(). Indicates that the SCK should lead on the rising edge. */
#define SPI_SCK_LEAD_RISING (0 << CPOL)
/** SPI clock polarity mask for \ref SPI_Init(). Indicates that the SCK should lead on the falling edge. */
#define SPI_SCK_LEAD_FALLING (1 << CPOL)
- //@}
+ /**@}*/
/** \name SPI Sample Edge Configuration Masks */
- //@{
+ /**@{*/
/** SPI data sample mode mask for \ref SPI_Init(). Indicates that the data should sampled on the leading edge. */
#define SPI_SAMPLE_LEADING (0 << CPHA)
/** SPI data sample mode mask for \ref SPI_Init(). Indicates that the data should be sampled on the trailing edge. */
#define SPI_SAMPLE_TRAILING (1 << CPHA)
- //@}
+ /**@}*/
/** \name SPI Data Ordering Configuration Masks */
- //@{
+ /**@{*/
/** SPI data order mask for \ref SPI_Init(). Indicates that data should be shifted out MSB first. */
#define SPI_ORDER_MSB_FIRST (0 << DORD)
/** SPI data order mask for \ref SPI_Init(). Indicates that data should be shifted out LSB first. */
#define SPI_ORDER_LSB_FIRST (1 << DORD)
- //@}
+ /**@}*/
/** \name SPI Mode Configuration Masks */
- //@{
+ /**@{*/
/** SPI mode mask for \ref SPI_Init(). Indicates that the SPI interface should be initialized into slave mode. */
#define SPI_MODE_SLAVE (0 << MSTR)
/** SPI mode mask for \ref SPI_Init(). Indicates that the SPI interface should be initialized into master mode. */
#define SPI_MODE_MASTER (1 << MSTR)
- //@}
+ /**@}*/
/* Inline Functions: */
/** Initializes the SPI subsystem, ready for transfers. Must be called before calling any other
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name SPI SCK Polarity Configuration Masks */
- //@{
+ /**@{*/
/** SPI clock polarity mask for \ref SPI_Init(). Indicates that the SCK should lead on the rising edge. */
#define USART_SPI_SCK_LEAD_RISING (0 << UCPOL1)
/** SPI clock polarity mask for \ref SPI_Init(). Indicates that the SCK should lead on the falling edge. */
#define USART_SPI_SCK_LEAD_FALLING (1 << UCPOL1)
- //@}
+ /**@}*/
/** \name SPI Sample Edge Configuration Masks */
- //@{
+ /**@{*/
/** SPI data sample mode mask for \ref SerialSPI_Init(). Indicates that the data should sampled on the leading edge. */
#define USART_SPI_SAMPLE_LEADING (0 << UCPHA1)
/** SPI data sample mode mask for \ref SerialSPI_Init(). Indicates that the data should be sampled on the trailing edge. */
#define USART_SPI_SAMPLE_TRAILING (1 << UCPHA1)
- //@}
+ /**@}*/
/** \name SPI Data Ordering Configuration Masks */
- //@{
+ /**@{*/
/** SPI data order mask for \ref SerialSPI_Init(). Indicates that data should be shifted out MSB first. */
#define USART_SPI_ORDER_MSB_FIRST (0 << UDORD1)
/** SPI data order mask for \ref SerialSPI_Init(). Indicates that data should be shifted out LSB first. */
#define USART_SPI_ORDER_LSB_FIRST (1 << UDORD1)
- //@}
+ /**@}*/
/* Inline Functions: */
/** Initialize the USART module in Master SPI mode.
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name SPI Prescaler Configuration Masks */
- //@{
+ /**@{*/
/** SPI prescaler mask for \ref SPI_Init(). Divides the system clock by a factor of 2. */
#define SPI_SPEED_FCPU_DIV_2 SPI_USE_DOUBLESPEED
/** SPI prescaler mask for \ref SPI_Init(). Divides the system clock by a factor of 128. */
#define SPI_SPEED_FCPU_DIV_128 (3 << SPI_PRESCALER_gp)
- //@}
+ /**@}*/
/** \name SPI SCK Polarity Configuration Masks */
- //@{
+ /**@{*/
/** SPI clock polarity mask for \ref SPI_Init(). Indicates that the SCK should lead on the rising edge. */
#define SPI_SCK_LEAD_RISING 0
/** SPI clock polarity mask for \ref SPI_Init(). Indicates that the SCK should lead on the falling edge. */
#define SPI_SCK_LEAD_FALLING SPI_MODE1_bm
- //@}
+ /**@}*/
/** \name SPI Sample Edge Configuration Masks */
- //@{
+ /**@{*/
/** SPI data sample mode mask for \ref SPI_Init(). Indicates that the data should sampled on the leading edge. */
#define SPI_SAMPLE_LEADING 0
/** SPI data sample mode mask for \ref SPI_Init(). Indicates that the data should be sampled on the trailing edge. */
#define SPI_SAMPLE_TRAILING SPI_MODE0_bm
- //@}
+ /**@}*/
/** \name SPI Data Ordering Configuration Masks */
- //@{
+ /**@{*/
/** SPI data order mask for \ref SPI_Init(). Indicates that data should be shifted out MSB first. */
#define SPI_ORDER_MSB_FIRST 0
/** SPI data order mask for \ref SPI_Init(). Indicates that data should be shifted out LSB first. */
#define SPI_ORDER_LSB_FIRST SPI_DORD_bm
- //@}
+ /**@}*/
/** \name SPI Mode Configuration Masks */
- //@{
+ /**@{*/
/** SPI mode mask for \ref SPI_Init(). Indicates that the SPI interface should be initialized into slave mode. */
#define SPI_MODE_SLAVE 0
/** SPI mode mask for \ref SPI_Init(). Indicates that the SPI interface should be initialized into master mode. */
#define SPI_MODE_MASTER SPI_MASTER_bm
- //@}
+ /**@}*/
/* Inline Functions: */
/** Initializes the SPI subsystem, ready for transfers. Must be called before calling any other
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name SPI SCK Polarity Configuration Masks */
- //@{
+ /**@{*/
/** SPI clock polarity mask for \ref SerialSPI_Init(). Indicates that the SCK should lead on the rising edge. */
#define USART_SPI_SCK_LEAD_RISING 0
- //@}
+ /**@}*/
/** \name SPI Sample Edge Configuration Masks */
- //@{
+ /**@{*/
/** SPI data sample mode mask for \ref SerialSPI_Init(). Indicates that the data should sampled on the leading edge. */
#define USART_SPI_SAMPLE_LEADING 0
/** SPI data sample mode mask for \ref SerialSPI_Init(). Indicates that the data should be sampled on the trailing edge. */
#define USART_SPI_SAMPLE_TRAILING (1 << 1)
- //@}
+ /**@}*/
/** \name SPI Data Ordering Configuration Masks */
- //@{
+ /**@{*/
/** SPI data order mask for \ref SerialSPI_Init(). Indicates that data should be shifted out MSB first. */
#define USART_SPI_ORDER_MSB_FIRST 0
/** SPI data order mask for \ref SerialSPI_Init(). Indicates that data should be shifted out LSB first. */
#define USART_SPI_ORDER_LSB_FIRST (1 << 2)
- //@}
+ /**@}*/
/* Inline Functions: */
/** Initialize the USART module in Master SPI mode.
/* Macros: */
/** \name Audio Channel Masks */
- //@{
+ /**@{*/
/** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
#define AUDIO_CHANNEL_LEFT_FRONT (1 << 0)
/** Supported channel mask for an Audio class terminal descriptor. See the Audio class specification for more details. */
#define AUDIO_CHANNEL_TOP (1 << 11)
- //@}
+ /**@}*/
/** \name Audio Feature Masks */
- //@{
+ /**@{*/
/** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
#define AUDIO_FEATURE_MUTE (1 << 0)
/** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
#define AUDIO_FEATURE_BASS_LOUDNESS (1 << 9)
- //@}
+ /**@}*/
/** \name Audio Terminal Types */
- //@{
+ /**@{*/
/** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
#define AUDIO_TERMINAL_UNDEFINED 0x0100
/** Terminal type constant for an Audio class terminal descriptor. See the Audio class specification for more details. */
#define AUDIO_TERMINAL_OUT_LOWFREQ 0x0307
- //@}
+ /**@}*/
/** Convenience macro to fill a 24-bit \ref USB_Audio_SampleFreq_t structure with the given sample rate as a 24-bit number.
*
/* Macros: */
/** \name Virtual Control Line Masks */
- //@{
+ /**@{*/
/** Mask for the DTR handshake line for use with the \ref CDC_REQ_SetControlLineState class-specific request
* from the host, to indicate that the DTR line state should be high.
*/
* to indicate that a data overrun error has occurred on the virtual serial port.
*/
#define CDC_CONTROL_LINE_IN_OVERRUNERROR (1 << 6)
- //@}
+ /**@}*/
/* Enums: */
/** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the CDC
/* Macros: */
/** \name Keyboard Standard Report Modifier Masks */
- //@{
+ /**@{*/
/** Constant for a keyboard report modifier byte, indicating that the keyboard's left control key is currently pressed. */
#define HID_KEYBOARD_MODIFIER_LEFTCTRL (1 << 0)
/** Constant for a keyboard report modifier byte, indicating that the keyboard's right GUI key is currently pressed. */
#define HID_KEYBOARD_MODIFIER_RIGHTGUI (1 << 7)
- //@}
+ /**@}*/
/** \name Keyboard Standard Report LED Masks */
- //@{
+ /**@{*/
/** Constant for a keyboard output report LED byte, indicating that the host's NUM LOCK mode is currently set. */
#define HID_KEYBOARD_LED_NUMLOCK (1 << 0)
/** Constant for a keyboard output report LED byte, indicating that the host's KANA mode is currently set. */
#define HID_KEYBOARD_LED_KANA (1 << 4)
- //@}
+ /**@}*/
/** \name Keyboard Standard Report Key Scan-codes */
- //@{
+ /**@{*/
#define HID_KEYBOARD_SC_RESERVED 0x00
#define HID_KEYBOARD_SC_ERROR_ROLLOVER 0x01
#define HID_KEYBOARD_SC_POST_FAIL 0x02
#define HID_KEYBOARD_SC_MEDIA_LOCK 0xF9
#define HID_KEYBOARD_SC_MEDIA_RELOAD 0xFA
#define HID_KEYBOARD_SC_MEDIA_CALCULATOR 0xFB
- //@}
+ /**@}*/
/** \name Common HID Device Report Descriptors */
- //@{
+ /**@{*/
/** \hideinitializer
* A list of HID report item array elements that describe a typical HID USB Joystick. The resulting report
* descriptor is structured according to the following layout:
HID_RI_REPORT_COUNT(8, NumBytes), \
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), \
HID_RI_END_COLLECTION(0)
- //@}
+ /**@}*/
/* Type Defines: */
/** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the HID
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name HID Input, Output and Feature Report Descriptor Item Flags */
- //@{
+ /**@{*/
#define HID_IOF_CONSTANT (1 << 0)
#define HID_IOF_DATA (0 << 0)
#define HID_IOF_VARIABLE (1 << 1)
#define HID_IOF_NON_VOLATILE (0 << 7)
#define HID_IOF_BUFFERED_BYTES (1 << 8)
#define HID_IOF_BITFIELD (0 << 8)
- //@}
+ /**@}*/
/** \name HID Report Descriptor Item Macros */
- //@{
+ /**@{*/
#define HID_RI_INPUT(DataBits, ...) _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0x80, DataBits, __VA_ARGS__)
#define HID_RI_OUTPUT(DataBits, ...) _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0x90, DataBits, __VA_ARGS__)
#define HID_RI_COLLECTION(DataBits, ...) _HID_RI_ENTRY(HID_RI_TYPE_MAIN , 0xA0, DataBits, __VA_ARGS__)
#define HID_RI_USAGE(DataBits, ...) _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x00, DataBits, __VA_ARGS__)
#define HID_RI_USAGE_MINIMUM(DataBits, ...) _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x10, DataBits, __VA_ARGS__)
#define HID_RI_USAGE_MAXIMUM(DataBits, ...) _HID_RI_ENTRY(HID_RI_TYPE_LOCAL , 0x20, DataBits, __VA_ARGS__)
- //@}
+ /**@}*/
/** @} */
/** \name MIDI Command Values
* See http://www.midi.org/techspecs/midimessages.php for more information.
*/
- //@{
+ /**@{*/
/** MIDI command for System Exclusive (SysEx) single event that has one byte of data total. */
#define MIDI_COMMAND_SYSEX_1BYTE MIDI_COMMAND_SYSEX_END_1BYTE
/** MIDI command for a pitch change event. */
#define MIDI_COMMAND_PITCH_WHEEL_CHANGE 0xE0
- //@}
+ /**@}*/
/** Standard key press velocity value used for all note events. */
#define MIDI_STANDARD_VELOCITY 64
#define MS_COMMAND_DIR_DATA_IN (1 << 7)
/** \name SCSI Commands*/
- //@{
+ /**@{*/
/** SCSI Command Code for an INQUIRY command. */
#define SCSI_CMD_INQUIRY 0x12
/** SCSI Command Code for a MODE SENSE (10) command. */
#define SCSI_CMD_MODE_SENSE_10 0x5A
- //@}
+ /**@}*/
/** \name SCSI Sense Key Values */
- //@{
+ /**@{*/
/** SCSI Sense Code to indicate no error has occurred. */
#define SCSI_SENSE_KEY_GOOD 0x00
/** SCSI Sense Code to indicate that the source data did not match the data read from the medium. */
#define SCSI_SENSE_KEY_MISCOMPARE 0x0E
- //@}
+ /**@}*/
/** \name SCSI Additional Sense Codes */
- //@{
+ /**@{*/
/** SCSI Additional Sense Code to indicate no additional sense information is available. */
#define SCSI_ASENSE_NO_ADDITIONAL_INFORMATION 0x00
/** SCSI Additional Sense Code to indicate that no removable medium is inserted into the device. */
#define SCSI_ASENSE_MEDIUM_NOT_PRESENT 0x3A
- //@}
+ /**@}*/
/** \name SCSI Additional Sense Key Code Qualifiers */
- //@{
+ /**@{*/
/** SCSI Additional Sense Qualifier Code to indicate no additional sense qualifier information is available. */
#define SCSI_ASENSEQ_NO_QUALIFIER 0x00
/** SCSI Additional Sense Qualifier Code to indicate that an operation is currently in progress. */
#define SCSI_ASENSEQ_OPERATION_IN_PROGRESS 0x07
- //@}
+ /**@}*/
/* Enums: */
/** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the Mass
/* Macros: */
/** \name Virtual Printer Status Line Masks */
- //@{
+ /**@{*/
/** Port status mask for a printer device, indicating that an error has *not* occurred. */
#define PRNT_PORTSTATUS_NOTERROR (1 << 3)
/** Port status mask for a printer device, indicating that the device is currently out of paper. */
#define PRNT_PORTSTATUS_PAPEREMPTY (1 << 5)
- //@}
+ /**@}*/
/* Enums: */
/** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the Printer
#define REMOTE_NDIS_VERSION_MINOR 0x00
/** \name RNDIS Message Values */
- //@{
+ /**@{*/
#define REMOTE_NDIS_PACKET_MSG 0x00000001UL
#define REMOTE_NDIS_INITIALIZE_MSG 0x00000002UL
#define REMOTE_NDIS_HALT_MSG 0x00000003UL
#define REMOTE_NDIS_RESET_MSG 0x00000006UL
#define REMOTE_NDIS_INDICATE_STATUS_MSG 0x00000007UL
#define REMOTE_NDIS_KEEPALIVE_MSG 0x00000008UL
- //@}
+ /**@}*/
/** \name RNDIS Response Values */
- //@{
+ /**@{*/
#define REMOTE_NDIS_INITIALIZE_CMPLT 0x80000002UL
#define REMOTE_NDIS_QUERY_CMPLT 0x80000004UL
#define REMOTE_NDIS_SET_CMPLT 0x80000005UL
#define REMOTE_NDIS_RESET_CMPLT 0x80000006UL
#define REMOTE_NDIS_KEEPALIVE_CMPLT 0x80000008UL
- //@}
+ /**@}*/
/** \name RNDIS Status Values */
- //@{
+ /**@{*/
#define REMOTE_NDIS_STATUS_SUCCESS 0x00000000UL
#define REMOTE_NDIS_STATUS_FAILURE 0xC0000001UL
#define REMOTE_NDIS_STATUS_INVALID_DATA 0xC0010015UL
#define REMOTE_NDIS_STATUS_NOT_SUPPORTED 0xC00000BBUL
#define REMOTE_NDIS_STATUS_MEDIA_CONNECT 0x4001000BUL
#define REMOTE_NDIS_STATUS_MEDIA_DISCONNECT 0x4001000CUL
- //@}
+ /**@}*/
/** \name RNDIS Media States */
- //@{
+ /**@{*/
#define REMOTE_NDIS_MEDIA_STATE_CONNECTED 0x00000000UL
#define REMOTE_NDIS_MEDIA_STATE_DISCONNECTED 0x00000001UL
- //@}
+ /**@}*/
/** \name RNDIS Media Types */
- //@{
+ /**@{*/
#define REMOTE_NDIS_MEDIUM_802_3 0x00000000UL
- //@}
+ /**@}*/
/** \name RNDIS Connection Types */
- //@{
+ /**@{*/
#define REMOTE_NDIS_DF_CONNECTIONLESS 0x00000001UL
#define REMOTE_NDIS_DF_CONNECTION_ORIENTED 0x00000002UL
- //@}
+ /**@}*/
/** \name RNDIS Packet Types */
- //@{
+ /**@{*/
#define REMOTE_NDIS_PACKET_DIRECTED 0x00000001UL
#define REMOTE_NDIS_PACKET_MULTICAST 0x00000002UL
#define REMOTE_NDIS_PACKET_ALL_MULTICAST 0x00000004UL
#define REMOTE_NDIS_PACKET_ALL_FUNCTIONAL 0x00002000UL
#define REMOTE_NDIS_PACKET_FUNCTIONAL 0x00004000UL
#define REMOTE_NDIS_PACKET_MAC_FRAME 0x00008000UL
- //@}
+ /**@}*/
/** \name RNDIS OID Values */
- //@{
+ /**@{*/
#define OID_GEN_SUPPORTED_LIST 0x00010101UL
#define OID_GEN_HARDWARE_STATUS 0x00010102UL
#define OID_GEN_MEDIA_SUPPORTED 0x00010103UL
#define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101UL
#define OID_802_3_XMIT_ONE_COLLISION 0x01020102UL
#define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103UL
- //@}
+ /**@}*/
/** Maximum size in bytes of an Ethernet frame according to the Ethernet standard. */
#define ETHERNET_FRAME_SIZE_MAX 1500
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name USB Device Mode Option Masks */
- //@{
+ /**@{*/
#if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR) || defined(__DOXYGEN__)
/** Mask for the Options parameter of the \ref USB_Init() function. This indicates that the
* USB interface should be initialized in low speed (1.5Mb/s) mode.
* USB interface should be initialized in full speed (12Mb/s) mode.
*/
#define USB_DEVICE_OPT_FULLSPEED (0 << 0)
- //@}
+ /**@}*/
#if (!defined(NO_INTERNAL_SERIAL) && \
(defined(USB_SERIES_7_AVR) || defined(USB_SERIES_6_AVR) || \
/* Public Interface - May be used in end-application: */
/* Function Prototypes: */
/** \name Stream functions for null data */
- //@{
+ /**@{*/
/** Reads and discards the given number of bytes from the currently selected endpoint's bank,
* discarding fully read packets from the host as needed. The last packet is not automatically
uint8_t Endpoint_Null_Stream(uint16_t Length,
uint16_t* const BytesProcessed);
- //@}
+ /**@}*/
/** \name Stream functions for RAM source/destination data */
- //@{
+ /**@{*/
/** 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;
*/
uint8_t Endpoint_Read_Control_Stream_BE(void* const Buffer,
uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/** \name Stream functions for EEPROM source/destination data */
- //@{
+ /**@{*/
/** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE().
*
*/
uint8_t Endpoint_Read_Control_EStream_BE(void* const Buffer,
uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/** \name Stream functions for PROGMEM source/destination data */
- //@{
+ /**@{*/
/** FLASH buffer source version of \ref Endpoint_Write_Stream_LE().
*
*/
uint8_t Endpoint_Write_Control_PStream_BE(const void* const Buffer,
uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
/* Public Interface - May be used in end-application: */
/* Function Prototypes: */
/** \name Stream functions for null data */
- //@{
+ /**@{*/
/** Reads and discards the given number of bytes from the pipe, discarding fully read packets from the host
* as needed. The last packet is not automatically discarded once the remaining bytes has been read; the
uint8_t Pipe_Null_Stream(uint16_t Length,
uint16_t* const BytesProcessed);
- //@}
+ /**@}*/
/** \name Stream functions for RAM source/destination data */
- //@{
+ /**@{*/
/** 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;
uint8_t Pipe_Read_Stream_BE(void* const Buffer,
uint16_t Length,
uint16_t* const BytesProcessed) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/** \name Stream functions for EEPROM source/destination data */
- //@{
+ /**@{*/
/** EEPROM buffer source version of \ref Pipe_Write_Stream_LE().
*
uint8_t Pipe_Read_EStream_BE(void* const Buffer,
uint16_t Length,
uint16_t* const BytesProcessed) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/** \name Stream functions for PROGMEM source/destination data */
- //@{
+ /**@{*/
/** FLASH buffer source version of \ref Pipe_Write_Stream_LE().
*
uint8_t Pipe_Write_PStream_BE(const void* const Buffer,
uint16_t Length,
uint16_t* const BytesProcessed) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name Pipe Error Flag Masks */
- //@{
+ /**@{*/
/** Mask for \ref Pipe_GetErrorFlags(), indicating that an overflow error occurred in the pipe on the received data. */
#define PIPE_ERRORFLAG_OVERFLOW (1 << 6)
/** Mask for \ref Pipe_GetErrorFlags(), indicating that a hardware data toggle error occurred in the pipe. */
#define PIPE_ERRORFLAG_DATATGL (1 << 0)
- //@}
+ /**@}*/
/** \name Pipe Token Masks */
- //@{
+ /**@{*/
/** Token mask for \ref Pipe_SetPipeToken() and \ref Pipe_GetPipeToken(). This sets the pipe as a SETUP token (for CONTROL type pipes),
* which will trigger a control request on the attached device when data is written to the pipe.
*/
* indicating that the pipe data will flow from host to device.
*/
#define PIPE_TOKEN_OUT (2 << PTOKEN0)
- //@}
+ /**@}*/
/** Default size of the default control pipe's bank, until altered by the Endpoint0Size value
* in the device descriptor of the attached device.
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name USB Controller Option Masks */
- //@{
+ /**@{*/
/** Regulator disable option mask for \ref USB_Init(). This indicates that the internal 3.3V USB data pad
* regulator should be disabled and the AVR's VCC level used for the data pads.
*
* that the USB controller requires) and ensuring that it is locked at the correct frequency for USB operations.
*/
#define USB_OPT_AUTO_PLL (0 << 2)
- //@}
+ /**@}*/
#if !defined(USB_STREAM_TIMEOUT_MS) || defined(__DOXYGEN__)
/** Constant for the maximum software timeout period of the USB data stream transfer functions
#define LANGUAGE_ID_ENG 0x0409
/** \name USB Configuration Descriptor Attribute Masks */
- //@{
+ /**@{*/
/** Mask for the reserved bit in the Configuration Descriptor's \c ConfigAttributes field, which must be always
* set on all USB devices for historical purposes.
*/
* see \ref USB_Device_RemoteWakeupEnabled().
*/
#define USB_CONFIG_ATTR_REMOTEWAKEUP 0x20
- //@}
+ /**@}*/
/** \name Endpoint Descriptor Attribute Masks */
- //@{
+ /**@{*/
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
* \c Attributes value to indicate that the specified endpoint is not synchronized.
*
* \see The USB specification for more details on the possible Endpoint attributes.
*/
#define ENDPOINT_ATTR_SYNC (3 << 2)
- //@}
+ /**@}*/
/** \name Endpoint Descriptor Usage Masks */
- //@{
+ /**@{*/
/** Can be masked with other endpoint descriptor attributes for a \ref USB_Descriptor_Endpoint_t descriptor's
* \c Attributes value to indicate that the specified endpoint is used for data transfers.
*
* \see The USB specification for more details on the possible Endpoint usage attributes.
*/
#define ENDPOINT_USAGE_IMPLICIT_FEEDBACK (2 << 4)
- //@}
+ /**@}*/
/* Enums: */
/** Enum for the possible standard descriptor types, as given in each descriptor's header. */
#define CONTROL_REQTYPE_RECIPIENT 0x1F
/** \name Control Request Data Direction Masks */
- //@{
+ /**@{*/
/** Request data direction mask, indicating that the request data will flow from host to device.
*
* \see \ref CONTROL_REQTYPE_DIRECTION macro.
* \see \ref CONTROL_REQTYPE_DIRECTION macro.
*/
#define REQDIR_DEVICETOHOST (1 << 7)
- //@}
+ /**@}*/
/** \name Control Request Type Masks */
- //@{
+ /**@{*/
/** Request type mask, indicating that the request is a standard request.
*
* \see \ref CONTROL_REQTYPE_TYPE macro.
* \see \ref CONTROL_REQTYPE_TYPE macro.
*/
#define REQTYPE_VENDOR (2 << 5)
- //@}
+ /**@}*/
/** \name Control Request Recipient Masks */
- //@{
+ /**@{*/
/** Request recipient mask, indicating that the request is to be issued to the device as a whole.
*
* \see \ref CONTROL_REQTYPE_RECIPIENT macro.
* \see \ref CONTROL_REQTYPE_RECIPIENT macro.
*/
#define REQREC_OTHER (3 << 0)
- //@}
+ /**@}*/
/* Type Defines: */
/** \brief Standard USB Control Request
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name USB Device Mode Option Masks */
- //@{
+ /**@{*/
/** Mask for the Options parameter of the \ref USB_Init() function. This indicates that the
* USB interface should be initialized in low speed (1.5Mb/s) mode.
*
*/
#define USB_DEVICE_OPT_HIGHSPEED (1 << 1)
#endif
- //@}
+ /**@}*/
#if (!defined(NO_INTERNAL_SERIAL) && \
(defined(USB_SERIES_UC3A3_AVR32) || defined(USB_SERIES_UC3A4_AVR32) || \
/* Public Interface - May be used in end-application: */
/* Function Prototypes: */
/** \name Stream functions for null data */
- //@{
+ /**@{*/
/** Reads and discards the given number of bytes from the currently selected endpoint's bank,
* discarding fully read packets from the host as needed. The last packet is not automatically
uint8_t Endpoint_Null_Stream(uint16_t Length,
uint16_t* const BytesProcessed);
- //@}
+ /**@}*/
/** \name Stream functions for RAM source/destination data */
- //@{
+ /**@{*/
/** 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;
*/
uint8_t Endpoint_Read_Control_Stream_BE(void* const Buffer,
uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
/* Public Interface - May be used in end-application: */
/* Function Prototypes: */
/** \name Stream functions for null data */
- //@{
+ /**@{*/
/** Reads and discards the given number of bytes from the pipe, discarding fully read packets from the host
* as needed. The last packet is not automatically discarded once the remaining bytes has been read; the
uint8_t Pipe_Null_Stream(uint16_t Length,
uint16_t* const BytesProcessed);
- //@}
+ /**@}*/
/** \name Stream functions for RAM source/destination data */
- //@{
+ /**@{*/
/** 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;
uint8_t Pipe_Read_Stream_BE(void* const Buffer,
uint16_t Length,
uint16_t* const BytesProcessed) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name Pipe Error Flag Masks */
- //@{
+ /**@{*/
/** Mask for \ref Pipe_GetErrorFlags(), indicating that an overflow error occurred in the pipe on the received data. */
#define PIPE_ERRORFLAG_OVERFLOW (AVR32_USBB_UPSTA0_OVERFI_MASK << 8)
/** Mask for \ref Pipe_GetErrorFlags(), indicating that a hardware data toggle error occurred in the pipe. */
#define PIPE_ERRORFLAG_DATATGL AVR32_USBB_UPERR0_DATATGL_MASK
- //@}
+ /**@}*/
/** \name Pipe Token Masks */
- //@{
+ /**@{*/
/** Token mask for \ref Pipe_SetPipeToken() and \ref Pipe_GetPipeToken(). This sets the pipe as a SETUP token (for CONTROL type pipes),
* which will trigger a control request on the attached device when data is written to the pipe.
*/
* indicating that the pipe data will flow from host to device.
*/
#define PIPE_TOKEN_OUT AVR32_USBB_UPCFG0_PTOKEN_OUT
- //@}
+ /**@}*/
/** Default size of the default control pipe's bank, until altered by the Endpoint0Size value
* in the device descriptor of the attached device.
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name USB Controller Option Masks */
- //@{
+ /**@{*/
/** Selects one of the system's main clock oscillators as the input clock to the USB Generic Clock source
* generation module. This indicates that an external oscillator should be used directly instead of an
* internal PLL clock source.
/** Selects PLL or External Oscillator 1 as the USB Generic Clock source module input clock. */
#define USB_OPT_GCLK_CHANNEL_1 (0 << 3)
- //@}
+ /**@}*/
#if !defined(USB_STREAM_TIMEOUT_MS) || defined(__DOXYGEN__)
/** Constant for the maximum software timeout period of the USB data stream transfer functions
/* Defines: */
/** \name Endpoint Direction Masks */
- //@{
+ /**@{*/
/** Endpoint direction mask, for masking against endpoint addresses to retrieve the endpoint's
* direction for comparing with the \c ENDPOINT_DIR_* masks.
*/
* the index of the address within a device to obtain the full endpoint address.
*/
#define ENDPOINT_DIR_IN 0x80
- //@}
+ /**@}*/
/** \name Pipe Direction Masks */
- //@{
+ /**@{*/
/** Pipe direction mask, for masking against pipe addresses to retrieve the pipe's
* direction for comparing with the \c PIPE_DIR_* masks.
*/
* the index of the address within a device to obtain the full endpoint address.
*/
#define PIPE_DIR_IN 0x80
- //@}
+ /**@}*/
/** \name Endpoint/Pipe Type Masks */
- //@{
+ /**@{*/
/** Mask for determining the type of an endpoint from an endpoint descriptor. This should then be compared
* with the \c EP_TYPE_* masks to determine the exact type of the endpoint.
*/
* \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.
*/
#define EP_TYPE_INTERRUPT 0x03
- //@}
+ /**@}*/
/* Enums: */
/** Enum for the possible USB controller modes, for initialization via \ref USB_Init() and indication back to the
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name USB Device Mode Option Masks */
- //@{
+ /**@{*/
/** Mask for the Options parameter of the \ref USB_Init() function. This indicates that the
* USB interface should be initialized in low speed (1.5Mb/s) mode.
*
*/
#define USB_DEVICE_OPT_FULLSPEED (0 << 0)
#endif
- //@}
+ /**@}*/
#if (!defined(NO_INTERNAL_SERIAL) || defined(__DOXYGEN__))
/** String descriptor index for the device's unique serial number string descriptor within the device.
/* Public Interface - May be used in end-application: */
/* Function Prototypes: */
/** \name Stream functions for null data */
- //@{
+ /**@{*/
/** Reads and discards the given number of bytes from the currently selected endpoint's bank,
* discarding fully read packets from the host as needed. The last packet is not automatically
uint8_t Endpoint_Null_Stream(uint16_t Length,
uint16_t* const BytesProcessed);
- //@}
+ /**@}*/
/** \name Stream functions for RAM source/destination data */
- //@{
+ /**@{*/
/** 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;
*/
uint8_t Endpoint_Read_Control_Stream_BE(void* const Buffer,
uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/** \name Stream functions for EEPROM source/destination data */
- //@{
+ /**@{*/
/** EEPROM buffer source version of \ref Endpoint_Write_Stream_LE().
*
*/
uint8_t Endpoint_Read_Control_EStream_BE(void* const Buffer,
uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/** \name Stream functions for PROGMEM source/destination data */
- //@{
+ /**@{*/
/** FLASH buffer source version of \ref Endpoint_Write_Stream_LE().
*
*/
uint8_t Endpoint_Write_Control_PStream_BE(const void* const Buffer,
uint16_t Length) ATTR_NON_NULL_PTR_ARG(1);
- //@}
+ /**@}*/
/* Disable C linkage for C++ Compilers: */
#if defined(__cplusplus)
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name USB Controller Option Masks */
- //@{
+ /**@{*/
/** Sets the USB bus interrupt priority level to be low priority. The USB bus interrupt is used for Start of Frame events, bus suspend
* and resume events, bus reset events and other events related to the management of the USB bus.
*/
/** Sets the USB controller to source its clock from the internal PLL. */
#define USB_OPT_PLLCLKSRC (1 << 3)
- //@}
+ /**@}*/
#if !defined(USB_STREAM_TIMEOUT_MS) || defined(__DOXYGEN__)
/** Constant for the maximum software timeout period of the USB data stream transfer functions
/* Public Interface - May be used in end-application: */
/* Macros: */
/** \name LUFA Release Type Constants */
- //@{
+ /**@{*/
/** Constant for \ref LUFA_VERSION_RELEASE_TYPE indicating a development release. */
#define LUFA_VERSION_RELEASE_TYPE_DEVELOPMENT 0
/** Constant for \ref LUFA_VERSION_RELEASE_TYPE indicating a full official release. */
#define LUFA_VERSION_RELEASE_TYPE_FULL 2
- //@}
+ /**@}*/
/** Indicates the version number of the library, as an integer. \note This value is only updates in non-development releases. */
#define LUFA_VERSION_INTEGER 0x170418