Commit Graph

1051 Commits (a4d67bb6ffea688e8a25d5fd4692e569ca98f2f4)

Author SHA1 Message Date
Dean Camera 66c38cd940 Added TWI baud rate prescaler and bit length parameters to the TWI_Init() function (thanks to Thomas Herlinghaus). 15 years ago
Dean Camera 6f01b6afd5 More UC3B architecture port updates. 15 years ago
Dean Camera a318f32b31 Update board driver common APIs to use uint_reg_t. 15 years ago
Dean Camera 86be7f9330 Fix incorrect Doxygen grouping in the incomplete AVR32 UC3B architecture port. 15 years ago
Dean Camera 3a00e41639 Make sure the peripheral driver .c files include the driver dispatch header, rather than the architecture specific header files. 15 years ago
Dean Camera b6a3c78fa3 Rename architecture specific driver files, to make them appear with uniquely identifying filenames in the documentation. 15 years ago
Dean Camera cad5e9ffca Added start of a port of the core USB driver code to the AVR32 UC3B architecture. 15 years ago
Dean Camera f3ec62b5c6 More updates to remove architecture-specific comments from the documentation, alter USBMode.h preprocessor logic to support future architectures more easily. 15 years ago
Dean Camera 28a1ee29a1 More Doxygen updates for multiple architecture support. 15 years ago
Dean Camera 5e73190582 Start update of documentation to support possible multiple architectures in the future - alter \file documentation to automatically copy in the module documentation where possible. 15 years ago
Dean Camera 1daa5e16f9 Initial restructuring of the core USB driver module to support multiple architectures in the future. 15 years ago
Dean Camera 3832182fe1 Fix documentation glitches from the restructuring changes. 15 years ago
Dean Camera e0a3f26978 Move out Dataflash IC command constants headers into the general LUFA/Drivers/Misc/ directory rather than duplicating them inside the individual board driver folders. 15 years ago
Dean Camera 3d4d8e7f62 Add new ARCH option to the makefiles to (eventually) specify the target device architecture. Update non-usb peripheral drivers to reflect future multiple architecture support. 15 years ago
Dean Camera 100a197d0e Reduced latency for executing the Start-Of-Frame events (if enabled in the user application). 15 years ago
Dean Camera e4f3d9957e Fix non-ASCII characters breaking LaTex documentation builds. 15 years ago
Dean Camera 4344b0621d Added board driver support for the Sparkfun ATMEGA8U2 breakout board. 15 years ago
Dean Camera 0019fbd129 Add more const-ness to the stream endpoint/pipe functions where possible. 15 years ago
Dean Camera 272d446d32 Fix include path in the library RingBuffer.h header file. 15 years ago
Dean Camera 3d232953d9 Fix typos in the HID class bootloader makefile. 15 years ago
Dean Camera 782614dbb5 Add static keyword to all project globals whose scope should be restricted to the same module as they are declared in.
Tighten up the HID class bootloader code slightly, document that it currently exceeds 2KB of bootloader space for all models other than the Series 2 USB AVRs.
15 years ago
Dean Camera 7d823d926f Update HID bootloader loader application to support the VID/PID used by the bootloader. 15 years ago
Dean Camera cae0fa73d7 Added HID class bootloader, compatible with a modified version of the command line Teensy loader from PJRC.com. 15 years ago
Dean Camera 088bfb10b2 Change bootloader makefiles to automatically compute the bootloader starting address from a flash size and bootloader section size, expressed in KB. 15 years ago
Dean Camera 279e1b6ece Fixed programming errors in the AVRISP-MKII project when the programming packet is a round multiple of the endpoint bank size under avrdude (thanks to Steffan Woltjer). 15 years ago
Dean Camera 73718d7c57 Fixed incorect BUTTONS_BUTTON1 definition for the Minimus board. 15 years ago
Dean Camera 43b9d552bb Renamed all driver termination *_ShutDown() functions to the more logical name *_Disable(). 15 years ago
Dean Camera 43c4735305 Renamed the PRNT_Host_SendString(), CDC_Host_SendString() and CDC_Device_SendString() functions to *_SendData(), and added new versions of the *_SendString() routines that expect a null terminated string instead.
Added new Serial_SendData() function to the Serial driver.
15 years ago
Dean Camera afd828c095 Removed SerialStream module, rolled functionality into the base USART Serial peripheral driver instead through the new Serial_CreateStream() and Serial_CreateBlockingStream() methods.
Renamed the Serial byte send/receive functions to remain consistent with the CDC driver's byte functions.

Altered the serial byte receive function to make it non-blocking.
15 years ago
Dean Camera 30f6d2bfd8 Oops - forgot to add in LOGICAL MINIMUM and LOGICAL MAXIMUM report items into the standard library Joystick HID report descriptor macro. Add in support for joystick resolution reporting via PHYSICAL_MINIMUM and PHYSICAL_MAXIMUM items. 15 years ago
Dean Camera e6dc951630 Add new HID_DESCRIPTOR_VENDOR() macro, change over all projects and Device ClassDriver demos to use it.
Fix reversed byte ordering of multi-byte HID data.

Added support to the HID parser for extended USAGE items that contain the usage page as well as the usage index.

