projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rename some of the library documentation files.
[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
..
1376de4
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
@@
-45,9
+45,11
@@
bool Pipe_ConfigurePipe(const uint8_t Number, const uint8_t Type, const uint8_t
\r
UPCFG1X = 0;
\r
\r
\r
UPCFG1X = 0;
\r
\r
- UPCFG0X = ((Type << EPTYPE0) | Token | (
EndpointNumber
<< PEPNUM0));
\r
+ UPCFG0X = ((Type << EPTYPE0) | Token | (
(EndpointNumber & PIPE_EPNUM_MASK)
<< PEPNUM0));
\r
UPCFG1X = ((1 << ALLOC) | Banks | Pipe_BytesToEPSizeMask(Size));
\r
\r
UPCFG1X = ((1 << ALLOC) | Banks | Pipe_BytesToEPSizeMask(Size));
\r
\r
+ Pipe_SetInfiniteINRequests();
\r
+
\r
return Pipe_IsConfigured();
\r
}
\r
\r
return Pipe_IsConfigured();
\r
}
\r
\r
@@
-70,9
+72,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
@@
-104,17
+108,19
@@
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
uint8_t* DataStream = (uint8_t*)Data;
\r
uint8_t ErrorCode;
\r
\r
#endif
\r
)
\r
{
\r
uint8_t* DataStream = (uint8_t*)Data;
\r
uint8_t ErrorCode;
\r
\r
+ Pipe_SetToken(PIPE_TOKEN_OUT);
\r
+
\r
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
+128,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,25
+137,28
@@
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
uint8_t* DataStream = (uint8_t*)(Data + Length - 1);
\r
uint8_t ErrorCode;
\r
\r
#endif
\r
)
\r
{
\r
uint8_t* DataStream = (uint8_t*)(Data + Length - 1);
\r
uint8_t ErrorCode;
\r
\r
+ Pipe_SetToken(PIPE_TOKEN_OUT);
\r
+
\r
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
+166,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,24
+175,27
@@
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
uint8_t ErrorCode;
\r
\r
#endif
\r
)
\r
{
\r
uint8_t ErrorCode;
\r
\r
+ Pipe_SetToken(PIPE_TOKEN_IN);
\r
+
\r
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
+203,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,25
+212,28
@@
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
uint8_t* DataStream = (uint8_t*)Buffer;
\r
uint8_t ErrorCode;
\r
\r
#endif
\r
)
\r
{
\r
uint8_t* DataStream = (uint8_t*)Buffer;
\r
uint8_t ErrorCode;
\r
\r
+ Pipe_SetToken(PIPE_TOKEN_IN);
\r
+
\r
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
+241,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,25
+250,28
@@
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
uint8_t* DataStream = (uint8_t*)(Buffer + Length - 1);
\r
uint8_t ErrorCode;
\r
\r
#endif
\r
)
\r
{
\r
uint8_t* DataStream = (uint8_t*)(Buffer + Length - 1);
\r
uint8_t ErrorCode;
\r
\r
+ Pipe_SetToken(PIPE_TOKEN_IN);
\r
+
\r
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
+279,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
+288,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