projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move new Class Driver powered demos to a new ClassDriver subdirectory, re-add old...
[pub/USBasp.git]
/
LUFA
/
Drivers
/
USB
/
LowLevel
/
Pipe.c
diff --git
a/LUFA/Drivers/USB/LowLevel/Pipe.c
b/LUFA/Drivers/USB/LowLevel/Pipe.c
index
5850fcf
..
720da17
100644
(file)
--- a/
LUFA/Drivers/USB/LowLevel/Pipe.c
+++ b/
LUFA/Drivers/USB/LowLevel/Pipe.c
@@
-37,7
+37,7
@@
\r
uint8_t USB_ControlPipeSize = PIPE_CONTROLPIPE_DEFAULT_SIZE;
\r
\r
\r
uint8_t USB_ControlPipeSize = PIPE_CONTROLPIPE_DEFAULT_SIZE;
\r
\r
-bool Pipe_ConfigurePipe(const uint8_t
Number, const uint8_t Type, const uint8_t Token, const uint8_t EndpointNumber,
\r
+bool Pipe_ConfigurePipe(const uint8_t Number, const uint8_t Type, const uint8_t Token, const uint8_t EndpointNumber,
\r
const uint16_t Size, const uint8_t Banks)
\r
{
\r
Pipe_SelectPipe(Number);
\r
const uint16_t Size, const uint8_t Banks)
\r
{
\r
Pipe_SelectPipe(Number);
\r
@@
-70,9
+70,11
@@
void Pipe_ClearPipes(void)
\r
uint8_t Pipe_WaitUntilReady(void)
\r
{
\r
\r
uint8_t Pipe_WaitUntilReady(void)
\r
{
\r
+ #if (USB_STREAM_TIMEOUT_MS < 0xFF)
\r
+ uint8_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS;
\r
+ #else
\r
uint16_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS;
\r
uint16_t TimeoutMSRem = USB_STREAM_TIMEOUT_MS;
\r
-
\r
- USB_INT_Clear(USB_INT_HSOFI);
\r
+ #endif
\r
\r
for (;;)
\r
{
\r
\r
for (;;)
\r
{
\r
@@
-92,9
+94,9
@@
uint8_t Pipe_WaitUntilReady(void)
else if (!(USB_IsConnected))
\r
return PIPE_READYWAIT_DeviceDisconnected;
\r
\r
else if (!(USB_IsConnected))
\r
return PIPE_READYWAIT_DeviceDisconnected;
\r
\r
- if (
USB_INT_HasOccurred(USB_INT_HSOFI)
)
\r
+ if (
FrameElapsed
)
\r
{
\r
{
\r
-
USB_INT_Clear(USB_INT_HSOFI)
;
\r
+
FrameElapsed = false
;
\r
\r
if (!(TimeoutMSRem--))
\r
return PIPE_READYWAIT_Timeout;
\r
\r
if (!(TimeoutMSRem--))
\r
return PIPE_READYWAIT_Timeout;
\r
@@
-104,7
+106,7
@@
uint8_t Pipe_WaitUntilReady(void)
\r
uint8_t Pipe_Write_Stream_LE(const void* Data, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
\r
uint8_t Pipe_Write_Stream_LE(const void* Data, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
- ,
uint8_t (* const Callback)(void)
\r
+ ,
StreamCallbackPtr_t Callback
\r
#endif
\r
)
\r
{
\r
#endif
\r
)
\r
{
\r
@@
-114,7
+116,7
@@
uint8_t Pipe_Write_Stream_LE(const void* Data, uint16_t Length
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
- while (Length
--
)
\r
+ while (Length)
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
@@
-122,7
+124,7
@@
uint8_t Pipe_Write_Stream_LE(const void* Data, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
- return PIPE_RWSTREAM_
ERROR_
CallbackAborted;
\r
+ return PIPE_RWSTREAM_CallbackAborted;
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
@@
-131,15
+133,16
@@
uint8_t Pipe_Write_Stream_LE(const void* Data, uint16_t Length
else
\r
{
\r
Pipe_Write_Byte(*(DataStream++));
\r
else
\r
{
\r
Pipe_Write_Byte(*(DataStream++));
\r
+ Length--;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
- return PIPE_RWSTREAM_
ERROR_
NoError;
\r
+ return PIPE_RWSTREAM_NoError;
\r
}
\r
\r
uint8_t Pipe_Write_Stream_BE(const void* Data, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
}
\r
\r
uint8_t Pipe_Write_Stream_BE(const void* Data, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
- ,
uint8_t (* const Callback)(void)
\r
+ ,
StreamCallbackPtr_t Callback
\r
#endif
\r
)
\r
{
\r
#endif
\r
)
\r
{
\r
@@
-149,7
+152,7
@@
uint8_t Pipe_Write_Stream_BE(const void* Data, uint16_t Length
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
- while (Length
--
)
\r
+ while (Length)
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
@@
-157,7
+160,7
@@
uint8_t Pipe_Write_Stream_BE(const void* Data, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
- return PIPE_RWSTREAM_
ERROR_
CallbackAborted;
\r
+ return PIPE_RWSTREAM_CallbackAborted;
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
@@
-166,15
+169,16
@@
uint8_t Pipe_Write_Stream_BE(const void* Data, uint16_t Length
else
\r
{
\r
Pipe_Write_Byte(*(DataStream--));
\r
else
\r
{
\r
Pipe_Write_Byte(*(DataStream--));
\r
+ Length--;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
- return PIPE_RWSTREAM_
ERROR_
NoError;
\r
+ return PIPE_RWSTREAM_NoError;
\r
}
\r
\r
uint8_t Pipe_Discard_Stream(uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
}
\r
\r
uint8_t Pipe_Discard_Stream(uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
- ,
uint8_t (* const Callback)(void)
\r
+ ,
StreamCallbackPtr_t Callback
\r
#endif
\r
)
\r
{
\r
#endif
\r
)
\r
{
\r
@@
-183,7
+187,7
@@
uint8_t Pipe_Discard_Stream(uint16_t Length
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
- while (Length
--
)
\r
+ while (Length)
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
@@
-191,7
+195,7
@@
uint8_t Pipe_Discard_Stream(uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
- return PIPE_RWSTREAM_
ERROR_
CallbackAborted;
\r
+ return PIPE_RWSTREAM_CallbackAborted;
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
@@
-200,15
+204,16
@@
uint8_t Pipe_Discard_Stream(uint16_t Length
else
\r
{
\r
Pipe_Discard_Byte();
\r
else
\r
{
\r
Pipe_Discard_Byte();
\r
+ Length--;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
- return PIPE_RWSTREAM_
ERROR_
NoError;
\r
+ return PIPE_RWSTREAM_NoError;
\r
}
\r
\r
uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
}
\r
\r
uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
- ,
uint8_t (* const Callback)(void)
\r
+ ,
StreamCallbackPtr_t Callback
\r
#endif
\r
)
\r
{
\r
#endif
\r
)
\r
{
\r
@@
-218,7
+223,7
@@
uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
- while (Length
--
)
\r
+ while (Length)
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
@@
-226,7
+231,7
@@
uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
- return PIPE_RWSTREAM_
ERROR_
CallbackAborted;
\r
+ return PIPE_RWSTREAM_CallbackAborted;
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
@@
-235,15
+240,16
@@
uint8_t Pipe_Read_Stream_LE(void* Buffer, uint16_t Length
else
\r
{
\r
*(DataStream++) = Pipe_Read_Byte();
\r
else
\r
{
\r
*(DataStream++) = Pipe_Read_Byte();
\r
+ Length--;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
- return PIPE_RWSTREAM_
ERROR_
NoError;
\r
+ return PIPE_RWSTREAM_NoError;
\r
}
\r
\r
uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
}
\r
\r
uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
- ,
uint8_t (* const Callback)(void)
\r
+ ,
StreamCallbackPtr_t Callback
\r
#endif
\r
)
\r
{
\r
#endif
\r
)
\r
{
\r
@@
-253,7
+259,7
@@
uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
return ErrorCode;
\r
\r
- while (Length
--
)
\r
+ while (Length)
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
{
\r
if (!(Pipe_IsReadWriteAllowed()))
\r
{
\r
@@
-261,7
+267,7
@@
uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
\r
#if !defined(NO_STREAM_CALLBACKS)
\r
if ((Callback != NULL) && (Callback() == STREAMCALLBACK_Abort))
\r
- return PIPE_RWSTREAM_
ERROR_
CallbackAborted;
\r
+ return PIPE_RWSTREAM_CallbackAborted;
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
#endif
\r
\r
if ((ErrorCode = Pipe_WaitUntilReady()))
\r
@@
-270,10
+276,11
@@
uint8_t Pipe_Read_Stream_BE(void* Buffer, uint16_t Length
else
\r
{
\r
*(DataStream--) = Pipe_Read_Byte();
\r
else
\r
{
\r
*(DataStream--) = Pipe_Read_Byte();
\r
+ Length--;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
- return PIPE_RWSTREAM_
ERROR_
NoError;
\r
+ return PIPE_RWSTREAM_NoError;
\r
}
\r
\r
#endif
\r
}
\r
\r
#endif
\r