Removed the HID_IOF_NON_VOLATILE and HID_IOF_VOLATILE flags from HID INPUT items where the flag is invalid. Changed over HID OUTPUT items to use HID_IOF_NON_VOLATILE.

Change over MagStripe project to use HID_DESCRIPTOR_KEYBOARD() for its HID report. Change over MouseHostDevice demo to use HID_DESCRIPTOR_MOUSE() for its HID report.
15 years ago
Dean Camera a852ea8e43 Added new KeyboardMouseMultiReport Device ClassDriver demo.
Fixed ReportID not being removed from the feature/out report data array in the HID class driver when Report IDs are used.

Added new MAX() and MIN() convenience macros.
15 years ago
Dean Camera 6c7ed7ecd6 Added new HID_DESCRIPTOR_MOUSE, HID_DESCRIPTOR_KEYBOARD and HID_DESCRIPTOR_JOYSTICK macros for easy automatic creation of basic USB HID device reports. 15 years ago
Dean Camera 6d67b1df3c Change over Joystick demo HID report descriptor to use USAGE_MINIMUM and USAGE_MAXIMUM when describing the joystick buttons, to allow for easy extension of the number of supported buttons. 15 years ago
Dean Camera 26017b68b0 Changed AVRISP-MKII project to use the Watchdog interrupt for command timeouts, to reduce CPU usage and free timer 0 for other uses in the future. 15 years ago
Dean Camera ef44b8c036 Fixed incorrect definition of the HID_KEYBOARD_SC_RIGHT_ARROW constant in the HID class driver (thanks to Joby Taffey).
Add in newHID_KEYBOARD_SC_POWER keyboard scancode constant.
15 years ago
Dean Camera efd57cfe51 Abuse the the C preprocessor so that the HID macros can automatically encode data into the array from the HID macros automagically, by specifying the bit-width of the data, and the data itself as a single integer value of that width. 15 years ago
Dean Camera 47fec03694 Fixed several functions in the Host mode Still Image Class driver returning an error code from the incorrect error code enum (thanks to Daniel Seibert). 15 years ago
Dean Camera 787869c2fd Minor documentation corrections for the new HID report item constant defines. 15 years ago
Dean Camera 039a714ee4 New HID report item macros (with HID_RI_ prefix) to allow for easy creation and editing of HID report descriptors.
Changed over all project and demo HID report descriptors to use the new HID report item macros.

Moved the HIDParser.c source file to the LUFA/Drivers/USB/Class/Common/ directory from the LUFA/Drivers/USB/Class/Host/.
15 years ago
Dean Camera 32830a2b82 Added new ADC_GET_CHANNEL_MASK() convenience macro to the ADC driver. 15 years ago
Dean Camera 70d55f6e0c Added new high level TWI packet read/write commands, altered behaviour of the TWI_StartTransmission() function.
Spell check source code files.
15 years ago
Dean Camera 7776aa4e2e Changed TempDataLogger project's DS1307 driver to simplify the function interface and prevent a possible race condition. 15 years ago
Dean Camera 187ccb2e15 Fix typos and outdated information. 15 years ago
Dean Camera 154f934b22 Call USB_USBTask() in the Endpoint stream functions between packets if INTERRUPT_CONTROL_ENDPOINT is not set. Remove calls to USB_USBTask in the Mass Storage class driver stream read/write continuation checks, since this is now done inside the stream function. 15 years ago
Dean Camera f555ad7ced 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).
15 years ago
Dean Camera 477a2047f4 Oops - fix type preventing compilation of demos using the class drivers. 15 years ago
Dean Camera 7dc3d3a68f Minor documentation improvements. 15 years ago
Dean Camera d126146887 The FAST_STREAM_TRANSFERS compile time option has been removed due to lack of use and low cost/benefit ratio.
Add GCC_FORCE_POINTER_ACCESS() macro use to the RingBuffer library header, to attempt to force GCC into producing more efficient code for manipulating the buffers.
15 years ago
Dean Camera 1c74fd78bd Add custom footer to the main library documentation. 15 years ago
Dean Camera a49b5bfd8a Update Doxygen documentation configuration file for the main project documentation to the latest version. Add missing data structure documentation briefs. 15 years ago
Dean Camera 1d433d4506 Update copyright year on all source files. 15 years ago
Dean Camera b8fd4dd51c Fixed incorrect byte ordering in the Audio_Device_WriteSample24 function (thanks to WZab). 15 years ago
Dean Camera 64fe1cd0b2 Rename RingBuffer header functions and typedefs from RingBuff_* to RingBuffer_* so that it matches the header name. 15 years ago
Dean Camera cb9ef559a0 Fixed inverted Minimus board LEDs. 15 years ago
Dean Camera 6026b9128b Fix compile errors from the changes to the SerialStream and board Temperature drivers. 15 years ago
Dean Camera c05e7cd7d9 More minor documentation corrections. 15 years ago
Dean Camera a8b66f318d Documentation improvements - put driver example code into its own section, fix incorrect and missing section names. 15 years ago
Dean Camera 2073b96d82 Added basic driver example use code to the library documentation.
Made the USARTStream global 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.
15 years ago
Dean Camera 39ac72f2d1 Make a new general RingBuffer.h misc library driver, instead of the per-application LightweightRingBuff.h ring buffers. Change over projects to use the new driver.
Add ORDERED_EP_CONFIG to the device Projects (only) that use only a single class driver, or where the endpoint ordering is fixed, to save on compiled binary size.

