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
					
				
					 11 changed files with 43 additions and 44 deletions
				
			
		| 
						 | 
				
			
			@ -242,14 +242,13 @@ void CDC_Device_CreateStream(USB_ClassInfo_CDC_Device_t* CDCInterfaceInfo, FILE*
 | 
			
		|||
 | 
			
		||||
static int CDC_Device_putchar(char c, FILE* Stream)
 | 
			
		||||
{
 | 
			
		||||
	CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c);
 | 
			
		||||
	return 0;
 | 
			
		||||
	return CDC_Device_SendByte((USB_ClassInfo_CDC_Device_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int CDC_Device_getchar(FILE* 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));
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
{
 | 
			
		||||
	CDC_Host_SendByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream), c);
 | 
			
		||||
	return 0;
 | 
			
		||||
	return CDC_Host_SendByte((USB_ClassInfo_CDC_Host_t*)fdev_get_udata(Stream), c) ? _FDEV_ERR : 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int CDC_Host_getchar(FILE* 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));
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -263,8 +263,8 @@
 | 
			
		|||
			{
 | 
			
		||||
				uint16_t CurrDescriptorSize = DESCRIPTOR_CAST(*CurrConfigLoc, USB_Descriptor_Header_t).Size;
 | 
			
		||||
 | 
			
		||||
				*CurrConfigLoc += CurrDescriptorSize;
 | 
			
		||||
				*BytesRem      -= CurrDescriptorSize;
 | 
			
		||||
				*((uint8_t**)CurrConfigLoc) += CurrDescriptorSize;
 | 
			
		||||
				*BytesRem                   -= CurrDescriptorSize;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
	/* 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_CLEAR_ENDPOINT()                 Endpoint_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_PStream_LE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      const void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_EStream_LE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      const void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Stream_BE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      const void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_EStream_BE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      const void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_PStream_BE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      const void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Read_Stream_LE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Read_EStream_LE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Read_Stream_BE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Read_EStream_BE
 | 
			
		||||
#define  TEMPLATE_BUFFER_TYPE                      void*
 | 
			
		||||
#define  TEMPLATE_CLEAR_ENDPOINT()                 Endpoint_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Control_Stream_LE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Control_PStream_LE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Control_EStream_LE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Control_Stream_BE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Control_PStream_BE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Write_Control_EStream_BE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Read_Control_Stream_LE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Read_Control_EStream_LE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Read_Control_Stream_BE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#define  TEMPLATE_FUNC_NAME                        Endpoint_Read_Control_EStream_BE
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1205,7 +1205,7 @@
 | 
			
		|||
				}
 | 
			
		||||
				
 | 
			
		||||
				return (MaskVal << EPSIZE0);
 | 
			
		||||
			};
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
	#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -204,7 +204,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
 | 
			
		|||
#define  TEMPLATE_TOKEN                            PIPE_TOKEN_OUT
 | 
			
		||||
#define  TEMPLATE_CLEAR_PIPE()                     Pipe_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearOUT()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#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_CLEAR_PIPE()                     Pipe_ClearIN()
 | 
			
		||||
#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"
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
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)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
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;
 | 
			
		||||
	
 | 
			
		||||
	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* DataStream = (uint8_t*)(Buffer + TEMPLATE_BUFFER_OFFSET(Length));
 | 
			
		||||
	uint8_t* DataStream = ((uint8_t*)Buffer + TEMPLATE_BUFFER_OFFSET(Length));
 | 
			
		||||
	uint8_t  ErrorCode;
 | 
			
		||||
	
 | 
			
		||||
	if ((ErrorCode = Endpoint_WaitUntilReady()))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
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;
 | 
			
		||||
	
 | 
			
		||||
	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
 | 
			
		||||
 *  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…
	
	Add table
		Add a link
		
	
		Reference in a new issue