-#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_BE\r
-#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)\r
-#define TEMPLATE_BUFFER_MOVE(BufferPtr, Amount) BufferPtr -= Amount\r
-#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte(BufferPtr, Endpoint_Read_Byte())\r
-#include "Template/Template_Endpoint_Control_R.c"\r
+#if defined(ARCH_HAS_FLASH_ADDRESS_SPACE)\r
+ #define TEMPLATE_FUNC_NAME Endpoint_Write_Control_PStream_LE\r
+ #define TEMPLATE_BUFFER_OFFSET(Length) 0\r
+ #define TEMPLATE_BUFFER_MOVE(BufferPtr, Amount) BufferPtr += Amount\r
+ #define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_8(pgm_read_byte(BufferPtr))\r
+ #include "Template/Template_Endpoint_Control_W.c"\r
+\r
+ #define TEMPLATE_FUNC_NAME Endpoint_Write_Control_PStream_BE\r
+ #define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)\r
+ #define TEMPLATE_BUFFER_MOVE(BufferPtr, Amount) BufferPtr -= Amount\r
+ #define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_8(pgm_read_byte(BufferPtr))\r
+ #include "Template/Template_Endpoint_Control_W.c"\r
+#endif\r
+\r
+#if defined(ARCH_HAS_EEPROM_ADDRESS_SPACE)\r
+ #define TEMPLATE_FUNC_NAME Endpoint_Write_Control_EStream_LE\r
+ #define TEMPLATE_BUFFER_OFFSET(Length) 0\r
+ #define TEMPLATE_BUFFER_MOVE(BufferPtr, Amount) BufferPtr += Amount\r
+ #define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_8(eeprom_read_byte(BufferPtr))\r
+ #include "Template/Template_Endpoint_Control_W.c"\r
+\r
+ #define TEMPLATE_FUNC_NAME Endpoint_Write_Control_EStream_BE\r
+ #define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)\r
+ #define TEMPLATE_BUFFER_MOVE(BufferPtr, Amount) BufferPtr -= Amount\r
+ #define TEMPLATE_TRANSFER_BYTE(BufferPtr) Endpoint_Write_8(eeprom_read_byte(BufferPtr))\r
+ #include "Template/Template_Endpoint_Control_W.c"\r
+\r
+ #define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_LE\r
+ #define TEMPLATE_BUFFER_OFFSET(Length) 0\r
+ #define TEMPLATE_BUFFER_MOVE(BufferPtr, Amount) BufferPtr += Amount\r
+ #define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte(BufferPtr, Endpoint_Read_8())\r
+ #include "Template/Template_Endpoint_Control_R.c"\r
+\r
+ #define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_BE\r
+ #define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)\r
+ #define TEMPLATE_BUFFER_MOVE(BufferPtr, Amount) BufferPtr -= Amount\r
+ #define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte(BufferPtr, Endpoint_Read_8())\r
+ #include "Template/Template_Endpoint_Control_R.c"\r
+#endif\r