Added new GCC_FORCE_POINTER_ACCESS() macro to correct GCC's mishandling of struct pointers.
15 years ago
Dean Camera 12418e6eaf Combined page and word ISP programming mode code in the AVRISP-MKII clone project to reduce compiled size and increase maintainability of the code. 15 years ago
Dean Camera 958b20a8ef 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. 15 years ago
Dean Camera bfa622d27e Much more efficient algorithm for the Endpoint/Pipe configuration routine of unordered endpoints/pipes - only reconfigure the endpoints and pipes above the newly configured endpoint/pipe, and don't cache existing endpoint/pipe configuration before use to save SRAM. 15 years ago
Dean Camera ec537fd84d Re-add in old Endpoint/Pipe workaround for unordered pipes - add new ORDERED_EP_CONFIG compile time option to override the workaround and use the previous behaviour that imposes correct Endpoint/Pipe ordering but produces smaller compiled code. 15 years ago
Dean Camera a57287a59f Fix a few more incorrectly ordered endpoint initialisations in the device demos. 15 years ago
Dean Camera cbafc306b2 Fixed incorrect endpoint initialisation order in the LowLevel DualVirtualSerial demo (thanks to Rick Drolet). 15 years ago
Dean Camera 0aa950c241 Fixed incorrect definition of the HID_KEYBOARD_SC_D constant in the HID class driver (thanks to Opendous Inc.).
Add extra comments to the ISPTarget.c source file in the AVRISP-MKII clone project.
15 years ago
Dean Camera 46677b4589 Fixed possible lost data in the XPLAINBridge, USBtoSerial and Benito projects when the host exceeds the packet timeout period on received packets as set by USB_STREAM_TIMEOUT_MS (thanks to Justin Rajewski). 15 years ago
Dean Camera b67f9f3669 Added new RingBuffer_Peek() function to the lightweight ring buffer headers. 15 years ago
Dean Camera 8a7351c760 Added new completed MIDIToneGenerator project. 15 years ago
Dean Camera b20d25854d Fixed HID hpst class driver incorrectly binding to HID devices that do not have an OUT endpoint. 15 years ago
Dean Camera ed9d77aeee Refactored Host mode Class Driver *_Host_ConfigurePipes() routines to be more space efficient when compiled.
Added new *_ENUMERROR_PipeConfigurationFailed error codes for the *_Host_ConfigurePipes() routines.
15 years ago
Dean Camera 1c74525d2f Fixed broken USBFOO board drivers due to missing BOARD_USBFOO define. 15 years ago
Dean Camera c879887dce Fixed broken HID_REQ_GetReport request handler in the Low Level GenericHID demo. 15 years ago
Dean Camera 82fa9149d7 Fixed broken DFU bootloader, added XPLAIN support for bootloader start when XCK jumpered to ground. 15 years ago
Dean Camera 9f7883fa2b Added ability to write protect Mass Storage disk write operations from the host OS. 15 years ago
Dean Camera b634ec50a0 Changed the XPLAINBridge software UART to use the regular CTC mode instead of the alternative CTC mode via the Input Capture register, to reduce user confusion. 15 years ago
Dean Camera 423d4018f0 Fixed Benito project discarding incoming data from the USB virtual serial port when the USART is busy.
Minor documentation improvements.
15 years ago
Dean Camera 0595ac27d5 Commit for 101122 release. 15 years ago
Dean Camera b87d0b45a2 Added board hardware driver support for the Microsin AVR-USB162 development board. 15 years ago
Dean Camera 55da77d85f Remove internal USB_Device_NibbleToASCII() function in favour of manually inlined code to prevent compilation errors in -O0 optimisation level. 15 years ago
Dean Camera 8f981b5f38 Better documentation for the ANSI terminal escape codes header.
Organise the current version changelog better to group core and non-core changes together.
15 years ago
Dean Camera 8f7437dda2 Rename incorrectly named XPROGTarget_SendBreak() function to XPROGTarget_SendIdle(), as it is sending idle bits and not break bits. 15 years ago
Dean Camera cbc00c843a Fixed AVRISP-MKII clone project not starting the target's program automatically after exiting TPI programming mode. 15 years ago
Dean Camera a9f313afa9 Slow AVRISP-MKII clone PDI/TPI programming speed back to 250KHz due to issues with the XPLAINBridge when PDI programming at faster rates.
Speed up XMEGANVM_WaitWhileNVMControllerBusy() by preloading the status register address into the pointer register of the target's NVM controller and then reading via a faster indirect load command.
15 years ago
Dean Camera 002cd6df49 Added new XCK_RESCUE_CLOCK_ENABLE compile time option to the AVRISP-MKII clone programmer project (thanks to Tom Light). 15 years ago
Dean Camera f2324fc2b4 Second patch to fix incorrect PDI/TPI programming speed. 15 years ago
Dean Camera d41cd9a41a Fixed PDI/TPI programming speed of ~250KHz in the AVRISP-MKII Clone project, instead of the desired 500KHz. 15 years ago
Dean Camera 50390867e7 Fixed incorrect PollingIntervalMS values in the demo/project/bootloader endpoint descriptors (thanks to MCS Electronics). 15 years ago
Dean Camera 622dc6486c Remove link to (now deleted) public Mercurial mirror in the documentation. 15 years ago
Dean Camera 0ce2950d81 Added board hardware driver support for the Adafruit U4 breakout board.
Fixed calculation of timer register reload values derived from F_CPU; must subtract one from the division result for the compare value to be correct.

