forked from mfulz_github/qmk_firmware
Update CDC Class Driver character stream functions to use the correct avr-libc return codes for errors and EOF.
Fix pointer arithmetic on void byte buffers by explicitly typecasting the buffer pointers to uint8_t* before altering them.
This commit is contained in:
parent
c1782ac024
commit
5de364163f
|
@ -242,14 +242,13 @@ void CDC_Device_CreateStream(USB_ClassInfo_CDC_Device_t* CDCInterfaceInfo, FILE*
|
||||||
|
|
||||||
static int CDC_Device_putchar(char c, FILE* Stream)
|
static int CDC_Device_putchar(char c, FILE* Stream)
|
||||||
{
|
{
|
||||||
CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c);
|
return CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int CDC_Device_getchar(FILE* Stream)
|
static int CDC_Device_getchar(FILE* Stream)
|
||||||
{
|
{
|
||||||
if (!(CDC_Device_BytesReceived((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream))))
|
if (!(CDC_Device_BytesReceived((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream))))
|
||||||
return -1;
|
return _FDEV_EOF;
|
||||||
|
|
||||||
return CDC_Device_ReceiveByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream));
|
return CDC_Device_ReceiveByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream));
|
||||||
}
|
}
|
||||||
|
|
|
@ -342,14 +342,13 @@ void CDC_Host_CreateStream(USB_ClassInfo_CDC_Host_t* CDCInterfaceInfo, FILE* Str
|
||||||
|
|
||||||
static int CDC_Host_putchar(char c, FILE* Stream)
|
static int CDC_Host_putchar(char c, FILE* Stream)
|
||||||
{
|
{
|
||||||
CDC_Host_SendByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream), c);
|
return CDC_Host_SendByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int CDC_Host_getchar(FILE* Stream)
|
static int CDC_Host_getchar(FILE* Stream)
|
||||||
{
|
{
|
||||||
if (!(CDC_Host_BytesReceived((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream))))
|
if (!(CDC_Host_BytesReceived((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream))))
|
||||||
return -1;
|
return _FDEV_EOF;
|
||||||
|
|
||||||
return CDC_Host_ReceiveByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream));
|
return CDC_Host_ReceiveByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream));
|
||||||
}
|
}
|
||||||
|
|
|
@ -263,8 +263,8 @@
|
||||||
{
|
{
|
||||||
uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size;
|
uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size;
|
||||||
|
|
||||||
*CurrConfigLoc += CurrDescriptorSize;
|
*((uint8_t**)CurrConfigLoc) += CurrDescriptorSize;
|
||||||
*BytesRem -= CurrDescriptorSize;
|
*BytesRem -= CurrDescriptorSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Disable C linkage for C++ Compilers: */
|
/* Disable C linkage for C++ Compilers: */
|
||||||
|
|
|
@ -211,122 +211,122 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_BUFFER_TYPE const void*
|
#define TEMPLATE_BUFFER_TYPE const void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_PStream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_PStream_LE
|
||||||
#define TEMPLATE_BUFFER_TYPE const void*
|
#define TEMPLATE_BUFFER_TYPE const void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_EStream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_EStream_LE
|
||||||
#define TEMPLATE_BUFFER_TYPE const void*
|
#define TEMPLATE_BUFFER_TYPE const void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_Stream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_Stream_BE
|
||||||
#define TEMPLATE_BUFFER_TYPE const void*
|
#define TEMPLATE_BUFFER_TYPE const void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_EStream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_EStream_BE
|
||||||
#define TEMPLATE_BUFFER_TYPE const void*
|
#define TEMPLATE_BUFFER_TYPE const void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_PStream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_PStream_BE
|
||||||
#define TEMPLATE_BUFFER_TYPE const void*
|
#define TEMPLATE_BUFFER_TYPE const void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Stream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Read_Stream_LE
|
||||||
#define TEMPLATE_BUFFER_TYPE void*
|
#define TEMPLATE_BUFFER_TYPE void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *(BufferPtr++) = Endpoint_Read_Byte()
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr++) = Endpoint_Read_Byte()
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_EStream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Read_EStream_LE
|
||||||
#define TEMPLATE_BUFFER_TYPE void*
|
#define TEMPLATE_BUFFER_TYPE void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte(BufferPtr++, Endpoint_Read_Byte())
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr++, Endpoint_Read_Byte())
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Stream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Read_Stream_BE
|
||||||
#define TEMPLATE_BUFFER_TYPE void*
|
#define TEMPLATE_BUFFER_TYPE void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *(BufferPtr--) = Endpoint_Read_Byte()
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr--) = Endpoint_Read_Byte()
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_EStream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Read_EStream_BE
|
||||||
#define TEMPLATE_BUFFER_TYPE void*
|
#define TEMPLATE_BUFFER_TYPE void*
|
||||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte(BufferPtr--, Endpoint_Read_Byte())
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr--, Endpoint_Read_Byte())
|
||||||
#include "Template/Template_Endpoint_RW.c"
|
#include "Template/Template_Endpoint_RW.c"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_Stream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_Stream_LE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Endpoint_Control_W.c"
|
#include "Template/Template_Endpoint_Control_W.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_PStream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_PStream_LE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Endpoint_Control_W.c"
|
#include "Template/Template_Endpoint_Control_W.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_EStream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_EStream_LE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Endpoint_Control_W.c"
|
#include "Template/Template_Endpoint_Control_W.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_Stream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_Stream_BE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(*((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Endpoint_Control_W.c"
|
#include "Template/Template_Endpoint_Control_W.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_PStream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_PStream_BE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Endpoint_Control_W.c"
|
#include "Template/Template_Endpoint_Control_W.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_EStream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Write_Control_EStream_BE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Endpoint_Control_W.c"
|
#include "Template/Template_Endpoint_Control_W.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_Stream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_Stream_LE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *(BufferPtr++) = Endpoint_Read_Byte()
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr++) = Endpoint_Read_Byte()
|
||||||
#include "Template/Template_Endpoint_Control_R.c"
|
#include "Template/Template_Endpoint_Control_R.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_LE
|
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_LE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte(BufferPtr++, Endpoint_Read_Byte())
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr++, Endpoint_Read_Byte())
|
||||||
#include "Template/Template_Endpoint_Control_R.c"
|
#include "Template/Template_Endpoint_Control_R.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_Stream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_Stream_BE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *(BufferPtr--) = Endpoint_Read_Byte()
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr--) = Endpoint_Read_Byte()
|
||||||
#include "Template/Template_Endpoint_Control_R.c"
|
#include "Template/Template_Endpoint_Control_R.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_BE
|
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_BE
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte(BufferPtr--, Endpoint_Read_Byte())
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr--, Endpoint_Read_Byte())
|
||||||
#include "Template/Template_Endpoint_Control_R.c"
|
#include "Template/Template_Endpoint_Control_R.c"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1205,7 +1205,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
return (MaskVal << EPSIZE0);
|
return (MaskVal << EPSIZE0);
|
||||||
};
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -204,7 +204,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(*(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(*((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Write_PStream_LE
|
#define TEMPLATE_FUNC_NAME Pipe_Write_PStream_LE
|
||||||
|
@ -212,7 +212,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(pgm_read_byte(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Write_EStream_LE
|
#define TEMPLATE_FUNC_NAME Pipe_Write_EStream_LE
|
||||||
|
@ -220,7 +220,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(eeprom_read_byte(BufferPtr++))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr++))
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Write_Stream_BE
|
#define TEMPLATE_FUNC_NAME Pipe_Write_Stream_BE
|
||||||
|
@ -228,7 +228,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(*(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(*((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Write_PStream_BE
|
#define TEMPLATE_FUNC_NAME Pipe_Write_PStream_BE
|
||||||
|
@ -236,7 +236,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(pgm_read_byte(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(pgm_read_byte((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Write_EStream_BE
|
#define TEMPLATE_FUNC_NAME Pipe_Write_EStream_BE
|
||||||
|
@ -244,7 +244,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
#define TEMPLATE_TOKEN PIPE_TOKEN_OUT
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearOUT()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(eeprom_read_byte(BufferPtr--))
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) Pipe_Write_Byte(eeprom_read_byte((uint8_t*)BufferPtr--))
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Read_Stream_LE
|
#define TEMPLATE_FUNC_NAME Pipe_Read_Stream_LE
|
||||||
|
@ -252,7 +252,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *(BufferPtr++) = Pipe_Read_Byte()
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr++) = Pipe_Read_Byte()
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Read_EStream_LE
|
#define TEMPLATE_FUNC_NAME Pipe_Read_EStream_LE
|
||||||
|
@ -260,7 +260,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte(BufferPtr++, Pipe_Read_Byte())
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr++, Pipe_Read_Byte())
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Read_Stream_BE
|
#define TEMPLATE_FUNC_NAME Pipe_Read_Stream_BE
|
||||||
|
@ -268,7 +268,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *(BufferPtr--) = Pipe_Read_Byte()
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) *((uint8_t*)BufferPtr--) = Pipe_Read_Byte()
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#define TEMPLATE_FUNC_NAME Pipe_Read_EStream_BE
|
#define TEMPLATE_FUNC_NAME Pipe_Read_EStream_BE
|
||||||
|
@ -276,7 +276,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||||
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
||||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
||||||
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
#define TEMPLATE_BUFFER_OFFSET(Length) Length - 1
|
||||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte(BufferPtr--, Pipe_Read_Byte())
|
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr--, Pipe_Read_Byte())
|
||||||
#include "Template/Template_Pipe_RW.c"
|
#include "Template/Template_Pipe_RW.c"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
uint8_t TEMPLATE_FUNC_NAME (void* Buffer, uint16_t Length)
|
uint8_t TEMPLATE_FUNC_NAME (void* Buffer, uint16_t Length)
|
||||||
{
|
{
|
||||||
uint8_t* DataStream = (uint8_t*)(Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
||||||
|
|
||||||
while (Length)
|
while (Length)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
uint8_t TEMPLATE_FUNC_NAME (const void* Buffer, uint16_t Length)
|
uint8_t TEMPLATE_FUNC_NAME (const void* Buffer, uint16_t Length)
|
||||||
{
|
{
|
||||||
uint8_t* DataStream = (uint8_t*)(Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
||||||
bool LastPacketFull = false;
|
bool LastPacketFull = false;
|
||||||
|
|
||||||
if (Length > USB_ControlRequest.wLength)
|
if (Length > USB_ControlRequest.wLength)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer, uint16_t Length __CALLBACK_PARAM)
|
uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer, uint16_t Length __CALLBACK_PARAM)
|
||||||
{
|
{
|
||||||
uint8_t* DataStream = (uint8_t*)(Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
||||||
uint8_t ErrorCode;
|
uint8_t ErrorCode;
|
||||||
|
|
||||||
if ((ErrorCode = Endpoint_WaitUntilReady()))
|
if ((ErrorCode = Endpoint_WaitUntilReady()))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer, uint16_t Length __CALLBACK_PARAM)
|
uint8_t TEMPLATE_FUNC_NAME (TEMPLATE_BUFFER_TYPE Buffer, uint16_t Length __CALLBACK_PARAM)
|
||||||
{
|
{
|
||||||
uint8_t* DataStream = (uint8_t*)(Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
|
||||||
uint8_t ErrorCode;
|
uint8_t ErrorCode;
|
||||||
|
|
||||||
Pipe_SetToken(TEMPLATE_TOKEN);
|
Pipe_SetToken(TEMPLATE_TOKEN);
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
* and supporter. Please consider donating a small amount to support this and my future Open Source projects - All
|
* and supporter. Please consider donating a small amount to support this and my future Open Source projects - All
|
||||||
* donations are <i>greatly</i> appreciated.
|
* donations are <i>greatly</i> appreciated.
|
||||||
*
|
*
|
||||||
* <b>Donate to this project at <a>http://www.fourwalledcubicle.com</a></b> via PayPal - Thanks in Advance!
|
* <img src='http://www.pledgie.com/campaigns/6927.png?skin_name=chrome' border='0'></img>
|
||||||
|
* <a href='http://www.pledgie.com/campaigns/6927'>Donate to this project via PayPal</a> - Thanks in Advance!
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue