Dean Camera
dfe50ff349
Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project.
15 years ago
Dean Camera
e2e1fe5aad
Fixed possible buffer overrun in the XPLAINBridge project when in serial bridge mode.
15 years ago
Dean Camera
0bcc82ac28
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.
15 years ago
Dean Camera
3fd246041b
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.
15 years ago
Dean Camera
229935184b
Major changes to the XPLAINBridge software UART code for performance and reliability. New code reduces the number of missed characters and misread characters.
15 years ago
Dean Camera
8b053d6ba5
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.
15 years ago
Dean Camera
988604b25d
Moved calls to V2Params_UpdateParamValues() out of the main AVRISP-MKII and XPLAINBridge project loops and into the AVRISP management function.
15 years ago
Dean Camera
711542ee89
Spell check code and manual pages. Remove custom Doxygen CSS stylesheet, as the new 1.7 Doxygen's default stylesheet is much better.
15 years ago
Dean Camera
d57e7369a2
Oops - temp code left in the XPLAINBridge project which prevented it from entering programmer mode.
15 years ago
Dean Camera
036a156ff4
Slight improvements to the reliability of the software UART in the XPLAINBridge project.
15 years ago
Dean Camera
3b95b8dedc
Added new VTARGET_REF_VOLTS and VTARGET_SCALE_FACTOR compile time defines to the AVRISP-MKII programmer project to set the VTARGET reference voltage and scale factor.
...
Fixed XPLAINBridge project not correctly reading the XMEGA's supply voltage when reporting back to the host.
15 years ago
Dean Camera
8d993afc53
Replace ring buffer library in Benito and USBtoSerial projects with the new lightweight ring buffer header to improve reliability.
15 years ago
Dean Camera
1c407b9669
Switch software UART over to timer 1 and remove timer prescaling to try to prevent integer rounding errors and thus minimize the possible error of the UART code.
15 years ago
Dean Camera
f64e3db07a
Rename software USART driver globals to make the code more in line with the rest of the XPLAINBridge project.
15 years ago
Dean Camera
79742c5d24
Make software USART used in the XPLAINBridge project directly check and store into the ring buffers, rather than polling from the main program loop to avoid added latency.
15 years ago
Dean Camera
9b29d1dc50
Create a new LightweightRingBuffer.h header file for the XPLAIN project to abstract out the new ring buffer without a performance penalty.
15 years ago
Dean Camera
9c037a952f
The RingBuff library code has been replaced in the XPLAINBridge project with an ultra lightweight buffer to help improve the reliability of the bridge.
15 years ago
Dean Camera
d3c623e1e1
The LIBUSB_FILTERDRV_COMPAT compile time option in the XPLAINBridge and AVRISP-MKII projects has been renamed LIBUSB_DRIVER_COMPAT, as it applies to all software on all platforms using the libUSB driver.
...
Fix Benito makefile which was accidentally changed during testing.
15 years ago
Dean Camera
071e02c6b6
Add svn:eol-style property to source files, so that the line endings are correctly converted to the target system's native end of line style.
15 years ago
Dean Camera
59c4871f80
USB_Init() no longer calls sei() to enable global interrupts - this must now be done in the user application once all init code has run.
15 years ago
Dean Camera
ee74b4948f
Add information request/response signal handler to the Bluetooth Host demo.
...
Ensure that the AVRISP-MKII project's Windows avrdude compatibility define is named properly in all parts of the code.
15 years ago
Dean Camera
c9148f9b47
Added WIN_LIBUSB_COMPAT compile time option to the AVRISP programmer project to make the code compatible with Windows builds of avrdude at the expense of AVRStudio compatibility.
15 years ago
Dean Camera
5227ca4ce2
Double bank CDC endpoints in the XPLAIN Bridge project, re-enable JTAG once the mode selection pin has been sampled.
15 years ago
Dean Camera
c77b30e9e6
Clean up XPLAINBridge code.
15 years ago
Dean Camera
60fd0ff418
Changed XPLAINBridge project to be both a USB to USART bridge and a PDI programmer, based on the state of a mode select pin.
16 years ago
Dean Camera
7f9f97c792
Update copyright year to 2010.
16 years ago
Dean Camera
d4ca7fb44c
Fix MIT license language to make its intent clearer.
16 years ago
Dean Camera
fec31947a6
Removed John Steggall's software UART code from the XPLAIN Bridge project due to reliability issues.
16 years ago
Dean Camera
e5057fec8e
Enable pullup on the PD5 pin of the AVR in the XPLAINBridge project - this is connected to the XMEGA's /RESET line, need to enable pullup to prevent spurrious resets.
16 years ago
Dean Camera
8c6c27d88b
Added new RNDISHost Host LowLevel demo. Fixed misnamed Pipe_SetPipeToken() macro for setting a pipe's direction. Fixed CDCHost failing on devices with bidirectional endpoints.
16 years ago
Dean Camera
c05c7c7df4
Added new XPLAIN serial Bridge project (thanks to John Steggall for the software UART code).
16 years ago
Dean Camera
f7ab433c67
Add optional double-banking support to the Device mode Class Drivers, on a per-endpoint, per-interface level.
16 years ago
Dean Camera
c5038f1bf4
Renamed all library events to properly seperate out Device and Host mode events. Changed the firing conditions for some events to ensure that events are fired by their own USB mode only.
...
Remove VBUS events - not needed as the library takes care of VBUS detection and feedback on supported AVRs via the USB_Device_Connected and USB_Device_Disconnected events.
Fixed incorrect Host state assignment in the incomplete BluetoothHost demo.
16 years ago
Dean Camera
864196c884
State information for class drivers is now zeroed out during enumeration (both in device and host mode) to ensure sane values after each enumeration. User code should no longer explicitly set state information as this is no longer preserved.
16 years ago
Dean Camera
f896c00c48
Break device mode class driver interfaces into seperate config and state structs which are then combined, for clarity. Move device mode class driver interfaces back into the device mode class driver headers from the common class headers to make room for host class interfaces.
16 years ago
Dean Camera
9798440ca4
Changed to new device mode Class Driver function name prefixes to make way for similar host mode Class drivers.
16 years ago
Dean Camera
b2330934b9
Some minor whitespace corrections.
16 years ago
Dean Camera
b9b03aadb2
Move new Class Driver powered demos to a new ClassDriver subdirectory, re-add old low level demos to a LowLevel subdirectory.
16 years ago
Dean Camera
a67bd74e3e
Minor documentation page updates.
...
Redocumented all device demos, now that they have changed over to the new USB class drivers.
Added C linkage to class drivers for C++ support.
Added prefixes to most of the class driver constants to prevent name clashes.
16 years ago
Dean Camera
d1e5266036
Commit of new class abstraction APIs for all device demos other than the MIDI demo - not documented yet.
...
Removed scheduler and memory allocation libraries.
Added new EVENT_USB_StartOfFrame event in the library to indicate the start of each USB frame (when generated).
Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt.
16 years ago
Dean Camera
2ee9fc7077
Rewritten event system to remove all macros, to make user code clearer.
...
Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley).
Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code.
Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code.
16 years ago
Dean Camera
fabfdd454a
Fixed CDCHost not clearing configured endpoints and resetting configured endpoints mask when a partially enumerated invalid CDC interface is skipped.
16 years ago
Dean Camera
e0985b9950
Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data.
...
Fixed documentation showing incorrect USB mode support on the supported AVRs list.
16 years ago
Dean Camera
c20a94a4e8
Fixed USB_RemoteWakeupEnabled flag never being set (the REMOTE WAKEUP Set Feature request was not being handled).
...
Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE.
16 years ago
Dean Camera
d860e9e842
USB_HostRequest renamed to USB_ControlRequest, entire control request header is now read into USB_ControlRequest in Device mode rather than having the library pass only partially read header data to the application.
...
The USB_UnhandledControlPacket event has had its parameters removed, in favour of accessing the new USB_ControlRequest structure.
The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent.
16 years ago
Dean Camera
e5e7eaee7a
Removed specialized Endpoint_ClearControl* and Pipe_ClearControl* macros in favour of the standard Endpoint_Clear* and Pipe_Clear* macros (Atmel have confirmed no effect from setting FIFOCON on control endpoints).
16 years ago
Dean Camera
37b2130fb2
Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander).
16 years ago
Dean Camera
8f6b4ddf76
Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei Krainev).
...
Removed Endpoint_ClearCurrentBank() and Pipe_ClearCurrentBank() in favour of new Endpoint_ClearIN(), Endpoint_ClearOUT(), Endpoint_ClearControlIN(), Endpoint_ClearControlOUT(), Pipe_ClearIN(), Pipe_ClearOUT(), Pipe_ClearControlIN() and Pipe_ClearControlOUT() macros (done to allow for the detection of packets of zero length).
Renamed *_ReadWriteAllowed() macros to *_IsReadWriteAllowed() to remain consistent with the rest of the LUFA API.
Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(), Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe bank management API.
Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel).
Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity.
Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity.
Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway.
16 years ago
Dean Camera
af02b5b0c9
Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan).
...
Fixed WriteNextReport code in the GenericHIDHost demo using incorrect parameter types and not selecting the correct endpoint.
16 years ago
Dean Camera
cb7884da50
Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to outdated avr-libc versions.
16 years ago