Change AVRISP-MKII rescue clock speed to 4MHz to ensure that a 125KHz ISP speed works regardless of the target's fuses (i.e. DIV8 set).
15 years ago
Dean Camera bac860b173 Fixed broken input in the MagStripe reader project due to an incorrect HID report descriptor. 15 years ago
Dean Camera 210bd4db24 Fix documentation reference error. 15 years ago
Dean Camera fb76acb084 Renamed the EVENT_USB_Device_UnhandledControlRequest() event to EVENT_USB_Device_ControlRequest() as it is now fired before the library request handlers, not afterwards. 15 years ago
Dean Camera 85cf202737 Fixed USBtoSerial and XPLAINBridge demos discarding data from the PC if the send buffer becomes full. 15 years ago
Dean Camera 8f9b5ae00d Minor documentation improvements. 15 years ago
Dean Camera f275edf6eb Remove already implemented features from the Future Changes manual page. 15 years ago
Dean Camera ee495ca500 Fixed MIDI class driver send routines silently discarding packets if the endpoint or pipe is busy (thanks to Robin Green). 15 years ago
Dean Camera 5ce8380a7d Fix XPLAINBridge code broken during the changes to the Rescue Clock generation in the AVRISP-MKII clone project.
Change over all low level host mode project's descriptor comparator routines to perform the descriptor casting in a temp variable to make the code clearer and easier to modify (despite being more verbose).
15 years ago
Dean Camera 3bf760ad7d Rescue clock of the AVRISP-MKII moved to the AVR's OCR1A pin, so that the clock can be generated at all times when 125KHz ISP programming mode is selected. 15 years ago
Dean Camera 40db485c79 Rename new CDC class bootloader NO_LOCK_BYTE_SUPPORT compile time option to NO_LOCK_BYTE_WRITE_SUPPORT as reads are still permitted.
Clean up CDC bootloader command processing code.
15 years ago
Dean Camera 475323e400 Added new NO_BLOCK_SUPPORT, NO_EEPROM_BYTE_SUPPORT, NO_FLASH_BYTE_SUPPORT and NO_LOCK_BYTE_SUPPORT compile time options to the CDC class bootloader. 15 years ago
Dean Camera 46f2e488b0 Oops - typos in the naming of the NBUSYBK0 bits breaking the new busy bank counting functions. 15 years ago
Dean Camera cd57e855f6 Added new Pipe_GetBusyBanks(), Endpoint_GetBusyBanks() and Endpoint_AbortPendingIN() functions. 15 years ago
Dean Camera b8dfa976ce Added standard keyboard HID report scancode defines (thanks to László Monda). 15 years ago
Dean Camera 2d49c09b38 Move Set Feature and Clear Feature control request feature selector values into their own enum. 15 years ago
Dean Camera b120c4e4cd Move RNDISConstants.h into the RNDIS class driver common definition header.
Add logical grouping of related #define values for better Doxygen documentation.
15 years ago
Dean Camera cb779e3d7d Changed over www.fourwalledcubicle.com links to the new www.lufa-lib.org redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists. 15 years ago
Dean Camera 710f31c540 Added new NO_CLASS_DRIVER_AUTOFLUSH compile time option to disable automatic flushing of interfaces when the USB management tasks for each driver is called.
The MIDI class drivers now automatically flushes the MIDI interface when the MIDI class driver's USBTask() function is called.
15 years ago
Dean Camera 08de757811 Changed AudioInput and AudioOutput demos to reload the next sample via an interrupt rather than polling the sample timer. 15 years ago
Dean Camera 55538dcef3 Add descriptor class, subclass and protocol constants to the class drivers, modify all demos to use them where possible.
Move out private/internal host class driver constants to the common class driver headers, so that they can be used in the Low Level host mode demos.

