aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/LowLevel/DevChapter9.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove incorrect check for the current device state in the Set Configuration ↵Dean Camera2010-05-131-3/+0
| | | | | | request handler of DevChapter9, which broke Set Configuration requests to the device under most circumstances. Move out the SPI prescaler list to a PROGMEM module-level variable in ISPTarget.c.
* Add svn:eol-style property to source files, so that the line endings are ↵Dean Camera2010-05-081-398/+398
| | | | correctly converted to the target system's native end of line style.
* Fixed device state not being reset back to the default state if the host ↵Dean Camera2010-05-041-23/+23
| | | | | | | | sets the address to 0x00. Fixed Set Configuration requests not being stalled until the host has set the device's address. Fixed possibility of internal signature retrieval being corrupted if an interrupt occurs during a signature byte read (thanks to Andrei Krainev).
* Fixed Set/Clear Feature requests directed to a non-configured endpoint not ↵Dean Camera2010-04-141-14/+14
| | | | | | returning a stall to the host. Make TeensyHID bootloader use an 8 byte control endpoint to match the official Teensy, just in case Paul decides to authenticate on that attribute in the future.
* Revert changes made for the partial port to the AVR32 architecture.Dean Camera2010-02-241-1/+1
|
* Start porting the USB core to the AVR32 UC3B.Dean Camera2010-02-231-1/+1
|
* Add more include protection macros to give the user warnings when they try ↵Dean Camera2010-02-111-1/+2
| | | | to manually include private driver header files, instead of the public driver headers.
* Update copyright year to 2010.Dean Camera2009-12-301-2/+2
|
* Fix MIT license language to make its intent clearer.Dean Camera2009-12-281-7/+7
|
* Ensure that unsupported SetFeature/ClearFeature request targets cause a ↵Dean Camera2009-12-211-7/+10
| | | | STALL back to the host.
* Added new NO_DEVICE_SELF_POWER and NO_DEVICE_REMOTE_WAKEUP compile time options.Dean Camera2009-12-201-3/+15
|
* Minor code cleanups for clarity.Dean Camera2009-11-111-15/+12
|
* Add optional pipe double banking support to the Host mode Class drivers.Dean Camera2009-11-071-2/+2
| | | | Descriptor processing routines now pass around void pointers rather than uint8_t pointers, as their destination datatype is know well known -- they are just streams of bytes until they are cast to the correct destination type by DESCRIPTOR_CAST.
* Update DevChapter9.c - use the Endpoint_ClearStatusStage() function where ↵Dean Camera2009-11-041-19/+7
| | | | | | possible to reduce code size and (potentially) allow for centralized status stage timeouts. Fix Joystick device demo HID descriptors - buttons should be placed outside the Pointer collection.
* Remove USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token, split out ↵Dean Camera2009-09-091-8/+3
| | | | | | standard descriptors into seperate USB_Descriptor_* and USB_StdDescriptor_* structures so that both can be used within the one project. Add guard to the HID Host Class driver SetProtocol command, to ensure that the device supports boot protocol mode before issuing the request.
* Fixed invalid data being returned when a GetStatus request is issued in ↵Dean Camera2009-08-181-0/+2
| | | | | | Device mode with an unhandled data recipient. Fix up Programmers Notepad Project file to show new Projects directory layout. Remove now moved AVRISP project from the Projects directory makefile.
* Renamed all library events to properly seperate out Device and Host mode ↵Dean Camera2009-08-051-14/+5
| | | | | | | | 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.
* Cleanup and optimization of the internal serial retrieval routines.Dean Camera2009-08-031-16/+10
| | | | Renamed ATTR_NOINLINE to ATTR_NO_INLINE to fit with the rest of the library function attribute names.
* Rename TOTAL_NUM_CONFIGURATIONS to FIXED_NUM_CONFIGURATIONS, to match the ↵Dean Camera2009-08-021-2/+2
| | | | existing FIXED_CONTROL_ENDPOINT_SIZE compile time option. Add FIXED_NUM_CONFIGURATIONS to the descriptors of each project using the option.
* Extend the automatic serial number descriptor code to read out and send all ↵Dean Camera2009-07-281-3/+3
| | | | 10 bytes (20 characters) of the internal serial number on supported AVRs, rather than just the first 6 bytes (12 characters).
* Added new USB_DeviceState variable to keep track of the current Device mode ↵Dean Camera2009-07-211-6/+34
| | | | | | | | | | | | USB state. Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers. Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality. Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead. Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition becomes true.
* Fix small error in last commit preventing compilation in some circumstances.Dean Camera2009-07-161-1/+2
|
* Added new TOTAL_NUM_CONFIGURATIONS option, removed ↵Dean Camera2009-07-161-11/+54
| | | | | | USE_SINGLE_DEVICE_CONFIGURATION compile time option (but silently convert it to USE_SINGLE_DEVICE_CONFIGURATION internally for compatibility). Added new USE_FLASH_DESCRIPTORS compile time option. By default, descriptors can now lie in mixed memory spaces (specified by a new parameter to the CALLBACK_USB_GetDescriptor() function) unless one of the USE_*_DESCRIPTORS compile time option is specified.
* Fix HID class device driver -- if a SetIDle request is issued with the LSB ↵Dean Camera2009-07-151-45/+51
| | | | | | | | of wValue set to zero, the idle period must be set for all HID interfaces. Fix Keyboard and Mouse demos, Idle period is now multiplied by 4 as the period is read into and sent out of the device to ensure it is always stored as a multiple of 1ms. Fixes Keyboard demo using an initial Idle period of 2s rather than 500ms (thanks to Brian Dickman). Move out the internal device serial descriptor reading routine into a seperate static function, rather than being part of USB_Device_GetDescriptor.
* Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream ↵Dean Camera2009-07-131-39/+4
| | | | functions. Changed Endpoint.c and Pipe.c to use a templated system to build the seperate functions, rather than duplicating each function's code many times.
* Optimize unique serial number reading code for size -- remove atoi/toupper ↵Dean Camera2009-06-211-13/+35
| | | | references, replace with hand-rolled code as the input has known size constraints.
* Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in ↵Dean Camera2009-06-211-1/+1
| | | | some AVR models as the USB device's serial number, added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code. Updated Mass Storage and CDC based demos to use the new device serial number if the device it is compiled for supports it.
* Trim unique serial number created by the USE_INTERNAL_SERIAL option to 12 ↵Dean Camera2009-06-211-2/+2
| | | | characters rather than 20 - apparently Windows will implode if a serial number is too long.
* Added USE_INTERNAL_SERIAL compile time option to automatically read out the ↵Dean Camera2009-06-201-1/+31
| | | | internal unique serial number as the device's serial number descriptor on supported AVR models.
* Changed per-device controller preprocessor checks over to per-device series ↵Dean Camera2009-06-141-3/+3
| | | | | | for better device control. Fixed error in Endpoint.c using HSOFI rather than SOFI for counting elapsed milliseconds.
* Deleted StdDescriptors.c, renamed USB_GetDescriptor() to ↵Dean Camera2009-05-221-3/+6
| | | | CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs.
* Rewritten event system to remove all macros, to make user code clearer.Dean Camera2009-05-181-3/+3
| | | | | | | | 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.
* Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 ↵Dean Camera2009-05-131-1/+2
| | | | requests that are addressed to the device (thanks to Brian Dickman).
* Fix broken Set Feature/Clear Feature chapter 9 request (incorrect status ↵Dean Camera2009-05-101-6/+1
| | | | | | stage clearing). Commit for the 090510 release.
* Fixed inability to enumerate any devices while in host mode (broken in a ↵Dean Camera2009-05-071-1/+1
| | | | previous commit).
* Minor correction to the DevChapter9.c handling of Set and Clear feature ↵Dean Camera2009-05-061-20/+27
| | | | requests -- remote wake up requests now complete correctly rather than stalling the request.
* Change device demos to cache the board button values in the same manner as ↵Dean Camera2009-05-061-2/+2
| | | | the board joystick to maintain consistency.
* Fixed USB_RemoteWakeupEnabled flag never being set (the REMOTE WAKEUP Set ↵Dean Camera2009-04-231-22/+27
| | | | | | Feature request was not being handled). Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE.
* USB_HostRequest renamed to USB_ControlRequest, entire control request header ↵Dean Camera2009-04-221-60/+50
| | | | | | | | 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.
* Removed specialized Endpoint_ClearControl* and Pipe_ClearControl* macros in ↵Dean Camera2009-04-211-18/+18
| | | | favour of the standard Endpoint_Clear* and Pipe_Clear* macros (Atmel have confirmed no effect from setting FIFOCON on control endpoints).
* Fixed GenericHIDHost demo report write routine incorrect for control type ↵Dean Camera2009-04-161-27/+28
| | | | | | | | | | | | | | | | | | 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.
* Move StdRequestType.h, StreamCallbacks.h, USBMode.h from the LowLevel USB ↵Dean Camera2009-04-051-1/+2
| | | | driver directory to the HighLevel USB driver directory, where they are more suited.
* Renamed NO_CLEARSET_FEATURE_REQUEST compile time token to ↵Dean Camera2009-03-111-2/+6
| | | | NO_FEATURELESS_CONTROL_ONLY_DEVICE and expanded its function to also remove parts of the Get Status chapter 9 request, to further reduce code usage.
* Moved all source to the trunk directory.Dean Camera2009-02-231-0/+313