Altered all endpoint/pipe stream transfers so that the new BytesProcessed parameter now points to a location where the number of bytes in the transfer that have been completed can be stored (or NULL if entire transaction should be performed in one chunk).

Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions.

Removed the NO_STREAM_CALLBACKS compile time option due to the new partial stream transfer feature replacing it.

Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov).
This commit is contained in:
Dean Camera 2011-01-10 18:43:34 +00:00
parent 477a2047f4
commit f555ad7ced
107 changed files with 1257 additions and 943 deletions

View file

@ -15,6 +15,7 @@
* - Added a new general RingBuff.h miscellaneous ring buffer library driver header
* - Added new GCC_FORCE_POINTER_ACCESS() macro to correct GCC's mishandling of struct pointer accesses
* - Added basic driver example use code to the library documentation
* - Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions
* - Library Applications:
* - Added ability to write protect Mass Storage disk write operations from the host OS
*
@ -26,6 +27,10 @@
* - The USARTStream global is now public and documented in the SerialStream module, allowing for the serial USART
* stream to be accessed via its handle rather than via the implicit stdout and stdin streams
* - The FAST_STREAM_TRANSFERS compile time option has been removed due to lack of use and low cost/benefit ratio
* - Altered all endpoint/pipe stream transfers so that the new BytesProcessed parameter now points to a location
* where the number of bytes in the transfer that have been completed can be stored (or NULL if entire transaction
* should be performed in one chunk)
* - The NO_STREAM_CALLBACKS compile time option has now been removed due to the new partial stream transfer feature
* - Library Applications:
* - Changed the XPLAINBridge software UART to use the regular timer CTC mode instead of the alternative CTC mode
* via the Input Capture register, to reduce user confusion
@ -49,6 +54,7 @@
* timeout period on received packets as set by USB_STREAM_TIMEOUT_MS (thanks to Justin Rajewski)
* - Fixed possible programming problem in the AVRISP-MKII clone project when programming specific patterns into a target
* memory space that is only byte (not page) addressable
* - Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov)
*
*
* \section Sec_ChangeLog101122 Version 101122

View file

@ -82,14 +82,6 @@
* prevent data corruption issues. However, by default LUFA employs a workaround to allow for unordered Endpoint/Pipe initialisation. This compile
* time token may be used to restrict the intialisation order to ascending indexes only in exchange for a smaller compiled binary size.
*
* <b>NO_STREAM_CALLBACKS</b> - ( \ref Group_EndpointPacketManagement , \ref Group_PipePacketManagement )\n
* Both the endpoint and the pipe driver code contains stream functions, allowing for arrays of data to be sent to or from the
* host easily via a single function call (rather than complex routines worrying about sending full packets, waiting for the endpoint/
* pipe to become ready, etc.). By default, these stream functions require a callback function which is executed after each byte processed,
* allowing for early-aborts of stream transfers by the application. If callbacks are not required in an application, they can be removed
* by defining this token, reducing the compiled binary size. When removed, the stream functions no longer accept a callback function as
* a parameter.
*
* <b>USE_STATIC_OPTIONS</b>=<i>x</i> - ( \ref Group_USBManagement ) \n
* By default, the USB_Init() function accepts dynamic options at runtime to alter the library behaviour, including whether the USB pad
* voltage regulator is enabled, and the device speed when in device mode. By defining this token to a mask comprised of the USB options

View file

@ -45,6 +45,7 @@
* - EMUCOMBOX, a USB-RS422 adapter for E-Mu Emax samplers: http://users.skynet.be/emxp/EMUCOMBOX.htm
* - Estick JTAG, an ARM JTAG debugger: http://code.google.com/p/estick-jtag/
* - "Fingerlicking Wingdinger" (WARNING: Bad Language if no Javascript), a MIDI controller: http://noisybox.net/electronics/wingdinger/
* - Flyatar, a real-time fly tracking system: https://github.com/peterpolidoro/Flyatar
* - Garmin GPS USB to NMEA standard serial sentence translator: http://github.com/nall/garmin-transmogrifier/tree/master
* - Generic HID Device Creator: http://generichid.sourceforge.net/
* - Ghetto Drum, a MIDI drum controller: http://noisybox.net/art/gdrum/

View file

@ -17,6 +17,20 @@
* size, the new ORDERED_EP_CONFIG compile time option may be defined in the project makefile to restrict the ordering
* in exchange for a smaller compiled binary size.
*
* <b>Device Mode</b>
* - The Endpoint stream functions now all require a BytesProcessed parameter instead of the previous callback parameter.
* This should be set to NULL to retain previous behaviour of the functions, or point to a location where the number of bytes
* processed in the current transaction can be stored. If the BytesProcessed parameter is non-NULL, each time the endpoint
* bank becomes full and the packet is sent, the routine will exit with the new \ref ENDPOINT_RWSTREAM_IncompleteTransfer
* error code to allow the user application to determine when to send the next chunk of data.
*
* <b>Host Mode</b>
* - The Pipe stream functions now all require a BytesProcessed parameter instead of the previous callback parameter.
* This should be set to NULL to retain previous behaviour of the functions, or point to a location where the number of bytes
* processed in the current transaction can be stored. If the BytesProcessed parameter is non-NULL, each time the pipe
* bank becomes full and the packet is sent, the routine will exit with the new \ref PIPE_RWSTREAM_IncompleteTransfer
* error code to allow the user application to determine when to send the next chunk of data.
*
* \section Sec_Migration101122 Migrating from 100807 to 101122
* <b>USB Core</b>
* - A new USB driver source file, Drivers/USB/HighLevel/EndpointStream.c now exists. This source file should be added

View file

@ -40,7 +40,7 @@
* into difficulties or need some advice. In addition, you can also email the library author to receive personalized
* support when you need it (subject to author's schedule).
*
* <small>* Atmel Stack Mouse Device Demo 4292 bytes, LUFA Mouse Low Level Device Demo 3332 bytes, under identical build
* <small>* Atmel Stack Mouse Device Demo 4218 bytes, LUFA Mouse Low Level Device Demo 3472 bytes, under identical build
* environments</small>
*/