Ensure all demos, projects and bootloaders use the class driver constants where possible to minimise code repetition.
15 years ago
Dean Camera b37d77eab3 All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included.
All LowLevel demos changed to use the constants and types defined in the USB class drivers.
15 years ago
Dean Camera 8f3bee7d86 Better algorithm to extract and convert the internal device serial number into a string descriptor (if present).
Fix incorrect warning text when an unsuitable F_CLOCK value is given.
15 years ago
Dean Camera 5517f96e86 Oops - fix broken SPI driver due to missing bit inversion on a port mask. 15 years ago
Dean Camera bd337aced3 Added default test tone generation mode to the Device mode AudioInput demos. 15 years ago
Dean Camera 06f222b3ed Added board hardware driver support for the Minimus board (thanks to the PSGroove team). 15 years ago
Dean Camera 9aa94fee81 Oops - add missing Maximus board LED hardware driver file. 15 years ago
Dean Camera b4a02fa29d Added board hardware driver support for the Maximus board (thanks to the PSGroove team). 15 years ago
Dean Camera cb298295fb Added board hardware driver support for the Blackcat USB JTAG board (thanks to the PSGroove team). 15 years ago
Dean Camera 9464fa168e Renamed ENDPOINT_DOUBLEBANK_SUPPORTED() to ENDPOINT_BANKS_SUPPORTED() and changed it to return the maximum number of supported banks for the given endpoint. 15 years ago
Dean Camera 31daf04c6a Fix SoftUART.c not compiling due to accidental check in of changes not yet complete in the rest of the XPLAINBridge project code. 15 years ago
Dean Camera 5a4def7478 Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda 15 years ago
Dean Camera a8871c7fba Fixed MIDI_Host_Flush() not aborting early when the specified MIDI host interface was not configured.
Small documentation improvements to explicitly reference tokens in Doxygen, to ensure that they are converted to cross-reference links in the output files.
15 years ago
Dean Camera 7aaced1e8b Remove USB_MODE_* macros, replace with a semantically linked USB_Modes_t enum.
Moved the USB device selection logic for ENDPOINT_TOTAL_ENDPOINTS further up in Endpoint.h to where the endpoint bank capabilities are determined, to reduce the total number of device-specific logic.

Change USB_Host_WaitMS() to test and disable the HSOFI interrupt before resuming the bus, so that it does not fire before the delay loop has run.

Add missing const qualifier to the parameter of USB_Host_ClearPipeStall().
15 years ago
Dean Camera c1cfffd8eb Fixed random enumeration failure while in device mode due to interrupts causing the Set Address request to exceed maximum timings. 15 years ago
Dean Camera bea72a8412 Minor documentation enhancements. 15 years ago
Dean Camera 292a631b62 Added new NO_SOF_EVENTS compile time option, enabled in the bootloaders to reduce the compiled binary size. 15 years ago
Dean Camera ccc82ce745 Added board hardware driver support for the Busware CUL V3 board.
Added SVN eol-style property to the library driver files that are missing it.
15 years ago
Dean Camera accadba2dd Fixed SPI driver not explicitly setting /SS and MISO pins as inputs when SPI_Init() is called. 15 years ago
Dean Camera 3ae9e6042f Cache the USB_DeviceState variable internally in the library core when multiple checks are required in a single loop iteration, to reduce compiled code size. 15 years ago
Dean Camera 93793679c9 Revert change to the AVRISP-MKII project for fuse byte programming via the CMDEX bit - this appears to be an error in the XMEGA manual external memory programming table. 15 years ago
Dean Camera a447ae134f Fixed broken lock byte programming in the AVRISP-MKII clone project for some XMEGA targets. 15 years ago
Dean Camera 824ce10390 Fixed broken FLASH/EEPROM programming in the AVRISP-MKII clone project when writing in non-paged mode and the polling byte cannot be used. 15 years ago
Dean Camera c8942ef469 Fixed LowLevel JoystickHostWithParser demo not saving the chosen HID interface's report descriptor size.
Simplified low level Host demo configuration descriptor parser routines.
15 years ago
Dean Camera d06febbb59 Fix device mode for the U4 parts. 15 years ago
Dean Camera 383d167125 Whitespace corrections.
Make Printer Host mode Class driver interface descriptor search routine pre-cast the current interface descriptor to simplify the value checks.
15 years ago
Dean Camera a1e453e900 Make Host mode Class drivers only set the class driver instance's state values once a compatible interface has been found within the device. 15 years ago
Dean Camera 86367574e6 Fix incorrectly named configuration descriptor callback routines in the host mode class drivers.
Fix typo in MIDI low level device demo.
15 years ago
Dean Camera 7166c7ba3e Fix low level host mode demos not correctly fetching the next endpoint when an invalid interface is discarded.
Update the pipe configuration routines in the host mode class drivers so that they use the same new code to enumerate compatible devices to increase reliability. Add support to the host mode class drivers for non-sequential (but non-overlapping with other interface) pipe numbers.
15 years ago
Dean Camera 158afe9109 Reverted Endpoint/Pipe non-sequential configuration hack, placed restriction on the configuration order instead to ensure maximum reliability.
Altered all low level device and host mode demos to ensure that endpoints and pipes are configured in ascending order properly.

Rewrote all low level host mode demos' configuration descriptor parser code to ensure that pipes are enumerated in ascending order, and to ensure maximum compatibility with devices.

