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

Added const modifiers to device mode class drivers.

Added parameter directions to function parameter documentation.

Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).
parent 3cbdcd36
...@@ -206,7 +206,7 @@ void EVENT_USB_UnhandledControlPacket(void) ...@@ -206,7 +206,7 @@ void EVENT_USB_UnhandledControlPacket(void)
/** Reads or writes a block of EEPROM or FLASH memory to or from the appropriate CDC data endpoint, depending /** Reads or writes a block of EEPROM or FLASH memory to or from the appropriate CDC data endpoint, depending
* on the AVR910 protocol command issued. * on the AVR910 protocol command issued.
* *
* \param Command Single character AVR910 protocol command indicating what memory operation to perform * \param[in] Command Single character AVR910 protocol command indicating what memory operation to perform
*/ */
static void ReadWriteMemoryBlock(const uint8_t Command) static void ReadWriteMemoryBlock(const uint8_t Command)
{ {
...@@ -343,7 +343,7 @@ static uint8_t FetchNextCommandByte(void) ...@@ -343,7 +343,7 @@ static uint8_t FetchNextCommandByte(void)
/** Writes the next response byte to the CDC data IN endpoint, and sends the endpoint back if needed to free up the /** Writes the next response byte to the CDC data IN endpoint, and sends the endpoint back if needed to free up the
* bank when full ready for the next byte in the packet to the host. * bank when full ready for the next byte in the packet to the host.
* *
* \param Response Next response byte to send to the host * \param[in] Response Next response byte to send to the host
*/ */
static void WriteNextResponseByte(const uint8_t Response) static void WriteNextResponseByte(const uint8_t Response)
{ {
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
* type define so that the same macro can be used for functional descriptors of varying data lengths, * type define so that the same macro can be used for functional descriptors of varying data lengths,
* while allowing the sizeof() operator to return correct results. * while allowing the sizeof() operator to return correct results.
* *
* \param DataSize Size of the functional descriptor's data payload, in bytes * \param[in] DataSize Size of the functional descriptor's data payload, in bytes
*/ */
#define CDC_FUNCTIONAL_DESCRIPTOR(DataSize) \ #define CDC_FUNCTIONAL_DESCRIPTOR(DataSize) \
struct \ struct \
......
...@@ -454,7 +454,7 @@ void EVENT_USB_UnhandledControlPacket(void) ...@@ -454,7 +454,7 @@ void EVENT_USB_UnhandledControlPacket(void)
/** Routine to discard the specified number of bytes from the control endpoint stream. This is used to /** Routine to discard the specified number of bytes from the control endpoint stream. This is used to
* discard unused bytes in the stream from the host, including the memory program block suffix. * discard unused bytes in the stream from the host, including the memory program block suffix.
* *
* \param NumberOfBytes Number of bytes to discard from the host from the control endpoint * \param[in] NumberOfBytes Number of bytes to discard from the host from the control endpoint
*/ */
static void DiscardFillerBytes(uint8_t NumberOfBytes) static void DiscardFillerBytes(uint8_t NumberOfBytes)
{ {
......
...@@ -76,16 +76,16 @@ ...@@ -76,16 +76,16 @@
/** Convenience macro, used to determine if the issued command is the given one-byte long command. /** Convenience macro, used to determine if the issued command is the given one-byte long command.
* *
* \param dataarr Command byte array to check against * \param[in] dataarr Command byte array to check against
* \param cb1 First command byte to check * \param[in] cb1 First command byte to check
*/ */
#define IS_ONEBYTE_COMMAND(dataarr, cb1) (dataarr[0] == cb1) #define IS_ONEBYTE_COMMAND(dataarr, cb1) (dataarr[0] == cb1)
/** Convenience macro, used to determine if the issued command is the given two-byte long command. /** Convenience macro, used to determine if the issued command is the given two-byte long command.
* *
* \param dataarr Command byte array to check against * \param[in] dataarr Command byte array to check against
* \param cb1 First command byte to check * \param[in] cb1 First command byte to check
* \param cb2 Second command byte to check * \param[in] cb2 Second command byte to check
*/ */
#define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == cb1) && (dataarr[1] == cb2)) #define IS_TWOBYTE_COMMAND(dataarr, cb1, cb2) ((dataarr[0] == cb1) && (dataarr[1] == cb2))
......
...@@ -131,13 +131,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) ...@@ -131,13 +131,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
/** HID class driver callback function for the creation of HID reports to the host. /** HID class driver callback function for the creation of HID reports to the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID * \param[in,out] ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID
* \param ReportData Pointer to a buffer where the created report should be stored * \param[out] ReportData Pointer to a buffer where the created report should be stored
* *
* \return Number of bytes written in the report (or zero if no report is to be sent * \return Number of bytes written in the report (or zero if no report is to be sent
*/ */
uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, void* ReportData) uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID, void* ReportData)
{ {
// Create generic HID report here // Create generic HID report here
...@@ -146,13 +146,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte ...@@ -146,13 +146,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte
/** HID class driver callback function for the processing of HID reports from the host. /** HID class driver callback function for the processing of HID reports from the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID of the received report from the host * \param[in] ReportID Report ID of the received report from the host
* \param ReportData Pointer to a buffer where the created report has been stored * \param[in] ReportData Pointer to a buffer where the created report has been stored
* \param ReportSize Size in bytes of the received HID report * \param[in] ReportSize Size in bytes of the received HID report
*/ */
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize) const void* ReportData, const uint16_t ReportSize)
{ {
// Process received generic HID report here // Process received generic HID report here
} }
...@@ -72,9 +72,9 @@ ...@@ -72,9 +72,9 @@
void EVENT_USB_ConfigurationChanged(void); void EVENT_USB_ConfigurationChanged(void);
void EVENT_USB_UnhandledControlPacket(void); void EVENT_USB_UnhandledControlPacket(void);
uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID,
void* ReportData); void* ReportData);
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize); const void* ReportData, const uint16_t ReportSize);
#endif #endif
...@@ -133,13 +133,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) ...@@ -133,13 +133,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
/** HID class driver callback function for the creation of HID reports to the host. /** HID class driver callback function for the creation of HID reports to the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID * \param[in,out] ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID
* \param ReportData Pointer to a buffer where the created report should be stored * \param[out] ReportData Pointer to a buffer where the created report should be stored
* *
* \return Number of bytes written in the report (or zero if no report is to be sent * \return Number of bytes written in the report (or zero if no report is to be sent
*/ */
uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, void* ReportData) uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID, void* ReportData)
{ {
USB_JoystickReport_Data_t* JoystickReport = (USB_JoystickReport_Data_t*)ReportData; USB_JoystickReport_Data_t* JoystickReport = (USB_JoystickReport_Data_t*)ReportData;
...@@ -167,13 +167,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte ...@@ -167,13 +167,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte
/** HID class driver callback function for the processing of HID reports from the host. /** HID class driver callback function for the processing of HID reports from the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID of the received report from the host * \param[in] ReportID Report ID of the received report from the host
* \param ReportData Pointer to a buffer where the created report has been stored * \param[in] ReportData Pointer to a buffer where the created report has been stored
* \param ReportSize Size in bytes of the received HID report * \param[in] ReportSize Size in bytes of the received HID report
*/ */
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize) const void* ReportData, const uint16_t ReportSize)
{ {
// Unused (but mandatory for the HID class driver) in this demo, since there are no Host->Device reports // Unused (but mandatory for the HID class driver) in this demo, since there are no Host->Device reports
} }
...@@ -83,9 +83,9 @@ ...@@ -83,9 +83,9 @@
void EVENT_USB_ConfigurationChanged(void); void EVENT_USB_ConfigurationChanged(void);
void EVENT_USB_UnhandledControlPacket(void); void EVENT_USB_UnhandledControlPacket(void);
uint16_t CALLBACK_HID_Device_CreateNextHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, uint16_t CALLBACK_HID_Device_CreateNextHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID,
void* ReportData); void* ReportData);
void CALLBACK_HID_Device_ProcessReceivedHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessReceivedHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize); const void* ReportData, const uint16_t ReportSize);
#endif #endif
...@@ -134,13 +134,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) ...@@ -134,13 +134,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
/** HID class driver callback function for the creation of HID reports to the host. /** HID class driver callback function for the creation of HID reports to the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID * \param[in,out] ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID
* \param ReportData Pointer to a buffer where the created report should be stored * \param[out] ReportData Pointer to a buffer where the created report should be stored
* *
* \return Number of bytes written in the report (or zero if no report is to be sent * \return Number of bytes written in the report (or zero if no report is to be sent
*/ */
uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, void* ReportData) uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID, void* ReportData)
{ {
USB_KeyboardReport_Data_t* KeyboardReport = (USB_KeyboardReport_Data_t*)ReportData; USB_KeyboardReport_Data_t* KeyboardReport = (USB_KeyboardReport_Data_t*)ReportData;
...@@ -168,13 +168,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte ...@@ -168,13 +168,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte
/** HID class driver callback function for the processing of HID reports from the host. /** HID class driver callback function for the processing of HID reports from the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID of the received report from the host * \param[in] ReportID Report ID of the received report from the host
* \param ReportData Pointer to a buffer where the created report has been stored * \param[in] ReportData Pointer to a buffer where the created report has been stored
* \param ReportSize Size in bytes of the received HID report * \param[in] ReportSize Size in bytes of the received HID report
*/ */
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize) const void* ReportData, const uint16_t ReportSize)
{ {
uint8_t LEDMask = LEDS_NO_LEDS; uint8_t LEDMask = LEDS_NO_LEDS;
uint8_t* LEDReport = (uint8_t*)ReportData; uint8_t* LEDReport = (uint8_t*)ReportData;
......
...@@ -86,9 +86,9 @@ ...@@ -86,9 +86,9 @@
void EVENT_USB_ConfigurationChanged(void); void EVENT_USB_ConfigurationChanged(void);
void EVENT_USB_UnhandledControlPacket(void); void EVENT_USB_UnhandledControlPacket(void);
uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID,
void* ReportData); void* ReportData);
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize); const void* ReportData, const uint16_t ReportSize);
#endif #endif
...@@ -165,13 +165,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) ...@@ -165,13 +165,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
/** HID class driver callback function for the creation of HID reports to the host. /** HID class driver callback function for the creation of HID reports to the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID * \param[in,out] ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID
* \param ReportData Pointer to a buffer where the created report should be stored * \param[out] ReportData Pointer to a buffer where the created report should be stored
* *
* \return Number of bytes written in the report (or zero if no report is to be sent * \return Number of bytes written in the report (or zero if no report is to be sent
*/ */
uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, void* ReportData) uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID, void* ReportData)
{ {
uint8_t JoyStatus_LCL = Joystick_GetStatus(); uint8_t JoyStatus_LCL = Joystick_GetStatus();
uint8_t ButtonStatus_LCL = Buttons_GetStatus(); uint8_t ButtonStatus_LCL = Buttons_GetStatus();
...@@ -226,13 +226,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte ...@@ -226,13 +226,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte
/** HID class driver callback function for the processing of HID reports from the host. /** HID class driver callback function for the processing of HID reports from the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID of the received report from the host * \param[in] ReportID Report ID of the received report from the host
* \param ReportData Pointer to a buffer where the created report has been stored * \param[in] ReportData Pointer to a buffer where the created report has been stored
* \param ReportSize Size in bytes of the received HID report * \param[in] ReportSize Size in bytes of the received HID report
*/ */
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize) const void* ReportData, const uint16_t ReportSize)
{ {
if (HIDInterfaceInfo == &Keyboard_HID_Interface) if (HIDInterfaceInfo == &Keyboard_HID_Interface)
{ {
......
...@@ -90,9 +90,9 @@ ...@@ -90,9 +90,9 @@
void EVENT_USB_ConfigurationChanged(void); void EVENT_USB_ConfigurationChanged(void);
void EVENT_USB_UnhandledControlPacket(void); void EVENT_USB_UnhandledControlPacket(void);
uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID,
void* ReportData); void* ReportData);
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize); const void* ReportData, const uint16_t ReportSize);
#endif #endif
...@@ -43,9 +43,9 @@ ...@@ -43,9 +43,9 @@
* the pre-selected data OUT endpoint. This routine reads in OS sized blocks from the endpoint and writes * the pre-selected data OUT endpoint. This routine reads in OS sized blocks from the endpoint and writes
* them to the dataflash in Dataflash page sized blocks. * them to the dataflash in Dataflash page sized blocks.
* *
* \param MSInterfaceInfo Pointer to a Mass Storage class state structure for the Mass Storage interface being used * \param[in] MSInterfaceInfo Pointer to a Mass Storage class state structure for the Mass Storage interface being used
* \param BlockAddress Data block starting address for the write sequence * \param[in] BlockAddress Data block starting address for the write sequence
* \param TotalBlocks Number of blocks of data to write * \param[in] TotalBlocks Number of blocks of data to write
*/ */
void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const uint32_t BlockAddress, uint16_t TotalBlocks) void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const uint32_t BlockAddress, uint16_t TotalBlocks)
{ {
...@@ -169,9 +169,9 @@ void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, co ...@@ -169,9 +169,9 @@ void DataflashManager_WriteBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, co
* the pre-selected data IN endpoint. This routine reads in Dataflash page sized blocks from the Dataflash * the pre-selected data IN endpoint. This routine reads in Dataflash page sized blocks from the Dataflash
* and writes them in OS sized blocks to the endpoint. * and writes them in OS sized blocks to the endpoint.
* *
* \param MSInterfaceInfo Pointer to a Mass Storage class state structure for the Mass Storage interface being used * \param[in] MSInterfaceInfo Pointer to a Mass Storage class state structure for the Mass Storage interface being used
* \param BlockAddress Data block starting address for the read sequence * \param[in] BlockAddress Data block starting address for the read sequence
* \param TotalBlocks Number of blocks of data to read * \param[in] TotalBlocks Number of blocks of data to read
*/ */
void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const uint32_t BlockAddress, uint16_t TotalBlocks) void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const uint32_t BlockAddress, uint16_t TotalBlocks)
{ {
...@@ -273,9 +273,9 @@ void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, con ...@@ -273,9 +273,9 @@ void DataflashManager_ReadBlocks(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, con
* dataflash in Dataflash page sized blocks. This can be linked to FAT libraries to write files to the * dataflash in Dataflash page sized blocks. This can be linked to FAT libraries to write files to the
* dataflash. * dataflash.
* *
* \param BlockAddress Data block starting address for the write sequence * \param[in] BlockAddress Data block starting address for the write sequence
* \param TotalBlocks Number of blocks of data to write * \param[in] TotalBlocks Number of blocks of data to write
* \param BufferPtr Pointer to the data source RAM buffer * \param[in] BufferPtr Pointer to the data source RAM buffer
*/ */
void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks, uint8_t* BufferPtr) void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks, uint8_t* BufferPtr)
{ {
...@@ -365,9 +365,9 @@ void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t Tota ...@@ -365,9 +365,9 @@ void DataflashManager_WriteBlocks_RAM(const uint32_t BlockAddress, uint16_t Tota
* and writes them in OS sized blocks to the given buffer. This can be linked to FAT libraries to read * and writes them in OS sized blocks to the given buffer. This can be linked to FAT libraries to read
* the files stored on the dataflash. * the files stored on the dataflash.
* *
* \param BlockAddress Data block starting address for the read sequence * \param[in] BlockAddress Data block starting address for the read sequence
* \param TotalBlocks Number of blocks of data to read * \param[in] TotalBlocks Number of blocks of data to read
* \param BufferPtr Pointer to the data destination RAM buffer * \param[out] BufferPtr Pointer to the data destination RAM buffer
*/ */
void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks, uint8_t* BufferPtr) void DataflashManager_ReadBlocks_RAM(const uint32_t BlockAddress, uint16_t TotalBlocks, uint8_t* BufferPtr)
{ {
......
...@@ -84,7 +84,7 @@ SCSI_Request_Sense_Response_t SenseData = ...@@ -84,7 +84,7 @@ SCSI_Request_Sense_Response_t SenseData =
* to the appropriate SCSI command handling routine if the issued command is supported by the device, else it returns * to the appropriate SCSI command handling routine if the issued command is supported by the device, else it returns
* a command failure due to a ILLEGAL REQUEST. * a command failure due to a ILLEGAL REQUEST.
* *
* \param MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with * \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
*/ */
bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* MSInterfaceInfo) bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* MSInterfaceInfo)
{ {
...@@ -142,7 +142,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* MSInterfaceInfo) ...@@ -142,7 +142,7 @@ bool SCSI_DecodeSCSICommand(USB_ClassInfo_MS_Device_t* MSInterfaceInfo)
/** Command processing for an issued SCSI INQUIRY command. This command returns information about the device's features /** Command processing for an issued SCSI INQUIRY command. This command returns information about the device's features
* and capabilities to the host. * and capabilities to the host.
* *
* \param MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with * \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
* *
* \return Boolean true if the command completed successfully, false otherwise. * \return Boolean true if the command completed successfully, false otherwise.
*/ */
...@@ -184,7 +184,7 @@ static bool SCSI_Command_Inquiry(USB_ClassInfo_MS_Device_t* MSInterfaceInfo) ...@@ -184,7 +184,7 @@ static bool SCSI_Command_Inquiry(USB_ClassInfo_MS_Device_t* MSInterfaceInfo)
/** Command processing for an issued SCSI REQUEST SENSE command. This command returns information about the last issued command, /** Command processing for an issued SCSI REQUEST SENSE command. This command returns information about the last issued command,
* including the error code and additional error information so that the host can determine why a command failed to complete. * including the error code and additional error information so that the host can determine why a command failed to complete.
* *
* \param MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with * \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
* *
* \return Boolean true if the command completed successfully, false otherwise. * \return Boolean true if the command completed successfully, false otherwise.
*/ */
...@@ -208,7 +208,7 @@ static bool SCSI_Command_Request_Sense(USB_ClassInfo_MS_Device_t* MSInterfaceInf ...@@ -208,7 +208,7 @@ static bool SCSI_Command_Request_Sense(USB_ClassInfo_MS_Device_t* MSInterfaceInf
/** Command processing for an issued SCSI READ CAPACITY (10) command. This command returns information about the device's capacity /** Command processing for an issued SCSI READ CAPACITY (10) command. This command returns information about the device's capacity
* on the selected Logical Unit (drive), as a number of OS-sized blocks. * on the selected Logical Unit (drive), as a number of OS-sized blocks.
* *
* \param MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with * \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
* *
* \return Boolean true if the command completed successfully, false otherwise. * \return Boolean true if the command completed successfully, false otherwise.
*/ */
...@@ -231,7 +231,7 @@ static bool SCSI_Command_Read_Capacity_10(USB_ClassInfo_MS_Device_t* MSInterface ...@@ -231,7 +231,7 @@ static bool SCSI_Command_Read_Capacity_10(USB_ClassInfo_MS_Device_t* MSInterface
* board, and indicates if they are present and functioning correctly. Only the Self-Test portion of the diagnostic command is * board, and indicates if they are present and functioning correctly. Only the Self-Test portion of the diagnostic command is
* supported. * supported.
* *
* \param MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with * \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
* *
* \return Boolean true if the command completed successfully, false otherwise. * \return Boolean true if the command completed successfully, false otherwise.
*/ */
...@@ -296,8 +296,8 @@ static bool SCSI_Command_Send_Diagnostic(USB_ClassInfo_MS_Device_t* MSInterfaceI ...@@ -296,8 +296,8 @@ static bool SCSI_Command_Send_Diagnostic(USB_ClassInfo_MS_Device_t* MSInterfaceI
* and total number of blocks to process, then calls the appropriate low-level dataflash routine to handle the actual * and total number of blocks to process, then calls the appropriate low-level dataflash routine to handle the actual
* reading and writing of the data. * reading and writing of the data.
* *
* \param MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with * \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface structure that the command is associated with
* \param IsDataRead Indicates if the command is a READ (10) command or WRITE (10) command (DATA_READ or DATA_WRITE) * \param[in] IsDataRead Indicates if the command is a READ (10) command or WRITE (10) command (DATA_READ or DATA_WRITE)
* *
* \return Boolean true if the command completed successfully, false otherwise. * \return Boolean true if the command completed successfully, false otherwise.
*/ */
......
...@@ -53,9 +53,9 @@ ...@@ -53,9 +53,9 @@
* is for convenience, as it allows for all three sense values (returned upon request to the host to give information about * is for convenience, as it allows for all three sense values (returned upon request to the host to give information about
* the last command failure) in a quick and easy manner. * the last command failure) in a quick and easy manner.
* *
* \param key New SCSI sense key to set the sense code to * \param[in] key New SCSI sense key to set the sense code to
* \param acode New SCSI additional sense key to set the additional sense code to * \param[in] acode New SCSI additional sense key to set the additional sense code to
* \param aqual New SCSI additional sense key qualifier to set the additional sense qualifier code to * \param[in] aqual New SCSI additional sense key qualifier to set the additional sense qualifier code to
*/ */
#define SCSI_SET_SENSE(key, acode, aqual) MACROS{ SenseData.SenseKey = key; \ #define SCSI_SET_SENSE(key, acode, aqual) MACROS{ SenseData.SenseKey = key; \
SenseData.AdditionalSenseCode = acode; \ SenseData.AdditionalSenseCode = acode; \
......
...@@ -125,7 +125,7 @@ void EVENT_USB_UnhandledControlPacket(void) ...@@ -125,7 +125,7 @@ void EVENT_USB_UnhandledControlPacket(void)
/** Mass Storage class driver callback function the reception of SCSI commands from the host, which must be processed. /** Mass Storage class driver callback function the reception of SCSI commands from the host, which must be processed.
* *
* \param MSInterfaceInfo Pointer to the Mass Storage class interface configuration structure being referenced * \param[in] MSInterfaceInfo Pointer to the Mass Storage class interface configuration structure being referenced
*/ */
bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* MSInterfaceInfo) bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* MSInterfaceInfo)
{ {
......
...@@ -133,13 +133,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK) ...@@ -133,13 +133,13 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
/** HID class driver callback function for the creation of HID reports to the host. /** HID class driver callback function for the creation of HID reports to the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID * \param[in,out] ReportID Report ID requested by the host if non-zero, otherwise callback should set to the generated report ID
* \param ReportData Pointer to a buffer where the created report should be stored * \param[out] ReportData Pointer to a buffer where the created report should be stored
* *
* \return Number of bytes written in the report (or zero if no report is to be sent * \return Number of bytes written in the report (or zero if no report is to be sent
*/ */
uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t* ReportID, void* ReportData) uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, uint8_t* const ReportID, void* ReportData)
{ {
USB_MouseReport_Data_t* MouseReport = (USB_MouseReport_Data_t*)ReportData; USB_MouseReport_Data_t* MouseReport = (USB_MouseReport_Data_t*)ReportData;
...@@ -167,13 +167,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte ...@@ -167,13 +167,13 @@ uint16_t CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* HIDInte
/** HID class driver callback function for the processing of HID reports from the host. /** HID class driver callback function for the processing of HID reports from the host.
* *
* \param HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced * \param[in] HIDInterfaceInfo Pointer to the HID class interface configuration structure being referenced
* \param ReportID Report ID of the received report from the host * \param[in] ReportID Report ID of the received report from the host
* \param ReportData Pointer to a buffer where the created report has been stored * \param[in] ReportData Pointer to a buffer where the created report has been stored
* \param ReportSize Size in bytes of the received HID report * \param[in] ReportSize Size in bytes of the received HID report
*/ */
void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo, uint8_t ReportID, void CALLBACK_HID_Device_ProcessHIDReport(USB_ClassInfo_HID_Device_t* const HIDInterfaceInfo, const uint8_t ReportID,
void* ReportData, uint16_t ReportSize) const void* ReportData, const uint16_t ReportSize)
{ {
// Unused (but mandatory for the HID class driver) in this demo, since there are no Host->Device reports // Unused (but mandatory for the HID class driver) in this demo, since there are no Host->Device reports
} }
...@@ -85,9 +85,9 @@ ...@@ -85,9 +85,9 @@
void EVENT_USB_ConfigurationChanged(void); void EVENT_USB_ConfigurationChanged(void);
void EVENT_USB_UnhandledControlPacket(void); void EVENT_USB_UnhandledControlPacket(void);