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().
14 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.
14 years ago
Dean Camera
bea72a8412
Minor documentation enhancements.
14 years ago
Dean Camera
292a631b62
Added new NO_SOF_EVENTS compile time option, enabled in the bootloaders to reduce the compiled binary size.
14 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.
14 years ago
Dean Camera
accadba2dd
Fixed SPI driver not explicitly setting /SS and MISO pins as inputs when SPI_Init() is called.
14 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.
14 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.
14 years ago
Dean Camera
a447ae134f
Fixed broken lock byte programming in the AVRISP-MKII clone project for some XMEGA targets.
14 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.
14 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.
14 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.
14 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.
14 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.
14 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.
14 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.
14 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).
14 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.
14 years ago
Dean Camera
800485bd95
Remove dfu-programmer program switches, to ensure maximum compatibility with all dfu-programmer versions.
14 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.
14 years ago
Dean Camera
b48095c0fb
Fixed endpoint selection within the CALLBACK_HID_Device_CreateHIDReport() callback function causing broken GET REPORT requests.
...
Minor whitespace fixes.
14 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.
14 years ago
Dean Camera
5faa79a7b5
Fixed USB_Host_ClearPipeStall() incorrectly attempting to determine the endpoint's direction from the currently selected pipe.
14 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.
14 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.
14 years ago
Dean Camera
0d57659fa6
Fix incorrect documentation on the Get Descriptor standard request.
14 years ago
Dean Camera
6d2f091cec
Make project makefiles correctly clean intermeditary build files from assembly and C++ sources (thanks to Daniel Czigany).
14 years ago
Dean Camera
a0f9192568
Minor documentation corrections.
14 years ago
Dean Camera
e61345f872
Fixed incorrect signature reported in the CDC class bootloader for the ATMEGA32U2.
14 years ago
Dean Camera
84696c727d
Added board hardware driver support for the BUI development board.
14 years ago
Dean Camera
92059fcbf9
Added board hardware driver support for the UDIP development board.
14 years ago
Dean Camera
58167f5d4d
Fixed SET FEATURE and CLEAR FEATURE control requests directed at an unconfigured endpoint causing request timeouts.
14 years ago
Dean Camera
def0e0ff1b
Remove incomplete MIDIToneGenerator project.
14 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.
14 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.
14 years ago
Dean Camera
c166dfc64e
Added class specific descriptor type defines with standard USB-IF element naming.
14 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.
14 years ago
Dean Camera
7aaf9b2036
Added new PRNT_Host_BytesReceived() and PRNT_Host_ReceiveByte() functions to the Print Host Class driver.
14 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.
14 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.
14 years ago
Dean Camera
21954179a4
Added board hardware driver support for the USBFOO development board.
14 years ago
Dean Camera
b369aa2cc6
Added board hardware driver support for the Olimex AVR-USB-162 development board (thanks to Steve Fawcett).
14 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.
14 years ago
Dean Camera
1afe51faa1
Fix up documentation - remove obsolete Scheduler Overview page, roll documentation into the documentation for the (deprecated) Simple Scheduler module.
14 years ago
Dean Camera
263178fbb6
Add better description of the Ultra-Lightweight Ring Buffer header files.
14 years ago
Dean Camera
b7b8a9edfa
Fixed LowLevel PrinterHost demo not sending control requests to the attached printer with the correct printer interface wIndex value.
14 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).
14 years ago
Dean Camera
e72f424f64
Split out endpoint and pipe stream functions into new EndpointStream.c/.h and PipeStream.c/.h files.
14 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.
14 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.
14 years ago