Incremented all device mode demo's device descriptor revision numbers to ensure that any descriptor changes are re-fetched on machines which have enumerated previous versions.
15 years ago
Dean Camera a509729b2d Changed default value for the reset polarity parameter in the AVRISP-MKII project so that it defaults to active low drive.
Fixed incorrect USB_DeviceState value when unconfiguring the device without an address set.
15 years ago
Dean Camera c0e4f52e8f Fix up incorrect version numbers in demo/project descriptors.
Add class name prefixes to missed constants in the class drivers to give all class driver elements a consistent namespace.
15 years ago
Dean Camera 25d896a507 Added board hardware driver support for the Arduino Uno development board.
Fixed incorrect LEDs_ChangeLEDs() function in the Benito board LED driver.
15 years ago
Dean Camera b2a30cd48a Added CDC functional descriptor structs to the Low Level CDC demos and CDC class bootloader, to improve the readability of the descriptors.
Fixed BootloaderCDC project failing on some operating systems due to removed Line Encoding options (thanks to Alexey Belyaev).
15 years ago
Dean Camera 713670043a Move out many of the common class driver constants into grouped enums, to make them more managable.
Add new CDC descriptor structs to the CDC class driver, so that the CDC demos can use human readable field names.

Rename prefix for Still Image Host class driver functions from "SImage_" to "SI_" to remain consistent with the rest of the driver.
15 years ago
Dean Camera 800485bd95 Remove dfu-programmer program switches, to ensure maximum compatibility with all dfu-programmer versions. 15 years ago
Dean Camera bd85422d2b Added the --suppress-bootloader-mem option to the makefile dfu target, to ensure that writes to the bootloader section of the AVR's flash memory are ignored (thanks to Axel Rohde).
Fixed incorrect command name for EEPROM memory programming in the makefile dfu-ee target.

Makefile whitespace fixes.
15 years ago
Dean Camera b48095c0fb Fixed endpoint selection within the CALLBACK_HID_Device_CreateHIDReport() callback function causing broken GET REPORT requests.
Minor whitespace fixes.
15 years ago
Dean Camera 5f3c4cc6e0 Reverted modifications to USBInterrupt.h that were intefering with correct host mode operation.
Fixed SUSPI interrupt not being cleared during device mode enumeration, causing accidental mis-fires on re-enumeration.

Fixed JTAG_DEBUG_POINT() and JTAG_DEBUG_BREAK() macros not compiling under pure C99 standards mode.
15 years ago
Dean Camera c459ef6981 Oops - need to call USB_Attach() when reinitializing into USB Host mode, or no devices will be detected. 15 years ago
Dean Camera 5faa79a7b5 Fixed USB_Host_ClearPipeStall() incorrectly attempting to determine the endpoint's direction from the currently selected pipe. 15 years ago
Dean Camera ed7067e89f Rename internal suspend and wake up USB interrupt macros so that they follow the same naming scheme as the other USB ISR macros. 15 years ago
Dean Camera d66a925786 Make device mode configure the control endpoint even before the bus has been reset, so that the device will enumerate correctly on hosts that do not reset the device before initial use. 15 years ago
Dean Camera b17e87d140 More simplifications to USBController.c, fix errors and warnings when compiled for the series 2 USB AVRs. 15 years ago
Dean Camera 1621158c62 Fix warning when not compiled for UID auto-selection mode. 15 years ago
Dean Camera e7e1c21bc5 Clean up USBController.c/.h to more clearly seperate out host and device setup and reset paths.
Make USBInterrupt.c process all pending USB host mode interrupts before resetting the bus, so that no interrupts are lost when in UID auto-selection mode.
15 years ago
Dean Camera 01fecac0a7 Ensure device address latch bit is not set at the same time as the new address, as per datasheet.
Minor documentation fixes.

Fix broken USB host mode due to the USB frame counter not being updated during the early enumeration steps, causing USB_Host_DelayMS() to spinloop forever.
15 years ago
Dean Camera cce8760b91 Removed the EVENT_USB_InitFailure() event, as not specifying a USB mode to USB_Init() now defaults the controller into UID selection mode. 15 years ago
Dean Camera 0d57659fa6 Fix incorrect documentation on the Get Descriptor standard request. 15 years ago
Dean Camera 6d2f091cec Make project makefiles correctly clean intermeditary build files from assembly and C++ sources (thanks to Daniel Czigany). 15 years ago
Dean Camera a0f9192568 Minor documentation corrections. 15 years ago
Dean Camera 546ab8712e Fix board name redefinition in BoardTypes.h (thanks to Daniel Czigany). 15 years ago
Dean Camera e61345f872 Fixed incorrect signature reported in the CDC class bootloader for the ATMEGA32U2. 15 years ago
Dean Camera 84696c727d Added board hardware driver support for the BUI development board. 15 years ago
Dean Camera 92059fcbf9 Added board hardware driver support for the UDIP development board. 15 years ago
Dean Camera 58167f5d4d Fixed SET FEATURE and CLEAR FEATURE control requests directed at an unconfigured endpoint causing request timeouts. 15 years ago
Dean Camera def0e0ff1b Remove incomplete MIDIToneGenerator project. 15 years ago
Dean Camera 6b59c9b834 Minor documentation phrasing changes. 15 years ago
Dean Camera 12fb68ea1f Added PRNT_Host_SendByte() and PRNT_Host_Flush() functions to the Host mode Printer Class driver.
Modified PRNT_Host_USBTask() to flush the output pipe on each call.
15 years ago
Dean Camera 41c1fb3843 Added new project makefile template to the library and moved board driver stub files into in a new CodeTemplates directory. 15 years ago
Dean Camera 4c49ee6885 Whitespace corrections. 15 years ago
Dean Camera c166dfc64e Added class specific descriptor type defines with standard USB-IF element naming. 15 years ago
Dean Camera 66f14d44a3 Added LEDs_ToggleLEDs() function to several board LED drivers which were missing it (thanks to Andrei Krainev).
Simplify some of the LED driver functions to produce more compact code.
15 years ago
Dean Camera 7aaf9b2036 Added new PRNT_Host_BytesReceived() and PRNT_Host_ReceiveByte() functions to the Print Host Class driver. 15 years ago
Dean Camera 6e011f88d9 Must save and restore the endpoint/pipe interrupt enable flags during reconfiguration of all endpoints/pipes in the Endpoint_ConfigureEndpoint() and Pipe_ConfigurePipe() routines. 15 years ago
Dean Camera ebdb1b37ca Fix bug in Pipe_ConfigurePipe() breaking already configured pipes that was accidentally clearing the pipe's IN mode. 15 years ago
Dean Camera 18cbd31605 Added new USB_Device_GetFrameNumber() and USB_Host_GetFrameNumber() functions to retrieve the current USB frame number.
Added new USB_Host_EnableSOFEvents(), USB_Host_DisableSOFEvents() and EVENT_USB_Host_StartOfFrame() for the user application handling of USB Start of Frame events while in USB Host mode.

