Dean Camera [Tue, 10 Aug 2010 12:13:07 +0000 (12:13 +0000)]
Fixed USB_GetHIDReportItemInfo() function modifying the given report item's data when the report item does not exist within the supplied report of a multiple report HID device.
Dean Camera [Mon, 9 Aug 2010 12:04:52 +0000 (12:04 +0000)]
Tighten up the code in the delta movement detection code in the MouseHostWithParser and JoystickHostWithParser demos. Make the ClassDriver JoystickHostWithParser demo use the HID_ALIGN_DATA() macro instead of manual shifting and casting.
Dean Camera [Mon, 9 Aug 2010 10:20:10 +0000 (10:20 +0000)]
Removed complicated logic for the Endpoint_ConfigureEndpoint() function to use inlined or function called versions depending of if the given bank size is a compile time constant, as the compiler does a better job of optimizing with basic code.
Changed over all device demos to use a clearer algorithm for the configuring of the application's endpoints.
Dean Camera [Mon, 9 Aug 2010 07:21:53 +0000 (07:21 +0000)]
Add notification endpoint to the incomplete TMC demo.
Dean Camera [Mon, 9 Aug 2010 01:55:02 +0000 (01:55 +0000)]
Commit for the 100807 release.
Dean Camera [Sun, 8 Aug 2010 08:30:42 +0000 (08:30 +0000)]
Fix invocations of avr-size in all makefiles broken on unpatched *nix systems, due to the recent update to the latest WinAVR makefile template.
Dean Camera [Thu, 5 Aug 2010 09:31:51 +0000 (09:31 +0000)]
Fixed software application start command broken in the DFU class bootloader when dfu-programmer is used due to application start address corruption.
Dean Camera [Tue, 3 Aug 2010 11:13:06 +0000 (11:13 +0000)]
Ensure all demos now compile in C99 standards mode, and not GNU99 (C99 + GNU extensions).
Dean Camera [Mon, 2 Aug 2010 08:53:23 +0000 (08:53 +0000)]
Hide the PROGMEM attribute from Doxygen, as it appears to confuse the parser in some situations.
Dean Camera [Sun, 1 Aug 2010 14:03:13 +0000 (14:03 +0000)]
Fix XPLAINBridge project discarding characters from the USB interface due to a double read from the endpoint.
Make XPLAINBridge and USBtoSerial projects more reliable by forcing a flush if the UART-to-USB buffer becomes nearly full.
Reduce locking in the LightweightRingBuffer.h header files by only locking on the update of the buffer count, and require insertions and removals from each buffer to occur in only one execution thread.
Fix CDC_*_ReceiveByte() returning 0 when the interface is not configured, instead of the new -1 error value.
Fix CDC_Host_ReceiveByte() not re-freezing the pipe if no packet has been received.
Remove redundant Pipe token set commands in the CDC and RNDIS host class drivers.
Dean Camera [Sun, 1 Aug 2010 06:53:08 +0000 (06:53 +0000)]
Invert the logic for the VBUS power light in the AVRISP-MKII project for the USBTINY-MKII board target.
Dean Camera [Sat, 31 Jul 2010 08:03:23 +0000 (08:03 +0000)]
Re-add deleted linker options to the Bootloader makefiles, which was preventing the compiled application from being shifted into the bootloader section address space.
Dean Camera [Sat, 31 Jul 2010 06:55:47 +0000 (06:55 +0000)]
Fixed Serial peripheral driver not turning off the USART before reconfiguring it, which would cause incorrect operation to occur (thanks to Bob Paddock).
Dean Camera [Fri, 30 Jul 2010 10:58:16 +0000 (10:58 +0000)]
Oops - fix mixed "initialize" and "initialise" - opt for American spelling due to its wide use in technical standards.
Dean Camera [Fri, 30 Jul 2010 09:48:35 +0000 (09:48 +0000)]
More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary.
Dean Camera [Fri, 30 Jul 2010 08:29:53 +0000 (08:29 +0000)]
Spell check more of the third party libraries used by LUFA.
Dean Camera [Fri, 30 Jul 2010 05:13:05 +0000 (05:13 +0000)]
Add the formula used to obtain the bootloader start address to the Bootloader makefiles to help users compute the correct address for each device based on the bootloader section size.
Dean Camera [Fri, 30 Jul 2010 04:20:41 +0000 (04:20 +0000)]
Fix typo in DualVirtualSerial.c due to the changed CDC Device APIs that was preventing the demo from being compiled.
Dean Camera [Fri, 30 Jul 2010 03:52:11 +0000 (03:52 +0000)]
Altered the CDC Deivice and Host Class drivers' receive byte routines, so that no data is indicated by a negative return value.
Added auto flushing of OUT data to the CDC Host Class driver's USBTask function to automatically flush the send pipe buffer.
Dean Camera [Fri, 30 Jul 2010 01:11:04 +0000 (01:11 +0000)]
Oops - need to turn off USART via control register B before reconfiguring, fix ordering of USART control register modifications in the Benito and USBtoSerial projects.
Dean Camera [Thu, 29 Jul 2010 16:20:45 +0000 (16:20 +0000)]
Spell check all source files once again to find any typos.
Dean Camera [Thu, 29 Jul 2010 15:14:56 +0000 (15:14 +0000)]
Fixed Benito and USBtoSerial projects not turning off the USART before reconfiguring it, which could cause incorrect operation to occur (thanks to Bob Paddock).
Dean Camera [Thu, 29 Jul 2010 13:04:53 +0000 (13:04 +0000)]
Add special support to the AVRISP-MKII for the new model USBTINY-MKII's additional LED to indicate target power source.
Add support to the USBTINY-MKII's additional LED in the board's LED driver header.
Changed LED indicator masks for the AVRISP-MKII project, so that there are defined roles for each LED.
Dean Camera [Thu, 29 Jul 2010 07:20:33 +0000 (07:20 +0000)]
Remove obsolete macros and preprocessor checks from the AVRISP-MKII project's V2Protocol command handler header file.
Dean Camera [Thu, 29 Jul 2010 07:16:20 +0000 (07:16 +0000)]
Oops - remove duplicated SPI driver init mask.
Dean Camera [Thu, 29 Jul 2010 07:09:57 +0000 (07:09 +0000)]
Added support to the AVRISP-MKII project for ISP speeds slower than 125KHz via a new software SPI driver.
Added new SPI_ORDER_* data order masks to the SPI peripheral driver.
Dean Camera [Wed, 28 Jul 2010 09:17:22 +0000 (09:17 +0000)]
Add TMC header read and write functions, so that TMC data can now be exchanged in both directions.
Minor update to the LowLevel MassStorage device demo, so that the ReadInCommandBlock() performs the data OUT endpoint selection and packet arrival test.
Dean Camera [Tue, 27 Jul 2010 13:49:16 +0000 (13:49 +0000)]
Use static inline intermediatary functions in Endpoint.h to handle the masking for the private endpoint configuration routine, instead of performing the masking in the Endpoint_ConfigureEndpoint() macro.
Dean Camera [Tue, 27 Jul 2010 11:26:47 +0000 (11:26 +0000)]
Move over message ID specific header data to unions inside the standard TMC header structure, so that all header data is read in one chunk in the incomplete TMC demo.
Dean Camera [Mon, 26 Jul 2010 07:28:40 +0000 (07:28 +0000)]
Rename reserved members of all structs so that they are uniformly named across all demos/projects/bootloaders.
Added start of the Incomplete TMC demo's command parser code.
Dean Camera [Mon, 26 Jul 2010 05:02:55 +0000 (05:02 +0000)]
Add comments to the currently completed portions of the incomplete Test and Measurement Class demo.
Dean Camera [Mon, 26 Jul 2010 04:57:50 +0000 (04:57 +0000)]
Add missing INTERRUPT_CONTROL_ENDPOINT compile time option to the Mass Storage device projects/demos and incomplete Test and Measurement Class demo, which was accidentally removed during the makefile updates.
Alter Test and Measurement Class demo's request handlers to accept, process and correctly return the fields indicated in the specification.
Dean Camera [Mon, 26 Jul 2010 04:26:47 +0000 (04:26 +0000)]
Add stream callback flags and class specific control request handler code to the incomplete Test and Measurement Class device demo.
Change over the keyboard demo's manufacturer name back to the primary author of the demo.
Dean Camera [Sun, 25 Jul 2010 11:59:55 +0000 (11:59 +0000)]
Added periodic flush timer to the Benito project. Alter the serial transmission code so that sent bytes do not block the remainder of the main program code from running.
Dean Camera [Fri, 23 Jul 2010 09:12:26 +0000 (09:12 +0000)]
Add TMC device capabilities to the incomplete TMC demo.
Dean Camera [Fri, 23 Jul 2010 03:25:19 +0000 (03:25 +0000)]
Update size of compiled Mouse demo in documentation, fix indenting in Device.h.
Dean Camera [Thu, 22 Jul 2010 15:38:12 +0000 (15:38 +0000)]
Convert over internal pseudo-function macros to true inline functions for added type-safety and compile-checking.
Dean Camera [Thu, 22 Jul 2010 12:34:32 +0000 (12:34 +0000)]
Future proof the XPROG protocol of the AVRISP-MKII project, so that non PDI and TPI requests return failure.
Dean Camera [Thu, 22 Jul 2010 07:19:41 +0000 (07:19 +0000)]
Added start of a low level device Test and Measurement class demo (thanks to Peter Lawrence).
Dean Camera [Thu, 22 Jul 2010 05:00:39 +0000 (05:00 +0000)]
Fix up minor whitespace formatting errors.
Dean Camera [Wed, 21 Jul 2010 16:19:32 +0000 (16:19 +0000)]
Update all demos, projects and bootloaders to indent all function parameters, one per line, for better readability.
Add missing const qualifiers to the demos.
Dean Camera [Wed, 21 Jul 2010 14:17:18 +0000 (14:17 +0000)]
Replace internal Pipe_BytesToEPSizeMask() routine with a new version which results in smaller code.
Dean Camera [Wed, 21 Jul 2010 14:00:51 +0000 (14:00 +0000)]
Add missing const qualifiers to class drivers.
Indent core library function parameters so that there is only one parameter per line, to increase readability.
Dean Camera [Wed, 21 Jul 2010 12:20:34 +0000 (12:20 +0000)]
Move and rename DevChaper9.c/.h and HostChapter9.c/.h to the HighLevel directory, new named DeviceStandardReq.c/.h and HostStandardReq.c/.h.
Rename LowLevel.c/.h to USBController.c/.h.
Remove dependancies on the complete <avr/io.h> header in the HighLevel USB driver directory, to ensure less work is required in later (possible) ports.
Dean Camera [Wed, 21 Jul 2010 05:39:29 +0000 (05:39 +0000)]
Add missing const qualifier to the parameters of the USB_GetNextDescriptorComp() function.
Reduce spacing of the structure elements in StdDescriptors.h to make the code more readable.
Dean Camera [Tue, 20 Jul 2010 06:59:13 +0000 (06:59 +0000)]
Fixed MIDI_Device_SendEventPacket() not correctly waiting for the endpoint to become ready (thanks to Robin Green).
Dean Camera [Mon, 19 Jul 2010 14:00:44 +0000 (14:00 +0000)]
Update makefiles to use the latest WinAVR/Atmel toolchain makefile template.
Add new module source variables to the library core makefile, so that module sources can be added to a project's makefile on a per-module rather than per-file basis.
Dean Camera [Sun, 18 Jul 2010 07:31:57 +0000 (07:31 +0000)]
Change over all makefiles to use C99 standards mode, rather than C99 + GNU Extensions.
Dean Camera [Thu, 15 Jul 2010 17:13:33 +0000 (17:13 +0000)]
Disable strict aliasing explicitly in the project makefiles, as this is apparently enabled by default in newer AVR-GCC builds, and aliasing is used heavily for type-punning through the LUFA and third party library's codebase.
Dean Camera [Thu, 15 Jul 2010 16:45:26 +0000 (16:45 +0000)]
Removed the automated checking of event names in the demo, project and bootloader makefiles due to inconsistancies between the behaviour of the command line tools used to perform the check on each platform.
Removed the internal endpoint and pipe memory allocation macros, as this is already performed directly in the code. Simplify the endpoint and pipe reset procedure.
Dean Camera [Thu, 15 Jul 2010 11:01:31 +0000 (11:01 +0000)]
Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project.
Dean Camera [Thu, 15 Jul 2010 10:34:29 +0000 (10:34 +0000)]
Fix pointer aliasing warning in the Mass Storage demos.
Dean Camera [Thu, 15 Jul 2010 04:45:31 +0000 (04:45 +0000)]
Fixed possible buffer overrun in the XPLAINBridge project when in serial bridge mode.
Dean Camera [Thu, 15 Jul 2010 01:42:36 +0000 (01:42 +0000)]
Fixed HID device class driver still using PrevReportINBuffer for GetReport control requests even when it has been set to NULL by the user application (thanks to Axel Rohde).
Dean Camera [Tue, 13 Jul 2010 14:17:18 +0000 (14:17 +0000)]
Change AVRISP-MKII and XPLAINBridge descriptors to indicate that the device is bus-powered only. Add compile time options to reduce the compiled size of the firmware.
Dean Camera [Tue, 13 Jul 2010 11:26:03 +0000 (11:26 +0000)]
Remove the timeout period extension code from the AVRISP project, as no single command should ever exceed the maximum timeout period. Extend timeout period to 1 second per command, so that an accidental timeout will never occur.
Dean Camera [Tue, 13 Jul 2010 10:01:13 +0000 (10:01 +0000)]
Added const attributes to some of the class driver function parameters that were missing it.
Dean Camera [Tue, 13 Jul 2010 05:38:51 +0000 (05:38 +0000)]
Add AVRStudio 4 project files to the ClassDriver Device mode demos.
Dean Camera [Tue, 13 Jul 2010 05:20:49 +0000 (05:20 +0000)]
Add AVRStudio 4 project files to the LowLevel Device mode demos.
Dean Camera [Tue, 13 Jul 2010 05:11:23 +0000 (05:11 +0000)]
Add AVRStudio 4 project files to the ClassDriver Host mode demos.
Dean Camera [Tue, 13 Jul 2010 05:01:18 +0000 (05:01 +0000)]
Add AVRStudio 4 project files to the LowLevel Host mode demos.
Dean Camera [Tue, 13 Jul 2010 04:43:38 +0000 (04:43 +0000)]
Add AVRStudio 4 project files for the library bootloaders.
Dean Camera [Tue, 13 Jul 2010 04:39:54 +0000 (04:39 +0000)]
Add remaining AVRStudio project files to the library projects.
Dean Camera [Tue, 13 Jul 2010 04:32:33 +0000 (04:32 +0000)]
Add first lot of AVRStudio project files for some of the library projects.
Dean Camera [Tue, 13 Jul 2010 04:16:23 +0000 (04:16 +0000)]
Rename the AVRISP main source files to AVRISP-MKII so that it matches the project name. Add AVRStudio project file for the AVRISP-MKII project.
Dean Camera [Mon, 12 Jul 2010 10:20:38 +0000 (10:20 +0000)]
Add missing eol-style properties to new source files.
Dean Camera [Mon, 12 Jul 2010 10:18:18 +0000 (10:18 +0000)]
Add missing clean_doxygen phony targets to the project makefiles.
Dean Camera [Mon, 12 Jul 2010 07:11:50 +0000 (07:11 +0000)]
Reduce prescaler of the flush timer in the USBtoSerial demo, so that buffer overruns will not occur regardless of hardware and baud rate settings.
Dean Camera [Mon, 12 Jul 2010 07:04:19 +0000 (07:04 +0000)]
Alter the ring buffer library headers to have both atomic and non-atomic insertion/removal routines. Modify the existing projects so that buffer operations performed in an ISR use the shorted non-atomic versions, as they are already performed in a blocking ISR.
Alter USBtoSerial demo so that it does not enter a blocking loop to send data from the USB to the USART, as this can cause dropped bytes in the reception code if large amounts of data are sent in both directions at the same time. Added a flush timer to the USBtoSerial code for the USART to USB interface, so that multiple bytes can be sent in the same USB packet.
Dean Camera [Mon, 12 Jul 2010 02:23:11 +0000 (02:23 +0000)]
Add glitch protection to the software UART in the XPLAINBridge project code, so that very short glitches on the RX line don't cause a frame reception to occur.
Dean Camera [Sun, 11 Jul 2010 14:14:08 +0000 (14:14 +0000)]
Major changes to the XPLAINBridge software UART code for performance and reliability. New code reduces the number of missed characters and misread characters.
Dean Camera [Sun, 11 Jul 2010 08:11:25 +0000 (08:11 +0000)]
Correct misspellings in the Bluetooth demo code.
Dean Camera [Sun, 11 Jul 2010 07:59:15 +0000 (07:59 +0000)]
Add more doxygen function documentation to the RFCOMM layer.
Dean Camera [Sun, 11 Jul 2010 07:38:18 +0000 (07:38 +0000)]
Oops - ACL layer Bluetooth_SendPacket() function should check and allow NULL channels, since that indicates a control channel request.
Fix up Doxgen documentation for the Bluetooth stack code.
Dean Camera [Sun, 11 Jul 2010 07:29:27 +0000 (07:29 +0000)]
Rename Bluetooth stack function parameters to clearly indicate what sort of Bluetooth channel (ACL, RFCOMM) is required for each parameter, to make the code easier to read.
Add a new RFCOMM_ChannelSignalsReceived() Bluetooth stack callback from the RFCOMM layer for when the remote device sends new terminal control signals.
Fix RFCOMM_SendData() not aborting correctly when the requested RFCOMM channel is not found.
Dean Camera [Fri, 9 Jul 2010 07:44:08 +0000 (07:44 +0000)]
Oops - fix errors in the MassStorageKeyboard SCSI driver file due to incorrect copy/paste.
Dean Camera [Fri, 9 Jul 2010 07:24:34 +0000 (07:24 +0000)]
Rewrote the implementation of the SwapEndian_16() and SwapEndian_32() functions so that they compile down in most instances to minimal loads and stores rather than complicated shifts.
Fixed SCSI.c implementations of all the demos/projects casting the block count to a 32-bit temporary before calling SwapEndian_16().
Dean Camera [Thu, 8 Jul 2010 08:48:52 +0000 (08:48 +0000)]
Add a new RFCOMM_ChannelOpened() callback event for when logical RFCOMM channels are opened in the BluetoothHost demo. Make the demo echo back sent characters to the remote device.
Dean Camera [Thu, 8 Jul 2010 08:05:14 +0000 (08:05 +0000)]
Add a new RFCOMM service callback for when new data has been received on a valid RFCOMM channel.
Dean Camera [Thu, 8 Jul 2010 07:44:07 +0000 (07:44 +0000)]
Move out Bluetooth stack callback functions to a seperate BluetoothEvents.c/.h set of files for clarity in the Incomplete BluetoothHost demo. Add a new stack callback for opened ACL channels, make the demo save the RFCOMM channel when opened so that it does not have to search for it on each iteration of the main program loop.
Dean Camera [Tue, 6 Jul 2010 07:07:54 +0000 (07:07 +0000)]
Make main readme file easier to read, and make documentation build instructions clearer.
Dean Camera [Sun, 4 Jul 2010 14:31:18 +0000 (14:31 +0000)]
Improve commenting of the Dataflash stub board driver file, to prevent confusion of what the dataflash selection masks need to be. Update stub driver to automatically interleave data between the chips if two Dataflash chips are present.
Dean Camera [Fri, 2 Jul 2010 03:37:19 +0000 (03:37 +0000)]
Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific functions that are more complicated than simple macros. Moved USB_Device_SendRemoteWakeup() to the new Device.c source file and corrected it to unfreeze and restart the USB controller clock before issuing a Remote Wakeup request.
Removed the USB_Device_IsRemoteWakeupSent() and USB_Device_IsUSBSuspended() macros, as they are now obsolete.
Dean Camera [Fri, 2 Jul 2010 03:06:16 +0000 (03:06 +0000)]
Move out RFCOMM channel structure init code to a seperate routine, to save on compiled code space and to prevent copy-paste errors.
Dean Camera [Tue, 29 Jun 2010 04:40:02 +0000 (04:40 +0000)]
Add RFCOMM service routine, to send pending configuration requests on RFCOMM channels. Add in RFCOMM channel config flags, to determine which configuration commands have been sent and received.
Add a new RFCOMM_SendChannelSignals() function to transmit a change in V24 terminal handshake lines to the receiving device.
Prevent SABM packets sent to the control DLCI in the RFCOMM layer from creating a new channel entry, as the control DLCI does not have connection data associated with it.
Fix up MSC control packet handling so that received responses can be acknowledged correctly, so that the RFCOMM layer can record when the receiving device has ACKed a sent change in V24 terminal handshake lines.
Dean Camera [Sat, 26 Jun 2010 15:07:13 +0000 (15:07 +0000)]
Make Bluetooth ACL channel searches skip over closed (invalid) channels. RFCOMM channels are considered invalid when the channel state is closed, not when the DLCI is zero - fix incorrect code.
Dean Camera [Fri, 25 Jun 2010 13:28:34 +0000 (13:28 +0000)]
Add default "all" makefile targets to the demo tree makefiles.
Dean Camera [Fri, 25 Jun 2010 13:19:05 +0000 (13:19 +0000)]
Make loops in AVRISP-MKII Clone project's XPROG protocol infinite rather than looping on the timeout value, as this is already checked inside the loop anyway.
Dean Camera [Fri, 25 Jun 2010 09:49:46 +0000 (09:49 +0000)]
Fix Doxygen formatting of parameters for the CALLBACK_HID_Device_CreateHIDReport() function in the ClassDriver HID device demos.
Dean Camera [Thu, 24 Jun 2010 08:12:27 +0000 (08:12 +0000)]
Make XPLAINBridge serial bridge much more reliable for the reception of characters from the XMEGA through the software UART interface.
Dean Camera [Thu, 24 Jun 2010 07:42:18 +0000 (07:42 +0000)]
Maximise the size of the ring buffers in the Benito/XPLAINBridge/USBtoSerial projects, so that they should never become full under normal conditions.
Dean Camera [Wed, 23 Jun 2010 08:10:21 +0000 (08:10 +0000)]
Split RFCOMM channel signals into Remote and Local pairs. Use memcpy() to copy over data from the command parameters to the RFCOMM response parameters.
Ensure that only the valid parameter bytes are sent back in response to MSC commands.
Dean Camera [Wed, 23 Jun 2010 07:17:47 +0000 (07:17 +0000)]
Add TEST RFCOMM command handler. Remove the RFCOMM channel UseUIFrame element, as the Bluetooth adaptions to RFCOMM only allow UIH frames to be used.
Dean Camera [Tue, 22 Jun 2010 07:55:02 +0000 (07:55 +0000)]
Use a bitmask instead of an array of bools in the SDP UUID List matching algorithm to reduce the compiled code size and stack used.
Dean Camera [Tue, 22 Jun 2010 07:06:27 +0000 (07:06 +0000)]
Added new pgm_read_ptr() macro to Common.h for reading of pointers out of flash memory space.
Added new SWAPENDIAN_16() and SWAPENDIAN_32() macros to Common.h for statically initialized variables at compile time.
Dean Camera [Mon, 21 Jun 2010 13:39:56 +0000 (13:39 +0000)]
Moved calls to V2Params_UpdateParamValues() out of the main AVRISP-MKII and XPLAINBridge project loops and into the AVRISP management function.
Dean Camera [Thu, 17 Jun 2010 09:17:09 +0000 (09:17 +0000)]
Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project.
Dean Camera [Thu, 17 Jun 2010 08:15:58 +0000 (08:15 +0000)]
Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT().
Minor tweaks to the library documentation.
Dean Camera [Wed, 16 Jun 2010 11:46:42 +0000 (11:46 +0000)]
Fix compile and Doxygen errors due to the spell-check changes in the source code.
Dean Camera [Wed, 16 Jun 2010 11:01:01 +0000 (11:01 +0000)]
Spell check code and manual pages. Remove custom Doxygen CSS stylesheet, as the new 1.7 Doxygen's default stylesheet is much better.