Changed over all demos, drivers and internal functions to use the current frame number over the Start of Frame flag where possible to free up the Start of Frame flag for interrupt use in the user application.
15 years ago
Dean Camera 0174d8ea70 Reduced HOST_DEVICE_SETTLE_DELAY_MS to 1000ms down from 1500ms to improve device compatibility while in USB Host mode, as some devices will drop off the USB bus if no connection is made within a timeout period. 15 years ago
Dean Camera 21954179a4 Added board hardware driver support for the USBFOO development board. 15 years ago
Dean Camera b369aa2cc6 Added board hardware driver support for the Olimex AVR-USB-162 development board (thanks to Steve Fawcett). 15 years ago
Dean Camera 4dece08bef Clarify in the project documentation files what the each of the different USB AVR device "series" comprises of. 15 years ago
Dean Camera 009eebf229 Fix incorrect ADC driver documentation for the parameters of ADC_Init(), fix incorrect call to ADC_Init() in the TemperatureDatalogger project. 15 years ago
Dean Camera 1afe51faa1 Fix up documentation - remove obsolete Scheduler Overview page, roll documentation into the documentation for the (deprecated) Simple Scheduler module. 15 years ago
Dean Camera 263178fbb6 Add better description of the Ultra-Lightweight Ring Buffer header files. 15 years ago
Dean Camera cd4c10fefa Better documentation for the Endpoint_ConfigureEndpoint() and Pipe_ConfigurePipe() functions. 15 years ago
Dean Camera b7b8a9edfa Fixed LowLevel PrinterHost demo not sending control requests to the attached printer with the correct printer interface wIndex value. 15 years ago
Dean Camera 092f82e06f Changed the signature of the CALLBACK_USB_GetDescriptor() callback function so that the descriptor pointer is const, to remove the need for extra casting inside the callback (thanks to Jonathan Kollasch). 15 years ago
Dean Camera ed8ad18f26 Fix Doxygen typos in Device.h. 15 years ago
Dean Camera f6e1eaba75 Optimise Endpoint_ConfigureEndpoint_Prv() function to produce smaller code when CONTROL_ONLY_DEVICE compile time token is defined. 15 years ago
Dean Camera e72f424f64 Split out endpoint and pipe stream functions into new EndpointStream.c/.h and PipeStream.c/.h files. 15 years ago
Dean Camera 4cc7f5200b Changed all Device mode LowLevel demos and Device Class drivers so that the control request is acknowledged and any data transferred as quickly as possible without any processing inbetween sections, so that long callbacks or event handlers will not break communications with the host by exceeding the maximum control request stage timeout period. 15 years ago
Dean Camera 1be3436e89 Moved calls to Device mode Class Driver events to after the request has been acknowledged, so that long event handlers do do skew the timing of the control requests.
Fixed USBtoSerial and Benito project SetLineEncoding calls failing if the USART is busy, due to the RX ISR delaying the control request handler.
15 years ago
Dean Camera 81998ce297 Added compile time error to the AVRISP-MKII project when built for the U4 chips, as the default VTARGET detection ADC channel does not exist on these chips (thanks to Marco). 15 years ago
Dean Camera e966219834 Clarify in the documentation that the Audio demos and driver is for the Audio 1.0 specification, not the newer (and more advanced/less supported) 2.0 specification. 15 years ago
Dean Camera 95079868bb Fixed critical pipe/endpoint memory allocation issue where the bank memory address space could be silently overlapped in the USB controller if the endpoints or pipes were allocated in anything other than ascending order (thanks to Martin Degelsegger). 15 years ago
Dean Camera ad4308b1d1 Added new SCSI_ASENSE_NOT_READY_TO_READY_CHANGE constant to the Mass Storage class driver, to indicate when a previously not ready removable medium has now become ready for the host's use (thanks to Martin Degelsegger) 15 years ago
Dean Camera 4f114e5766 Fixed MassStorage based demos and projects resetting the SCSI sense values before the command is executed, leading to missed SCSI sense values when the host retrieves the sense key (thanks to Martin Degelsegger).
Added missing DataflashManager_CheckDataflashOperation() function to the MassStorageKeyboard demo, removed redundant SCSI_Codes.h file as these values are part of the MassStorage Class Driver.
15 years ago
Dean Camera f4de17207e 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. 15 years ago
Dean Camera 508e905d8d 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.
15 years ago
Dean Camera be520aed52 Add notification endpoint to the incomplete TMC demo. 15 years ago
Dean Camera 9274610a48 Commit for the 100807 release. 15 years ago
Dean Camera 3c72896e84 Fixed software application start command broken in the DFU class bootloader when dfu-programmer is used due to application start address corruption. 15 years ago
Dean Camera 98947e3750 Ensure all demos now compile in C99 standards mode, and not GNU99 (C99 + GNU extensions). 15 years ago
Dean Camera 48c5cdced4 Hide the PROGMEM attribute from Doxygen, as it appears to confuse the parser in some situations. 15 years ago
Dean Camera ff09cf9c73 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.
15 years ago
Dean Camera 9597b33c33 Fixed Serial peripheral driver not turning off the USART before reconfiguring it, which would cause incorrect operation to occur (thanks to Bob Paddock). 15 years ago
Dean Camera 612df774d9 Oops - fix mixed "initialize" and "initialise" - opt for American spelling due to its wide use in technical standards. 15 years ago
Dean Camera 0f45b9c8e0 More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary. 15 years ago
Dean Camera 37c601dbf6 Fix typo in DualVirtualSerial.c due to the changed CDC Device APIs that was preventing the demo from being compiled. 15 years ago
Dean Camera 24e621a8d8 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.
15 years ago
Dean Camera 28401f7bb7 Spell check all source files once again to find any typos. 15 years ago
Dean Camera ca007f91f2 Fixed Benito and USBtoSerial projects not turning off the USART before reconfiguring it, which could cause incorrect operation to occur (thanks to Bob Paddock). 15 years ago
Dean Camera 62022252ea 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.
15 years ago
Dean Camera 1d4ff3695d Oops - remove duplicated SPI driver init mask. 15 years ago
Dean Camera de5b16909a 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.
15 years ago
Dean Camera 059307d89c 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. 15 years ago
Dean Camera be2a7d4598 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. 15 years ago
Dean Camera cd39c38d5f 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.
15 years ago
Dean Camera 4c9425c0d5 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. 15 years ago
Dean Camera 3a79548dc2 Add TMC device capabilities to the incomplete TMC demo. 15 years ago
Dean Camera eb8a708b53 Update size of compiled Mouse demo in documentation, fix indenting in Device.h. 15 years ago
Dean Camera 9b0e4b8356 Convert over internal pseudo-function macros to true inline functions for added type-safety and compile-checking. 15 years ago
Dean Camera ac0ece0141 Added start of a low level device Test and Measurement class demo (thanks to Peter Lawrence). 15 years ago
Dean Camera 83e293a6ec Replace internal Pipe_BytesToEPSizeMask() routine with a new version which results in smaller code. 15 years ago
Dean Camera 97143bf814 Add missing const qualifiers to class drivers.
Indent core library function parameters so that there is only one parameter per line, to increase readability.
15 years ago
Dean Camera 99d8a39363 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.
15 years ago
Dean Camera 5f57785404 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.
15 years ago
Dean Camera f9bcac5e00 Fixed MIDI_Device_SendEventPacket() not correctly waiting for the endpoint to become ready (thanks to Robin Green). 15 years ago
Dean Camera 6b5e684c77 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.
15 years ago
Dean Camera f4710f6f86 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.
15 years ago
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 7cef08e10e 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). 15 years ago
Dean Camera 666c0fa4c3 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. 15 years ago
Dean Camera 0313034245 Added const attributes to some of the class driver function parameters that were missing it. 15 years ago
Dean Camera 3a3a4e2abf Add AVRStudio 4 project files to the ClassDriver Device mode demos. 15 years ago
Dean Camera 20943fa1aa Add AVRStudio 4 project files to the LowLevel Host mode demos. 15 years ago
Dean Camera 975e9d772d Add AVRStudio 4 project files for the library bootloaders. 15 years ago
Dean Camera ac61b81a0b Add first lot of AVRStudio project files for some of the library projects. 15 years ago
Dean Camera 1167b69943 Add missing eol-style properties to new source files. 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 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 c326fe9605 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().
15 years ago
Dean Camera 2b0e86243f 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. 15 years ago
Dean Camera dea897ef57 Make main readme file easier to read, and make documentation build instructions clearer. 15 years ago
Dean Camera 35b7946950 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. 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 2eff731ecf Add TEST RFCOMM command handler. Remove the RFCOMM channel UseUIFrame element, as the Bluetooth adaptions to RFCOMM only allow UIH frames to be used. 15 years ago
Dean Camera e621ab33be 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.
15 years ago
Dean Camera 51c2dcf3b0 Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project. 15 years ago
Dean Camera deed746d37 Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT().
Minor tweaks to the library documentation.
15 years ago