Commit Graph

1247 Commits

Author SHA1 Message Date
Dean Camera b8dfa976ce Added standard keyboard HID report scancode defines (thanks to László Monda). 2010-10-28 23:11:49 +00:00
Dean Camera 2d49c09b38 Move Set Feature and Clear Feature control request feature selector values into their own enum. 2010-10-28 22:51:03 +00:00
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.
2010-10-28 07:52:52 +00:00
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. 2010-10-28 06:08:58 +00:00
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.
2010-10-27 07:23:51 +00:00
Dean Camera 08de757811 Changed AudioInput and AudioOutput demos to reload the next sample via an interrupt rather than polling the sample timer. 2010-10-26 06:52:09 +00:00
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.
2010-10-25 12:42:55 +00:00
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.
2010-10-24 22:53:57 +00:00
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.
2010-10-24 12:25:34 +00:00
Dean Camera 5517f96e86 Oops - fix broken SPI driver due to missing bit inversion on a port mask. 2010-10-20 08:08:59 +00:00
Dean Camera bd337aced3 Added default test tone generation mode to the Device mode AudioInput demos. 2010-10-20 07:39:11 +00:00
Dean Camera 06f222b3ed Added board hardware driver support for the Minimus board (thanks to the PSGroove team). 2010-10-17 23:14:03 +00:00
Dean Camera 9aa94fee81 Oops - add missing Maximus board LED hardware driver file. 2010-10-17 23:08:53 +00:00
Dean Camera b4a02fa29d Added board hardware driver support for the Maximus board (thanks to the PSGroove team). 2010-10-17 23:06:50 +00:00
Dean Camera cb298295fb Added board hardware driver support for the Blackcat USB JTAG board (thanks to the PSGroove team). 2010-10-17 23:00:23 +00:00
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. 2010-10-13 21:05:55 +00:00
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. 2010-10-13 14:23:23 +00:00
Dean Camera 5a4def7478 Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda 2010-10-13 14:05:35 +00:00
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.
2010-10-12 13:52:06 +00:00
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().
2010-10-12 12:22:11 +00:00
Dean Camera c1cfffd8eb Fixed random enumeration failure while in device mode due to interrupts causing the Set Address request to exceed maximum timings. 2010-10-12 11:27:15 +00:00
Dean Camera bea72a8412 Minor documentation enhancements. 2010-10-12 10:40:42 +00:00
Dean Camera 292a631b62 Added new NO_SOF_EVENTS compile time option, enabled in the bootloaders to reduce the compiled binary size. 2010-10-07 11:55:20 +00:00
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.
2010-10-06 12:40:20 +00:00
Dean Camera accadba2dd Fixed SPI driver not explicitly setting /SS and MISO pins as inputs when SPI_Init() is called. 2010-10-06 11:51:53 +00:00
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. 2010-10-06 10:16:02 +00:00
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. 2010-10-02 10:07:24 +00:00
Dean Camera a447ae134f Fixed broken lock byte programming in the AVRISP-MKII clone project for some XMEGA targets. 2010-10-02 10:02:24 +00:00
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. 2010-10-02 08:41:08 +00:00
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.
2010-10-01 12:01:54 +00:00
Dean Camera d06febbb59 Fix device mode for the U4 parts. 2010-10-01 11:22:24 +00:00
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.
2010-10-01 00:11:32 +00:00
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. 2010-09-30 23:23:05 +00:00
Dean Camera 86367574e6 Fix incorrectly named configuration descriptor callback routines in the host mode class drivers.
Fix typo in MIDI low level device demo.
2010-09-30 08:07:29 +00:00
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.
2010-09-30 07:56:47 +00:00
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.
2010-09-30 06:23:38 +00:00
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.
2010-09-29 13:56:52 +00:00
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.
2010-09-28 14:59:16 +00:00
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.
2010-09-28 14:30:26 +00:00
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).
2010-09-28 13:27:19 +00:00
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.
2010-09-28 12:14:06 +00:00
Dean Camera 800485bd95 Remove dfu-programmer program switches, to ensure maximum compatibility with all dfu-programmer versions. 2010-09-24 06:59:28 +00:00
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.
2010-09-24 06:45:11 +00:00
Dean Camera b48095c0fb Fixed endpoint selection within the CALLBACK_HID_Device_CreateHIDReport() callback function causing broken GET REPORT requests.
Minor whitespace fixes.
2010-09-24 06:34:43 +00:00
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.
2010-09-22 04:20:45 +00:00
Dean Camera c459ef6981 Oops - need to call USB_Attach() when reinitializing into USB Host mode, or no devices will be detected. 2010-09-21 14:06:39 +00:00
Dean Camera 5faa79a7b5 Fixed USB_Host_ClearPipeStall() incorrectly attempting to determine the endpoint's direction from the currently selected pipe. 2010-09-21 10:48:38 +00:00
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. 2010-09-19 08:42:30 +00:00
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. 2010-09-19 06:30:14 +00:00
Dean Camera b17e87d140 More simplifications to USBController.c, fix errors and warnings when compiled for the series 2 USB AVRs. 2010-09-19 06:09:25 +00:00
Dean Camera 1621158c62 Fix warning when not compiled for UID auto-selection mode. 2010-09-19 06:00:45 +00:00
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.
2010-09-19 05:58:27 +00:00
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.
2010-09-19 05:46:17 +00:00
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. 2010-09-15 13:11:28 +00:00
Dean Camera 0d57659fa6 Fix incorrect documentation on the Get Descriptor standard request. 2010-09-15 10:47:22 +00:00
Dean Camera 6d2f091cec Make project makefiles correctly clean intermeditary build files from assembly and C++ sources (thanks to Daniel Czigany). 2010-09-15 03:00:29 +00:00
Dean Camera a0f9192568 Minor documentation corrections. 2010-09-15 00:30:40 +00:00
Dean Camera 546ab8712e Fix board name redefinition in BoardTypes.h (thanks to Daniel Czigany). 2010-09-14 22:04:38 +00:00
Dean Camera e61345f872 Fixed incorrect signature reported in the CDC class bootloader for the ATMEGA32U2. 2010-09-14 11:19:44 +00:00
Dean Camera 84696c727d Added board hardware driver support for the BUI development board. 2010-09-14 11:11:54 +00:00
Dean Camera 92059fcbf9 Added board hardware driver support for the UDIP development board. 2010-09-14 10:31:27 +00:00
Dean Camera 58167f5d4d Fixed SET FEATURE and CLEAR FEATURE control requests directed at an unconfigured endpoint causing request timeouts. 2010-09-13 11:39:41 +00:00
Dean Camera def0e0ff1b Remove incomplete MIDIToneGenerator project. 2010-09-13 10:07:45 +00:00
Dean Camera 6b59c9b834 Minor documentation phrasing changes. 2010-09-12 12:20:36 +00:00
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.
2010-09-11 04:09:48 +00:00
Dean Camera 41c1fb3843 Added new project makefile template to the library and moved board driver stub files into in a new CodeTemplates directory. 2010-09-11 03:57:43 +00:00
Dean Camera 4c49ee6885 Whitespace corrections. 2010-09-09 13:33:00 +00:00
Dean Camera c166dfc64e Added class specific descriptor type defines with standard USB-IF element naming. 2010-09-09 13:05:57 +00:00
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.
2010-09-09 09:57:03 +00:00
Dean Camera 7aaf9b2036 Added new PRNT_Host_BytesReceived() and PRNT_Host_ReceiveByte() functions to the Print Host Class driver. 2010-09-07 03:38:11 +00:00
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. 2010-09-07 03:07:40 +00:00
Dean Camera ebdb1b37ca Fix bug in Pipe_ConfigurePipe() breaking already configured pipes that was accidentally clearing the pipe's IN mode. 2010-09-05 08:24:56 +00:00
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.
2010-09-05 07:11:53 +00:00
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. 2010-09-04 10:17:09 +00:00
Dean Camera 21954179a4 Added board hardware driver support for the USBFOO development board. 2010-09-04 09:41:08 +00:00
Dean Camera b369aa2cc6 Added board hardware driver support for the Olimex AVR-USB-162 development board (thanks to Steve Fawcett). 2010-09-03 09:57:31 +00:00
Dean Camera 4dece08bef Clarify in the project documentation files what the each of the different USB AVR device "series" comprises of. 2010-08-31 12:33:21 +00:00
Dean Camera 009eebf229 Fix incorrect ADC driver documentation for the parameters of ADC_Init(), fix incorrect call to ADC_Init() in the TemperatureDatalogger project. 2010-08-31 07:32:48 +00:00
Dean Camera 1afe51faa1 Fix up documentation - remove obsolete Scheduler Overview page, roll documentation into the documentation for the (deprecated) Simple Scheduler module. 2010-08-29 14:07:31 +00:00
Dean Camera 263178fbb6 Add better description of the Ultra-Lightweight Ring Buffer header files. 2010-08-29 07:49:36 +00:00
Dean Camera cd4c10fefa Better documentation for the Endpoint_ConfigureEndpoint() and Pipe_ConfigurePipe() functions. 2010-08-24 13:57:55 +00:00
Dean Camera b7b8a9edfa Fixed LowLevel PrinterHost demo not sending control requests to the attached printer with the correct printer interface wIndex value. 2010-08-24 13:16:16 +00:00
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). 2010-08-24 13:02:38 +00:00
Dean Camera ed8ad18f26 Fix Doxygen typos in Device.h. 2010-08-24 11:47:53 +00:00
Dean Camera f6e1eaba75 Optimise Endpoint_ConfigureEndpoint_Prv() function to produce smaller code when CONTROL_ONLY_DEVICE compile time token is defined. 2010-08-22 13:54:51 +00:00
Dean Camera e72f424f64 Split out endpoint and pipe stream functions into new EndpointStream.c/.h and PipeStream.c/.h files. 2010-08-22 13:31:27 +00:00
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. 2010-08-22 03:26:20 +00:00
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.
2010-08-22 02:45:20 +00:00
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). 2010-08-22 01:42:09 +00:00
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. 2010-08-21 11:38:39 +00:00
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). 2010-08-20 12:13:19 +00:00
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) 2010-08-20 11:03:25 +00:00
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.
2010-08-18 10:33:21 +00:00
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. 2010-08-10 12:13:07 +00:00
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.
2010-08-09 10:20:10 +00:00
Dean Camera be520aed52 Add notification endpoint to the incomplete TMC demo. 2010-08-09 07:21:53 +00:00
Dean Camera 9274610a48 Commit for the 100807 release. 2010-08-09 01:55:02 +00:00
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. 2010-08-05 09:31:51 +00:00
Dean Camera 98947e3750 Ensure all demos now compile in C99 standards mode, and not GNU99 (C99 + GNU extensions). 2010-08-03 11:13:06 +00:00
Dean Camera 48c5cdced4 Hide the PROGMEM attribute from Doxygen, as it appears to confuse the parser in some situations. 2010-08-02 08:53:23 +00:00
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.
2010-08-01 14:03:13 +00:00
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). 2010-07-31 06:55:47 +00:00
Dean Camera 612df774d9 Oops - fix mixed "initialize" and "initialise" - opt for American spelling due to its wide use in technical standards. 2010-07-30 10:58:16 +00:00
Dean Camera 0f45b9c8e0 More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary. 2010-07-30 09:48:35 +00:00
Dean Camera 37c601dbf6 Fix typo in DualVirtualSerial.c due to the changed CDC Device APIs that was preventing the demo from being compiled. 2010-07-30 04:20:41 +00:00
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.
2010-07-30 03:52:11 +00:00
Dean Camera 28401f7bb7 Spell check all source files once again to find any typos. 2010-07-29 16:20:45 +00:00
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). 2010-07-29 15:14:56 +00:00
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.
2010-07-29 13:04:53 +00:00
Dean Camera 1d4ff3695d Oops - remove duplicated SPI driver init mask. 2010-07-29 07:16:20 +00:00
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.
2010-07-29 07:09:57 +00:00
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. 2010-07-27 13:49:16 +00:00
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. 2010-07-27 11:26:47 +00:00
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.
2010-07-26 07:28:40 +00:00
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. 2010-07-25 11:59:55 +00:00
Dean Camera 3a79548dc2 Add TMC device capabilities to the incomplete TMC demo. 2010-07-23 09:12:26 +00:00
Dean Camera eb8a708b53 Update size of compiled Mouse demo in documentation, fix indenting in Device.h. 2010-07-23 03:25:19 +00:00
Dean Camera 9b0e4b8356 Convert over internal pseudo-function macros to true inline functions for added type-safety and compile-checking. 2010-07-22 15:38:12 +00:00
Dean Camera ac0ece0141 Added start of a low level device Test and Measurement class demo (thanks to Peter Lawrence). 2010-07-22 07:19:41 +00:00
Dean Camera 83e293a6ec Replace internal Pipe_BytesToEPSizeMask() routine with a new version which results in smaller code. 2010-07-21 14:17:18 +00:00
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.
2010-07-21 14:00:51 +00:00
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.
2010-07-21 12:20:34 +00:00
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.
2010-07-21 05:39:29 +00:00
Dean Camera f9bcac5e00 Fixed MIDI_Device_SendEventPacket() not correctly waiting for the endpoint to become ready (thanks to Robin Green). 2010-07-20 06:59:13 +00:00
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.
2010-07-19 14:00:44 +00:00
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.
2010-07-15 16:45:26 +00:00
Dean Camera dfe50ff349 Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project. 2010-07-15 11:01:31 +00:00
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). 2010-07-15 01:42:36 +00:00
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. 2010-07-13 11:26:03 +00:00
Dean Camera 0313034245 Added const attributes to some of the class driver function parameters that were missing it. 2010-07-13 10:01:13 +00:00
Dean Camera 3a3a4e2abf Add AVRStudio 4 project files to the ClassDriver Device mode demos. 2010-07-13 05:38:51 +00:00
Dean Camera 20943fa1aa Add AVRStudio 4 project files to the LowLevel Host mode demos. 2010-07-13 05:01:18 +00:00
Dean Camera 975e9d772d Add AVRStudio 4 project files for the library bootloaders. 2010-07-13 04:43:38 +00:00
Dean Camera ac61b81a0b Add first lot of AVRStudio project files for some of the library projects. 2010-07-13 04:32:33 +00:00
Dean Camera 1167b69943 Add missing eol-style properties to new source files. 2010-07-12 10:20:38 +00:00
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.
2010-07-12 07:04:19 +00:00
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. 2010-07-11 14:14:08 +00:00
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().
2010-07-09 07:24:34 +00:00
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. 2010-07-08 08:48:52 +00:00
Dean Camera dea897ef57 Make main readme file easier to read, and make documentation build instructions clearer. 2010-07-06 07:07:54 +00:00
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. 2010-07-04 14:31:18 +00:00
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.
2010-07-02 03:37:19 +00:00
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. 2010-06-23 07:17:47 +00:00
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.
2010-06-22 07:06:27 +00:00
Dean Camera 51c2dcf3b0 Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project. 2010-06-17 09:17:09 +00:00
Dean Camera deed746d37 Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT().
Minor tweaks to the library documentation.
2010-06-17 08:15:58 +00:00
Dean Camera 69dc32c5f0 Fix compile and Doxygen errors due to the spell-check changes in the source code. 2010-06-16 11:46:42 +00:00
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. 2010-06-16 11:01:01 +00:00
Dean Camera dcedde0123 Fix HID parser documentation for the default maximum report/path/etc. elements so that it matches the current code values. 2010-06-15 03:40:02 +00:00
Dean Camera a14ece5f57 Change over Doxygen \note documentation to \pre where applicable. 2010-06-15 03:34:55 +00:00
Dean Camera 036a156ff4 Slight improvements to the reliability of the software UART in the XPLAINBridge project. 2010-06-12 08:39:12 +00:00
Dean Camera 75d440ace3 Speed up calls to Pipe_IsPipeBound() by immediately skipping unconfigured pipes, rather than performing token check first. 2010-06-12 07:01:18 +00:00
Dean Camera f73f01235e Update main library makefile with missing source files for the "clean" rule. 2010-06-08 14:47:17 +00:00
Dean Camera 5ce3f0b17b Add missing ATTR_NON_NULL_PTR_ARG and ATTR_ALWAYS_INLINE attributes to class driver functions. 2010-06-08 11:14:07 +00:00
Dean Camera 96063b9f98 Add Mecurial repository mirror link to the library documentation. 2010-06-08 09:13:11 +00:00
Dean Camera 34e0fed4ca Make the RFCOMM_SendFrame() function correctly generate frames from the input parameters, change addressing to use the raw DLCI address plus flags. 2010-06-07 09:07:18 +00:00
Dean Camera be09f64872 Fixed incorrect function references in the Mass Storage Class driver documentation. 2010-06-03 15:58:22 +00:00
Dean Camera 6d53cdba83 More documentation fixes. 2010-06-03 15:55:28 +00:00
Dean Camera fc92f9969c Minor documentation cleanups. 2010-06-03 15:32:45 +00:00
Dean Camera 5144ea76f6 Oops - descriptor pointer should be assigned, not incremented with the new type-safe code. 2010-06-02 15:44:48 +00:00
Dean Camera 6d22a00e8b Better fix to avoid void pointer arithmetic in ConfigDescriptor.h to regain C++ compatibility (thanks to Michael Hennebry). 2010-06-02 15:28:07 +00:00
Dean Camera 23a94a7181 Fix byte ordering of UUIDs in the SDP server - host can now successfully pair to the Bluetooth device and discover the exposed Serial Port Profile RFCOMM service. 2010-06-02 14:49:06 +00:00
Dean Camera c362709a1e The SDP UUID lists should be searched and ALL UUIDs matched for a record to be retrieved, not partial matches. Change the SDP code so that the entire list must be matched against a service attribute table's contents before it is returned.
Change matching algorithm so that it recursively searches through the entire attribute table, and not just pre-specified sequence attributes.

Add browse lists and proper descriptions to the Serial Port service.
2010-06-02 07:05:34 +00:00
Dean Camera f606afefff Remove void* arithmetic in the USB_GetNextDescriptor() static inline function, to make the header file C++ compatible once again. Implement workaround for an obscure GCC bug which can cause incorrect code generation under some circumstances when the void* is re-cast. 2010-05-31 06:55:23 +00:00
Dean Camera 152b2764c3 Small tweaks to ConfigDescriptor.c/.h to ensure pointers use the correct type, and to remove const attribute from the descriptor comparator callback function pointer type define, and into the function prototype instead. 2010-05-30 14:01:41 +00:00
Dean Camera e95c96ea20 Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde). 2010-05-30 07:29:18 +00:00
Dean Camera 328ed71ce7 Fix spacing of the function parameter descriptions in the Doxygen documentation. 2010-05-29 08:08:26 +00:00
Dean Camera c1daecf18b Fixed incorrect signature for the ATMEGA32U2 in the DFU bootloader (thanks to Axel Rohde).
Partial fix to the Bluetooth SDP code - data should be encoded in big endian, not little endian.
2010-05-29 07:51:01 +00:00
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.
2010-05-27 10:36:21 +00:00
Dean Camera 8d993afc53 Replace ring buffer library in Benito and USBtoSerial projects with the new lightweight ring buffer header to improve reliability. 2010-05-26 13:26:10 +00:00
Dean Camera 885170f5b4 Removed unused line encoding data and control requests from the CDC Bootloader code, to save space. 2010-05-26 12:44:05 +00:00
Dean Camera 670413603f The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only changed bytes are written to EEPROM to preserve its lifespan.
Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile parameters to EEPROM to preserve its lifespan.
2010-05-26 11:54:55 +00:00
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. 2010-05-26 06:15:05 +00:00
Dean Camera 4a13a5484a Fixed RNDISEthernet demos crashing when calculating checksums for Ethernet/TCP packets of more than ~500 bytes due to an overflow in the checksum calculation loop (thanks to Kevin Malec).
Removed string Attributes from the Service Discovery Protocol code to minimise the potential points of failure while the base code is being debugged.
2010-05-25 06:14:37 +00:00
Dean Camera 8f3d4e69c3 Add UUID Class matching to the Service Discovery Protocol code - SDP is now correctly matched against the generic Service Discovery Class UUID. 2010-05-23 13:15:19 +00:00
Dean Camera 58a0ee67a3 Oops - when adding a sequence header to the SDP response, the size value needs to be cleared, not the buffer pointer. 2010-05-21 08:01:41 +00:00
Dean Camera d3699d0261 Added new ADC_DisableChannel() function (thanks to Mich Davis). 2010-05-18 12:51:31 +00:00
Dean Camera f13bc35a19 Begin processing code for Service Discovery Protocol attributes. 2010-05-17 23:36:05 +00:00
Dean Camera ff61dfa505 Fixed AVRISP project not sending a full erase-and-write EEPROM command to XMEGA targets when writing to the EEPROM instead of the split write-only command (thanks to Tim Margush). 2010-05-16 05:43:03 +00:00
Dean Camera 80d85090ba Fixed AVRISP project sending a LOAD EXTENDED ADDRESS command to 128KB AVRs after programming or reading from the last page of FLASH. 2010-05-14 10:11:40 +00:00
Dean Camera 6b7770ef2b Commit for 100513 re-release due to critical device mode bug. 2010-05-13 13:01:13 +00:00
Dean Camera 34047efc7e Remove incorrect check for the current device state in the Set Configuration 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.
2010-05-13 12:57:49 +00:00
Dean Camera 571159df1b Additional fix to the AVRISP-MKII clone project for 256KB AVRs. 2010-05-13 11:14:10 +00:00
Dean Camera cd0093a14b Fixed AVRISP-MKII clone project not correctly issuing SET EXTENDED ADDRESS commands when the extended address boundary is crossed during programming or readback (thanks to Gerard Sexton).
Fixed warnings when building the AVRISP-MKII clone project with the ENABLE_XPROG_PROTOCOL compile time option disabled.
2010-05-13 09:25:17 +00:00
Dean Camera 1331cce08a Fixed possible device lockup when INTERRUPT_CONTROL_ENDPOINT is enabled and the control endpoint is not properly selected when the ISR completes. 2010-05-13 07:43:18 +00:00
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.
2010-05-13 07:31:27 +00:00
Dean Camera e277ff0cf4 Removed TeensyHID bootloader, per request from Paul at PJRC. 2010-05-12 11:12:53 +00:00
Dean Camera dd92de3919 Fix Doxygen treating the license as a documentation source file. 2010-05-12 07:52:40 +00:00
Dean Camera 3080988b35 Commit for the 100512 release. 2010-05-12 07:30:47 +00:00
Dean Camera ee5ea4ce2b Fix nasty bug in USBInterrupt.c which would cause a lockup if the control endpoint was not selected at the point the USB endpoint interrupt fires when INTERRUPT_CONTROL_ENDPOINT is defined. 2010-05-11 13:45:23 +00:00
Dean Camera 05ac59d0ee Add new ReportType parameter to the HID class driver device callback and host report sending routines.
Renamed internal Host mode Class driver descriptor comparator callback routines so that they all start with a uniform DCOMP_{Class Abbreviation}_ prefix.
2010-05-09 06:01:01 +00:00
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. 2010-05-08 03:12:14 +00:00
Dean Camera a9e0935a90 Device mode class driver callbacks are now fired before the control request status stage is sent to prevent the host from timing out if another request is immediately fired and the device has a lengthy callback routine.
Inlined currently unused MIDI ProcessControlRequest routine.
2010-05-07 06:54:08 +00:00
Dean Camera 2a2de8fea9 Fix TeensyHID bootloader for the largest AVRs - only the ATMEGA128x needs the alternative addressing scheme. 2010-05-07 06:48:27 +00:00
Dean Camera 27eb17cb93 Change over unix line-endings to dos line endings. 2010-05-07 06:40:47 +00:00
Dean Camera 842e219bf3 Added new EVENT_CDC_Device_BreakSent() event and CDC_Host_SendBreak() function to the Device and Host CDC Class drivers. 2010-05-06 11:56:34 +00:00
Dean Camera 9c8bd6ed9b Remove incorrect Abstract Call Management class specific descriptor from the CDC demos, bootloaders and projects. 2010-05-06 11:32:55 +00:00
Dean Camera cde2afc50e Ensure that the CDC class drivers return 0 if the number of unread bytes is queried and the bank has become empty. 2010-05-06 11:13:24 +00:00
Dean Camera c3db72afdc Make CDC class bootloader hard-reset the AVR when exited instead of a soft-reset. Reduce size of the TeensyHID bootloader slightly.
Fix the TeensyHID bootloader for the larger USB AVR devices, since Paul uses a different (undocumented) addressing scheme on these devices.
2010-05-06 07:27:13 +00:00
Dean Camera a926053ab5 Fix up the ADC driver for the U4 parts to remove a typo on one of the register names. 2010-05-04 11:54:37 +00:00
Dean Camera ab8668b14e Removed software PDI/TPI emulation from the AVRISP-MKII clone project, as it was very buggy. PDI and TPI must now be implemented via seperate headers instead of the one unified ISP/TPI/PDI header. 2010-05-04 11:33:51 +00:00
Dean Camera 708a1c6166 Fixed INTERRUPT_CONTROL_ENDPOINT compile time option preventing other interrupts from occuring while the control endpoint request is being processed, causing possible lockups if a USB interrupt occurs during a transfer. 2010-05-04 10:16:44 +00:00
Dean Camera e652cfac67 Fixed Host mode HID class driver not sending the correct report type when HID_Host_SendReportByID() was called and the HID_HOST_BOOT_PROTOCOL_ONLY compile time option is set. 2010-05-04 10:10:41 +00:00
Dean Camera 27f0ba6fc3 Fixed device state not being reset back to the default state if the host 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).
2010-05-04 10:07:22 +00:00
Dean Camera eed7d4df6a Added new ENDPOINT_*_BusSuspended error code to the Endpoint function, so that the stream functions early-abort if the bus is suspended before or during a transfer. 2010-05-03 07:41:22 +00:00
Dean Camera 3d28d53c3e Change AVRISP project's timeout to be interrupt based again, but make the interrupt itself interruptable and use a seperate assembly file to hand-optimize the ISR code.
Removed the cast to uint16_t on the set baud rate in the USBtoSerial project, so that the higher >1M baud rates can be selected (thanks to Steffan).
2010-05-02 05:16:34 +00:00
Dean Camera 9cad677ebb The Audio_Device_IsSampleReceived() and Audio_Device_IsReadyForNextSample() functions are now inline, to reduce overhead. 2010-04-29 14:54:11 +00:00
Dean Camera 9e34144c9b Use puts_P() and printf_P() instead of the normal variants where possible in the Host mode Class Driver demos. 2010-04-28 14:33:10 +00:00
Dean Camera 0063f72117 Oops - relocated USBInterrupt.h header file requires adjusted include paths for the other USB driver header files. 2010-04-28 08:20:15 +00:00
Dean Camera e977774d4e Relocate USBInterrupt.c/.h from the HighLevel USB driver directory to the LowLevel directory as it is hardware-dependent. 2010-04-28 08:15:16 +00:00
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. 2010-04-28 07:48:26 +00:00
Dean Camera 5993e1efe7 Added ability to search by Channel PSM to the GetChannelData() function in the BluetoothHost demo.
Added new HCI states to properly initialize the bluetooth dongle and retrieve the local BDADDR.

Factored out Bluetooth state information into a new state structure for easy reference in the user application.

Added new StackInitialized() Bluetooth stack callback function.
2010-04-22 14:08:00 +00:00
Dean Camera 8252b4febd Fixed HID Device Class Driver not allocating a temporary buffer when the host requests a report via the control endpoint and the user has set the PrevReportINBuffer driver configuration element to NULL (thanks to Lars Noschinski).
Clean up incomplete BluetoothHost debugging commands to use GCC extension to avoid NULL parameters when no formatting is required.
2010-04-20 08:52:51 +00:00
Dean Camera d92e9133d3 Make bluetooth SDP code correctly unpack the search UUIDs and parameters.
Minor documentation improvements.
2010-04-19 10:53:14 +00:00
Dean Camera 1f682ca2de Minor documentation improvements. 2010-04-15 14:22:06 +00:00
Dean Camera 3eb81df998 Rename FunctionAttributes.h to Attributes.h, as some attributes are applicable to variables also. Add new ATTR_NOINIT attribute for global variables.
Add the beginnings of a SDP implentation to the incomplete BluetoothHost demo.

Add const attribute to the Mass Storage Host driver functions where it was applicable, but missing.
2010-04-15 11:04:24 +00:00
Dean Camera 5e14c194c9 Fixed Set/Clear Feature requests directed to a non-configured endpoint not 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.
2010-04-14 13:46:49 +00:00
Dean Camera 7b79325aa0 Removed two-step endpoint/pipe bank clear and switch sequence for smaller, faster endpoint/pipe code.
Added spacing between multiple paragraphs in Doxygen \note sections.

Removed call to the clock prescaler reset function in the Teensy bootloader to save space - the user application is accessed via a watchdog reset anyway, so the prescale reset would only affect the speed of the bootloader itself.
2010-04-13 23:29:11 +00:00
Dean Camera 19ecd04f37 Removed invalid dfu and flip related targets from the bootloaders - bootloaders can only be replaced with an external programmer. 2010-04-13 12:10:04 +00:00
Dean Camera e55f338663 Document the Bluetooth ACL layer. Remove unneeded parameters from the signalling command processing routines.
Change over the code so that the bluetooth packet data is read in by the stack rather than the user application, to make it more unform for sending/receiving, and so the library can handle incomming fragmentation in the future.

Start Service Discovery Protocol decoding and processing.
2010-04-13 11:19:04 +00:00
Dean Camera 797130bddc Bluetooth demo can now create and maintain logical channels - need to determine why Windows machines refuse to connect. 2010-04-10 05:58:37 +00:00
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.
2010-04-06 02:48:47 +00:00
Dean Camera fa1a092901 Add user callback function to the Bluetooth host demo to filter out connections from remote devices. Add in ability to reject connections based on their bluetooth device address.
Clean up RelayBoard project code.

Make AVRISP project clear the XMEGA target's reset register twice; this does not appear to take affect properly the first time under some circumstances.
2010-04-05 08:09:12 +00:00
Dean Camera a2e6d54336 Massive cleanups to the incomplete BluetoothHost demo, to make the HCL layer code much easier to read, block less and work correctly. 2010-03-31 14:32:03 +00:00
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. 2010-03-31 09:20:24 +00:00
Dean Camera de8313cd9b Add updated board driver directory summaries to the documentation. 2010-03-30 23:49:45 +00:00
Dean Camera cf4c510ec3 Oops, incorrectly edited the Benito buttons driver file instead of the JM-DB-U2 buttons driver file.
Fix up preprocessor guards in the new board driver files.
2010-03-30 23:39:10 +00:00
Dean Camera ead183bc53 Add missing board Buttons driver for the USBTINY MKII board target. 2010-03-30 09:51:08 +00:00
Dean Camera d4c421e380 Oops - make sure board driver dispatch headers test for the correct BOARD define values.
Add button support for the BENITO board target.
2010-03-30 09:46:31 +00:00
Dean Camera 61a799ed55 Added support for the JM-DB-U2 board hardware. 2010-03-30 09:28:45 +00:00
Dean Camera 3790907f4d Added board hardware driver support for the Benito programmer. 2010-03-30 09:08:26 +00:00
Dean Camera a8cbe3466b Added board hardware driver support for Tom's USBTINY MKII programmer. 2010-03-30 08:32:46 +00:00
Dean Camera 9257f4ab8e Add briefs for the library core structures. 2010-03-29 13:32:36 +00:00
Dean Camera 0557676013 Add file-level brief documentation.
Remove accidentally duplicated model-specific peripheral driver files.
2010-03-29 07:49:58 +00:00
Dean Camera ec19436d54 Add new LUFA logo by Ryo Yamauchi. 2010-03-25 08:13:39 +00:00
Dean Camera 74353374c3 All Class Driver Host mode demos now correctly set the board LEDs to READY once the enumeration process has completed.
Fixed Still Image Host class driver not resetting the transaction ID when a new session is opened, fixed driver not sending a valid session ID to the device.
2010-03-25 06:34:38 +00:00
Dean Camera b8db5fc1e7 Added new Relay Controller Board project (thanks to OBinou).
Added hardware board driver support for the PJRC Teensy line of USB AVR boards.
2010-03-24 08:06:23 +00:00
Dean Camera c2de01b661 Fixed incorrect definition of HID_ALIGN_DATA() causing incorrect HID report item data alignment. 2010-03-24 05:58:20 +00:00
Dean Camera f79f9abd28 Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL is defined (thanks to C. Scott Ananian).
Minor documentation cleanups.

Make sure HID class driver uses properly cast pointers when writing to the report buffer.
2010-03-24 05:50:09 +00:00
Dean Camera c58c53dba9 Added incomplete MIDIToneGenerator project. 2010-03-23 09:16:47 +00:00
Dean Camera 49b09a2042 Standardized the naming scheme given to configuration descriptor sub-elements in the Device mode demos, bootloaders and projects.
Fix errors in the MouseHostWithParser demo from incorrect use of the HID_ALIGN_DATA() macro.
2010-03-22 07:12:25 +00:00
Dean Camera 5227ca4ce2 Double bank CDC endpoints in the XPLAIN Bridge project, re-enable JTAG once the mode selection pin has been sampled. 2010-03-21 12:21:13 +00:00
Dean Camera 6d256c5109 Fixed LowLevel MassStorage demo broken on the U2 AVRs due to double-banked endpoints. 2010-03-19 07:33:30 +00:00
Dean Camera 72527867f6 Remove redundant check in the software PDI programming code of the AVRISP project. 2010-03-17 13:07:22 +00:00
Dean Camera 9a5ae36a4f Software PDI mode breaks unless the software USART has 100 cycles between bits. 2010-03-17 11:48:39 +00:00
Dean Camera 7d51e51c79 Increased throughput of the USBtoSerial demo on systems that send multiple bytes per packet (thanks to Opendous Inc.). 2010-03-16 12:14:09 +00:00
Dean Camera 2b74b517ea Don't enable the pullup on the target /RESET line in the AVRISP project for PDI mode - clearing the XMEGA's reset control register twice is enough to release it from reset. Possible silicon bug, since the official Atmel programmers have the same issue. 2010-03-16 12:09:22 +00:00
Dean Camera 39d56aeffe Fixed PDI programming mode in the AVRISP programmer project not exiting programming mode correctly (clear target Reset key twice, set /RESET pin to pullup).
Add newlines to the MIDI event printf() statements in the MIDI host demos.
2010-03-16 11:47:11 +00:00
Dean Camera b2bdfe4377 Improve documentation for the ADC and TWI drivers. 2010-03-15 05:38:29 +00:00
Dean Camera 4f9dd142e7 Fixed ADC routines not correctly returning the last result when multiple channels were read.
Fixed ADC routines failing to read the extended channels (Channels 8 to 13, Internal Temperature Sensor) on the U4 series USB AVR parts.
2010-03-13 10:14:51 +00:00
Dean Camera aca7863350 Added ENABLE_TELNET_SERVER compile time option to the Webserver project to disable the TELNET server if desired.
Change over static strings in the Webserver project to use PROGMEM where possible.
2010-03-10 12:48:20 +00:00
Dean Camera 92418433a5 Fix incorrect LED mask name in the Webserver project.
Fix missing text from the Host Mode States enum documentation.
2010-03-09 13:22:51 +00:00
Dean Camera ce260ae786 Webserver project now uses the board LEDs to indicate the current IP configuration state.
Don't double-read data from the attached disk in the incomplete StandaloneProgrammer project when in host mode.
2010-03-09 05:15:08 +00:00
Dean Camera a61c7f671d Minor documentation updates. 2010-03-01 02:39:02 +00:00
Dean Camera 634abab38a Fix TWI driver not aborting when faced with no response after attempting to address a device on the bus. 2010-02-25 02:47:42 +00:00
Dean Camera c0c982df7a Added a timeout value to the TWI_StartTransmission() function, within which the addressed device must respond.
Fixed TWI_StartTransmission() corrupting the contents of the GPIOR0 register.
2010-02-24 09:49:19 +00:00
Dean Camera 14a5a94084 Fix incorrect error when directly including the LUFA internal USB library components. 2010-02-24 07:01:59 +00:00
Dean Camera 071fd8ce53 Revert changes made for the partial port to the AVR32 architecture. 2010-02-24 06:58:23 +00:00
Dean Camera a7aaa45ec4 More AVR32 achitecture ports. 2010-02-24 06:21:46 +00:00
Dean Camera 3702ba1fb3 More porting of the USB core to the AVR32. 2010-02-23 14:46:11 +00:00
Dean Camera 0e6d5cf5b4 Start porting the USB core to the AVR32 UC3B. 2010-02-23 07:13:29 +00:00
Dean Camera e11fddfe66 Update Temperature board driver to be AVR32 compatible when the ADC peripheral driver is eventually ported. Make architecture includes explicit for both the AVR32 and the AVR8, to make way for future architecture ports.
Add SPI driver aliases for the old function names in the AVR8 driver, so that existing code will still compile against the new version.
2010-02-23 03:51:17 +00:00
Dean Camera c24027f3b5 Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin.
Fix broken AVR8 Serial peripheral driver.
2010-02-23 01:03:27 +00:00
Dean Camera 2590452104 Change over board hardware drivers to use the custom uintN_t and intN_t native word size types. 2010-02-22 12:58:40 +00:00
Dean Camera d2ed97e34b Update manual pages to reference unfinished AVR32 port, add port status to the Future Changes page. 2010-02-22 12:45:52 +00:00
Dean Camera 99a45fa97d Add start of an AVR32 SPI driver. 2010-02-22 12:36:08 +00:00
Dean Camera ff8e0ea2d6 Rename AVRU4U6U9 peripheral driver directory to AVR8. 2010-02-22 12:05:36 +00:00
Dean Camera 1d8bb8f9bc Make SPI and USART peripheral dispatch driver headers in preparation for a set of AVR32 peripheral drivers. 2010-02-22 12:01:09 +00:00
Dean Camera aae20139b9 Add drivers for the EVK1101 - begin full port to the AVR32 UC3B line of AVRs. 2010-02-22 11:44:34 +00:00
Dean Camera 12a01ed72d Increased the speed of both software and hardware TPI/PDI programming modes of the AVRISP project. 2010-02-21 05:44:12 +00:00
Dean Camera ce8d0424b1 AVRISP programmer project now has a more robust timeout system, allowing for a doubling of the software USART speed for PDI and TPI programming. 2010-02-19 05:17:41 +00:00
Dean Camera 04d40897cf Commit for the 100219 release. 2010-02-19 00:07:22 +00:00
Dean Camera 012628f635 Turn OFF double banking in the Webserver demo - leaving it on seems to destroy the system throughput. 2010-02-18 05:10:24 +00:00
Dean Camera 96a12cd12c Add missing TWI_Init() call to the TemperatureDataLogger project. Make DUMMY_RTC compile time option the default, so that it works correctly on the USBKEY and other Atmel boards out of the box. 2010-02-15 13:40:53 +00:00
Dean Camera 67cb070810 Fix HID Host Class driver sending incorrect ReportType values to the device when issuing requests via the control pipe. 2010-02-14 22:13:11 +00:00
Dean Camera 8154331da6 Move DHCP negotiation timer into the DHCP connection application state structure, so that each connection gets its own timeout counter (only one connection currently used, but this way is more correct). Add const correctness to static data in the TELNETServerApp.c and HTTPServerApp.c files. 2010-02-12 07:27:26 +00:00
Dean Camera a71820b259 Fixed accuracy of the SERIAL_UBBRVAL() and SERIAL_2X_UBBRVAL() macros for higher baudrates (thanks to Renaud Cerrato). 2010-02-12 05:01:11 +00:00
Dean Camera d49cc0f783 Add more include protection macros to give the user warnings when they try to manually include private driver header files, instead of the public driver headers. 2010-02-11 04:05:02 +00:00
Dean Camera ab195ab1da Added .5MHz recovery clock to the AVRISP programmer project when in ISP programming mode to correct mis-set fuses.
Fixed AVRISP project not extending the command delay after each successful page/word/byte program.
2010-02-10 04:02:10 +00:00
Dean Camera 35a0fe9384 Fixed USB_GetHIDReportSize() returning the number of bits in the specified report instead of bytes.
Moved the USB_GetHIDReportItemInfo() calls into the main report item passing loop in the *HostWithParser demos - it is fast enough not to effect performance, and avoids duplicate code.

Make Webserver project report the LUFA version as part of the HTTP header.
2010-02-09 12:30:51 +00:00
Dean Camera 7ae91099e9 Fix AVRISP-MKII clone project's TPI Chip Erase command processing - ensure erase location is the high byte in the given address space, check NVMBUSY for completion rather than the NVM Bus Enable bit.
Change If-Else chains over to switch statements in XPROGProtocol.c for clarity.
2010-02-08 03:16:09 +00:00
Dean Camera 0c5d6f5f97 Added Keyboard LED report masks (KEYBOARD_LED_*) to the HID class driver and demos. 2010-02-07 13:56:36 +00:00
Dean Camera 1fdc0e664e Make Webserver allow HTTP requests for files with up to 50 characters in the path instead of 30, to be in synch with the project documentation.
Change Webserver project's ENABLE_DHCP compile time option to ENABLE_DHCP_CLIENT to more accurately indicate its function.
2010-02-07 10:46:02 +00:00
Dean Camera 196724c62d Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) to the HID class driver and Keyboard demos. 2010-02-07 07:31:53 +00:00
Dean Camera 7602566a05 Fixed SerialStream driver not setting stdin to the created serial stream. 2010-02-05 07:27:01 +00:00
Dean Camera 658234a0b0 Oops - serial stream driver should return _FDEV_EOF when no data has been received, not EOF. 2010-02-05 06:44:10 +00:00
Dean Camera 6ba0b860cc Fixed SerialStream driver blocking while waiting for characters to be received instead of returning EOF. 2010-02-05 03:59:42 +00:00
Dean Camera 15f84bb8f5 New BOARD value option BOARD_NONE (equivelent to not specifying BOARD) which will remove all board hardware drivers which do not adversely affect the code operation (currently only the LEDs driver).
Spell-check code/comments in the Webserver/AVRISP-MKII projects.
2010-02-04 02:27:09 +00:00
Dean Camera 16ea5aa7a2 Add a TELNET server to the webserver project, which currently can list active TCP connections. 2010-02-03 10:39:33 +00:00
Dean Camera a96d77eca7 Add documentation to the USB Class Drivers module on how to use the Host mode class drivers. 2010-02-02 14:02:18 +00:00
Dean Camera 84e1241f80 Replace the Webserver demo's uIP with the latest code ripped from the Contiki project by Adam Dunkels. 2010-02-02 12:51:05 +00:00
Dean Camera 4d246a82cb Fixed incorrect values of USB_CONFIG_ATTR_SELFPOWERED and USB_CONFIG_ATTR_REMOTEWAKEUP tokens (thanks to Claus Christensen).
Mark the AVRISP-MKII project descriptors as being both Bus Powered and Device Powered.

Copy over file level documentation of the peripheral drivers to the module level documentation.
2010-02-01 12:35:48 +00:00
Dean Camera a4ebf4e920 Make board specific and device peripheral specific drivers' file documentation copy over to the module documentation, so that it is visible in the normal module view of the library documentation. 2010-02-01 10:34:07 +00:00
Dean Camera 2ae397dc2f Fixed STK525 Dataflash driver using incorrect bit-shifting for Dataflash addresses (thanks to Tim Mitchell). 2010-02-01 10:09:18 +00:00
Dean Camera 9e7ffcb014 Make AVRISP XPROG function parameters const where possible. 2010-02-01 05:34:59 +00:00
Dean Camera 5f363996e3 Fixed issues with EEPROM and FLASH ISP programming in the AVRISP project. 2010-02-01 03:42:10 +00:00
Dean Camera b6a4584a19 Fixed Pipe_IsEndpointBound() function not taking the endpoint's direction into account.
Re-added Pipe_IsEndpointBound() calls to the CDC and RNDIS host class drivers, not that the function has the correct behaviour for devices with bidirectional endpoints.
2010-02-01 01:27:00 +00:00
Dean Camera 254a0c1ae8 Update driver INF files - change manufacturer name from the original template's name to the Four Walled Cubicle website. 2010-01-29 06:32:20 +00:00
Dean Camera fa3135d485 Add MIME type handling to the Webserver project, so that files of different types (e.g. images) can be served out to HTTP clients. 2010-01-29 02:43:07 +00:00
Dean Camera e81a4c950f Removed the stream example code from the Low Level VirtualSerial demos, as they were buggy and only served to add clutter. 2010-01-28 14:12:26 +00:00
Dean Camera 5f776f4785 Fix up project documentation files' overview tables, so that multiple items occupy multiple lines in the same cell, rather than multiple cells. 2010-01-28 13:17:36 +00:00
Dean Camera d26a9ed5fd Be doubly-certain that the incomming CDC class driver's endpoint/pipe is flushed only once when the bank is empty. 2010-01-28 06:37:26 +00:00
Dean Camera cec699ac59 Clean up Webserver project - add more Doxygen documentation for the new DHCP client functions and defines. 2010-01-27 13:45:08 +00:00
Dean Camera a960e4b3b2 Add DHCP server to the Webserver demo for automatic network configuration. Correct uIP timer clock not tracking the correct timespan. 2010-01-27 13:15:49 +00:00
Dean Camera 1aeb5056d6 Ensure TPI enable timing requirements are met in AVRISP-MKII programmer. Remove invalid code in the TPI read/write functions. 2010-01-27 03:45:15 +00:00
Dean Camera 2059fd8b1a Manually pull PDI clock pin high for 1ms before disabling PDI mode in the AVRISP-MKII project, to ensure that the PDI bus is disabled in the target and /RESET functionality restored. 2010-01-27 02:59:54 +00:00
Dean Camera 4bd44139b1 Move TWI.c driver into the straight LUFA/Drivers/Peripheral/ directory.
Fix TemperatureDataLogger and Webserver project builds.
2010-01-25 13:02:25 +00:00
Dean Camera db420853ce Add Webserver project Doxygen configuration file and overview document.
Fix Doxygen configuration files' input file exclusion filters.
2010-01-25 12:46:57 +00:00
Dean Camera 431db89b00 Fixed CDC and RNDIS host demos and class drivers - bidirectional endpoints should use two seperate pipes, not one half-duplex pipe. 2010-01-25 11:50:41 +00:00
Dean Camera 74b6993d66 Cleanup and partially fix AVRISP-MKII project's TPI programming support. 2010-01-25 04:13:44 +00:00
Dean Camera 857381185d ADC2 and ADC3 channels do not exist on the U4 series USB AVRs. 2010-01-25 02:15:27 +00:00
Dean Camera b68f7f1649 Added explicit ADC channel masks for the standard set of ADC channels, as the single-ended channel MUX masks are not equal to the channel number on some AVR models. Changed demos to use the new channel masks when using the ADC driver. 2010-01-25 00:52:45 +00:00
Dean Camera 871d9bf1af Fixed DFU bootloader programming not discarding the correct number of filler bytes from the host when non-aligned programming ranges are specified (thanks to Thomas Bleeker). 2010-01-24 13:38:20 +00:00
Dean Camera dd995683ea Enhance TemperatureDatalogger project -- add RTC capabilities so that data is logged along with the current time and date. Make logging interval configurable, set by a C# PC host application. 2010-01-24 11:13:23 +00:00
Dean Camera 03ee87b35a Fix up the incomplete Webserver project so that it integrates with the uIP stack correctly. Add simple HTTP webserver as a placeholder until FatFS can be integrated.
Begin to look into the RNDIS Host Class Driver, which seems to crash on test hardware after many packets have been received.
2010-01-21 13:45:44 +00:00
Dean Camera 5a4197a91e Update library manual with the new XPLAINBridge project's dual mode bridge/programmer functionality. 2010-01-19 05:43:58 +00:00
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. 2010-01-19 05:27:58 +00:00
Dean Camera 2746154652 Added master mode hardware TWI driver.
Fixed a bug in the incomplete Webserver project, where the packet data was not being written to and read from the correct buffer address.
2010-01-19 00:25:26 +00:00
Dean Camera f9781ca6ff Fix the Benito project not pulsing the target's /RESET line when DTR is de-asserted. 2010-01-17 05:32:41 +00:00
Dean Camera f3d370a777 Clean up and add more comments to the AVRISP-MKII project. Make sure the SPI_MULTI command handler supports multiple packet responses. Use slightly smaller/faster repeated indirect-load commands when retrieving the PDI target's memory CRCs. 2010-01-17 04:39:33 +00:00
Dean Camera b0ce1eab66 Fix incorrect preprocessor checks in the PLL prescaler mask determination code for the ATMEGA32U2. 2010-01-16 00:40:52 +00:00
Dean Camera 77dda302ac Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers
Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders

Changed incomplete Webserver project over to using the uIP timer library.
2010-01-15 02:42:54 +00:00
Dean Camera f0d6d4ef13 Started Webserver RNDIS host project. 2010-01-12 07:29:43 +00:00
Dean Camera 89e4d73289 Fixed incorrect interface values in the VirtualSerialMouse and KeyboardMouse demo class driver structures.
Added caveat information to the CDC device class driver.
2010-01-12 00:42:00 +00:00
Dean Camera 5fc294a650 Oops - incorrect Dataflash chip select mask in the XPLAIN Dataflash driver. 2010-01-07 13:23:43 +00:00
Dean Camera a56d95e8c2 Fix XPLAIN Dataflash and LED drivers. 2010-01-07 12:38:32 +00:00
Dean Camera efb6c35778 Update Doxygen configuration files to the latest Doxygen version. 2010-01-06 13:37:29 +00:00
Dean Camera d97db1120b Added support to the MIDI Class drivers for packed data, where multiple MIDI events are packed into a single USB packet. Added new MIDI Class driver flush routines to override packing behaviour. 2010-01-05 13:52:34 +00:00
Dean Camera 60e9641222 Inline USB management functions in the Class drivers which are standardized but currently unused, to prevent them from using up unneccesary cycles and flash in the user application. 2010-01-05 04:50:18 +00:00
Dean Camera 6122ba93cf Fix MassStorageKeyboard demo USE_INTERNAL_SERIAL check being performed before the required library headers were included, causing a compilation error.
Added notes to the class driver functions indicating which functions require what Device/Host state machine states to function.
2010-01-04 13:34:02 +00:00
Dean Camera 1e1cf2c499 Fix CDC blocking streams in Host mode locking up when the device is removed. 2010-01-04 00:33:31 +00:00
Dean Camera 71e5bcee3d Fixed blocking CDC streams not aborting when the host is disconnected. 2010-01-04 00:14:09 +00:00
Dean Camera 58a39c6666 Clean up MassStorageKeyboard demo. 2010-01-03 03:48:40 +00:00
Dean Camera 7f9f97c792 Update copyright year to 2010. 2009-12-30 23:49:19 +00:00
Dean Camera 208edeee0f Add new TemperatureDataLogger project, a simple USB Mass Storage class Temperature Data Logger using the onboard Dataflash and Temperature sensor. 2009-12-30 09:00:29 +00:00
Dean Camera b1dbd92c32 Fixed AVRISP PDI race condition where the guard time between direction changes could be interpreted as a start bit. Fixed TPI interface lines not being changed correctly when in bit-banged TPI mode. 2009-12-29 14:43:03 +00:00
Dean Camera 93fe420d89 Minor documentation updates. 2009-12-29 05:08:08 +00:00
Dean Camera d4ca7fb44c Fix MIT license language to make its intent clearer. 2009-12-28 00:34:20 +00:00
Dean Camera 8301dc553e Fix references to the renamed AVRISP-MKII project folder. 2009-12-27 12:35:31 +00:00
Dean Camera 8cd7e118e9 Fixed ISP mode in the AVRISP programmer project. 2009-12-26 05:20:10 +00:00
Dean Camera d1608d4af3 Added const where possible to the source functions in the Projects directory.
Added command timeout to the AVRISP project so that incorrectly connected targets no longer freeze the device.

Removed string descriptors from the TeensyHID bootloader to reduce its size.
2009-12-26 04:13:55 +00:00
Dean Camera ce044844ea Combine AVRISP project TPI and PDI lib directories - these protocols use the same underlying XPROG wrapper for the host-to-programmer command wrapping. 2009-12-24 01:55:53 +00:00
Dean Camera cda88cf97c Start of implementation of the low level TPI programming protocol in the AVRISP project. 2009-12-23 12:54:15 +00:00
Dean Camera d4952265a6 Ensure that unsupported SetFeature/ClearFeature request targets cause a STALL back to the host. 2009-12-21 08:29:12 +00:00
Dean Camera 37c9ba7fa9 Fixed AVRISP project timeouts not checking for the correct timeout period (thanks to Carl Ott). 2009-12-20 22:33:48 +00:00
Dean Camera 8b75659563 Added new NO_DEVICE_SELF_POWER and NO_DEVICE_REMOTE_WAKEUP compile time options. 2009-12-20 13:00:49 +00:00
Dean Camera 77cd3a42a7 Fixed TeensyHID bootloader not enumerating to the host correctly. 2009-12-20 12:09:22 +00:00
Dean Camera 3b3ea167f0 Renamed HotmailNotifier project to LEDNotifier. 2009-12-18 05:22:57 +00:00
Dean Camera 3d6508c9b9 Enhance the HotmailNotifier project so that the LEDs' individual brightness can be controlled individually via software PWM. 2009-12-18 04:40:15 +00:00
Dean Camera 2cab8f0725 Fixed USB_CurrentMode not being reset to USB_MODE_NONE when the USB interface is shut down and both Host and Device modes can be used (thanks to Daniel Levy). 2009-12-18 00:32:21 +00:00
Dean Camera c3758ac5ef Un-inline the SendAddress function in NVMTarget.c/.h of the AVRISP project.
Add new HotmailNotifier project, which changes a LED's colour based on the user's unread email count as sent from Windows Live Messenger.
2009-12-17 10:02:19 +00:00
Dean Camera 108a22a66a The SImage_Host_SendBlockHeader() and SImage_Host_ReceiveBlockHeader() Still Image Host Class driver functions are now public. 2009-12-16 04:03:08 +00:00
Dean Camera 461607020c Use default NVM base address in the AVRISP programmer project in case the host programmer software doesn't set it correctly. 2009-12-16 03:17:18 +00:00
Dean Camera 2f6c096050 Complete initial working revision of PDI programming in the AVRISP project (XMEGAs can now be programmed by the firmware). 2009-12-15 10:06:49 +00:00
Dean Camera 79efd8c79e Fix a bug in the Still Image Host Class driver where the returned block status code was being truncated.
Add programming support to the AVRISP project's PDI programming mode; paged memory writes are not currently functional.
2009-12-15 05:17:52 +00:00
Dean Camera 6648234157 Test with -Wextra, fix library warnings due to unused function parameters. 2009-12-13 14:43:34 +00:00
Dean Camera 32b7762325 Oops - wrong casting on the Configuration Descriptor pointer advance routine. 2009-12-13 14:16:29 +00:00
Dean Camera 3705330dd3 Use -pedantic compile time option to find and correct several minor code errors. 2009-12-13 14:09:25 +00:00
Dean Camera 307ba254d5 The AVRISP project can now enter PDI mode under both bit-bang and hardware USART connection modes, tested against the XPLAIN board hardware. Still need to complete higher level NVM access code so that the device's memories can be read and written. 2009-12-13 12:50:47 +00:00
Dean Camera 1e3513ed70 Add even parity bit to the software USART framing in the AVRISP project's PDI programming code. 2009-12-09 12:31:55 +00:00
Dean Camera 9c8ed168e5 Fix inverted bit-banged USART logic in the AVRISP project for PDI programming. Add a delay to the clock toggling in the AVRISP project to ensure that the programming speed does not exceed 10MHz under any conditions to satisfy the limits in the datasheet for all target voltages. Fix incorrect pin being used as the DATA in in PDI programming mode. 2009-12-09 12:01:01 +00:00
Dean Camera e4cfd5208f Fix incorrect definition of Endpoint_BytesInEndpoint() for the U4 parts. 2009-12-09 07:09:52 +00:00
Dean Camera 7ace314cc1 Increase timeout of Mass Storage and Still Image host commands to 10 seconds (up from 5) to account for slow-processing devices.
Added brace guards to macros with parameters to prevent unintended changed evaluation of the macro expression.

Minor code cleanups (remove redundant comments, fix spacing, etc.).
2009-12-09 00:50:55 +00:00
Dean Camera 2281750b5f Make sure that USB_STREAM_TIMEOUT_MS is set in the MassStorageHost ClassDriver demo, so that slow devices don't time out the data pipe. Increase pipe timeout in both MassStorageHost demos to 5 seconds to account for the really slow devices.
Fix TeensyHID bootloader not properly shutting down the USB interface to trigger a disconnection on the host before resetting the AVR.
2009-12-08 07:43:33 +00:00
Dean Camera 7a9b3d3641 Rename CDC demos to VirtualSerial. 2009-12-07 04:18:07 +00:00
Dean Camera c1fa230618 Add new USB_Host_GetDeviceStringDescriptor() convenience function. 2009-12-06 13:37:30 +00:00
Dean Camera c49bdcb7c9 Fixed Mass Storage Host Class driver and Low Level demo not clearing the error condition if an attached device returns a STALL to a GET MAX LUN request (thanks to Martin Luxen). 2009-12-04 09:08:48 +00:00
Dean Camera 478d9dc04f Added support for the Atmel EVK527 board hardware. 2009-12-04 06:02:28 +00:00
Dean Camera 7e86387958 Fix double oops -- Host mode settle delay was still being ignored due to inverted logic, HID Parser was assigning the usage Min/Max usage value to the report item's collection path rather than the report item itself. 2009-12-04 02:06:38 +00:00
Dean Camera a925407588 Oops - fix Host mode pre-enumeration settle delay being ignored leading to failure to enumerate certain devices. 2009-12-04 01:29:20 +00:00
Dean Camera d6e3259f8b Fix incorrect const'ness of the ReportItem parameter in USB_SetHIDReportItemInfo(). 2009-12-04 01:09:39 +00:00
Dean Camera 2919aeeaab Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items.
Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype.

Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values.
2009-12-04 01:06:26 +00:00
Dean Camera 258a6a0177 Fix the tokens which enable and disable the different programming protocols in the AVRISP project. 2009-12-03 09:12:36 +00:00
Dean Camera bae00a3d42 Added support for the Dataflash mounted on the XPLAIN board. Added new XPLAIN_REV1 board target for the first revision XPLAIN board, which used a different (smaller) Dataflash IC to later revisions. 2009-12-03 08:59:12 +00:00
Dean Camera a5adbae652 Document the PDI programming routines implemented so far in the AVRISP project. Add ability to selectively disable ISP programming support in addition to the existing ability to disable PDI programming support. 2009-12-03 07:42:56 +00:00
Dean Camera fec31947a6 Removed John Steggall's software UART code from the XPLAIN Bridge project due to reliability issues. 2009-12-02 14:03:57 +00:00
Dean Camera 1f8dfd0205 Add support for unwrapping of the XMEGA PDI programming protocol to the AVRISP Programmer project. 2009-12-02 13:42:08 +00:00
Dean Camera 1b2cd16976 Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device. 2009-11-30 02:20:26 +00:00
Dean Camera b7f6a65c25 Fixed USB driver failing to define the PLL prescaler mask for the ATMEGA8U2 and ATMEGA16U2.
Simplified the USB.h master include file's target validity checks.
2009-11-29 07:41:54 +00:00
Dean Camera 414b92e812 Add to the existing CDC Class Driver's CreateStream() function documentation to explicitly state that the created streams are bidirectional. 2009-11-29 05:19:41 +00:00
Dean Camera 958d28d05d Better checking of whether a packet is received in the RNDISEthernetHost Class driver demo - show busy LED status while packets are being printed out. 2009-11-27 06:32:26 +00:00
Dean Camera 5e46801096 Complete RNDIS Host Class driver code - add SendPacket function.
Correct CDC Host Class driver token handling for sending data on bidirectional data endpoints.
2009-11-26 11:40:15 +00:00
Dean Camera 9ba8da7412 Make the RNDISEthernetHost Class driver demo print out incomming packets from the attached RNDIS device. 2009-11-26 11:29:06 +00:00
Dean Camera 2a28862dcc Make MIDI device demos also turn off the on board LEDs if MIDI Note On messages are sent with a velocity of zero, which some devices use instead of Note Off messages (thanks to Robin Green). 2009-11-26 11:16:20 +00:00
Dean Camera f6de4db000 Remove documentation of deleted parameters from the RNDIS Host Class driver's device Initialize function. 2009-11-26 05:08:00 +00:00
Dean Camera 04e177b66e Fix RNDIS Device Class driver - RNDISConstants.h has moved out to the Common Class driver directory. 2009-11-26 04:50:15 +00:00
Dean Camera 5aa2b26261 Added new RNDIS Host class driver and the beginnings of a RNDISEthernetHost Class Driver demo.
Fixed all Class drivers to ensure they have appropriate guards on each function to ensure the device is enumerated before running, fixed error codes on all guards to return "DeviceDisconnected" where possble.

Renamed HOST_SENDCONTROL_DeviceDisconnect enum value to HOST_SENDCONTROL_DeviceDisconnected to be in line with the rest of the library enum error codes.
2009-11-26 04:46:31 +00:00
Dean Camera f37d21bbe9 Updated John Steggall's software USART in the XPLAINBridge project. 2009-11-26 01:17:29 +00:00
Dean Camera ab602a8b48 Fix typo in the StillImageHost LowLevel demo, and the CDC Host Class Driver. 2009-11-25 04:23:40 +00:00
Dean Camera 50f4a3b625 Fix build and Doxygen errors. 2009-11-25 03:56:51 +00:00
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. 2009-11-25 03:26:57 +00:00
Dean Camera c05c7c7df4 Added new XPLAIN serial Bridge project (thanks to John Steggall for the software UART code). 2009-11-25 00:36:18 +00:00
Dean Camera 59ed10273c Fixed host state machine not enabling Auto VBUS mode when HOST_DEVICE_SETTLE_DELAY_MS is set to zero. 2009-11-24 08:54:41 +00:00
Dean Camera e4bf986bb3 Fixed broken USB_GetNextDescriptor() function causing the descriptor to jump ahead double the expected amount.
Fixed Pipe_IsEndpointBound() not masking the given Endpoint Address against PIPE_EPNUM_MASK.
2009-11-24 01:56:59 +00:00
Dean Camera 702bec892d Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions. 2009-11-23 13:35:52 +00:00
Dean Camera 8b009bc113 Added new ReportType parameter to the HID Device Class driver CALLBACK_HID_Device_CreateHIDReport() callback to indicate the report type to generate. 2009-11-23 13:22:33 +00:00
Dean Camera c438d01f87 Fixed incorrect values for REPORT_ITEM_TYPE_* enum values causing corrupt data in the HID Host Parser. 2009-11-23 13:01:50 +00:00
Dean Camera aaa0bed556 The incomplete StandaloneProgrammer project now uses Host and Device Mass storage classes, so that program data can either be loaded onto the device's Dataflash storage, or read off an attached USB memory stick.
The USB target family and allowable USB mode tokens are now public and documented (USB_CAN_BE_*, USB_SERIES_*_AVR).

The SCSI_Request_Sense_Response_t and SCSI_Inquiry_Response_t type defines are now part of the Mass Storage Class driver common defines, rather than being defined in the Host mode Class driver section only.

The USB_MODE_HOST token is now defined even when host mode is not available.

Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver.
2009-11-23 12:40:14 +00:00
Dean Camera 6e867f7d9b Removed code to zero reports between two keyboard reports with differing number of pressed keys, as this relied on non-standard OS behaviour. 2009-11-23 05:45:59 +00:00
Dean Camera 86db035b1e Add activity LED updates to the AVRISP project. 2009-11-23 05:28:08 +00:00
Dean Camera bcf07edeb2 Commit for the 091122 release. 2009-11-22 04:56:59 +00:00
Dean Camera 6c38ca2890 Fixed Endpoint_Write_Control_Stream_* functions not sending a terminating IN when the given data length is zero. 2009-11-20 06:56:43 +00:00
Dean Camera 7ef58eef7a Fixed LowLevel Keyboard demo not saving the issued report only after it has been written to the endpoint.
Added support for multiple keyboard keycodes in a single report to the LowLevel and ClassDriver Keyboard demos.
2009-11-20 04:39:41 +00:00
Dean Camera d753512cca Fix doxygen documentation - doxygen was getting confused on the variable-length ATTR_NON_NULL_PTR_ARG() macro used on function prototypes and was generating many return types for several functions in the documentation (thanks to David Lyons). 2009-11-17 11:28:07 +00:00
Dean Camera 9b20114555 Make RNDISHost demo validate the set Packet Filter to ensure that it is being sent correctly.
Add new (incomplete) StandaloneProgrammer project, using the ELM Petite FAT library to read files stored on the board's dataflash by the host.
2009-11-17 10:32:17 +00:00
Dean Camera 79e54580ae Fixed HOST_STATE_AS_GPIOR being ignored whilst in Host mode (thanks to David Lyons). 2009-11-16 05:45:05 +00:00
Dean Camera ea5236b3e1 Fix incorrect compiler error message when F_CLOCK is not defined by the user (thanks to Dave Lyons). 2009-11-15 13:09:02 +00:00
Dean Camera 21cc9c9e19 Cleanups to the MassStorage Device demos, and the MassStorage Device Class driver. 2009-11-15 12:50:23 +00:00
Dean Camera 588886878e Corrections, improvements and additions to the incomplete RNDISHost demo.
Change device demos which use the joystick to use the natural UP, DOWN, LEFT, RIGHT ordering in all demos when checking the joystick's position.
2009-11-13 13:24:04 +00:00
Dean Camera e625fd6df3 Corrected the name of the misnamed USB_GetDeviceConfigDescriptor() function to USB_Host_GetDeviceConfigDescriptor(). 2009-11-13 10:07:25 +00:00
Dean Camera 652042111c Add blocking versions of the CDC Class driver streams, for applications requiring blocking reads. 2009-11-12 12:47:15 +00:00
Dean Camera 6a46f0025a Add beginnings of a RNDIS Ethernet Host demo. 2009-11-12 10:43:07 +00:00
Dean Camera 04774208b6 Minor code cleanups for clarity. 2009-11-11 09:09:39 +00:00
Dean Camera 5de364163f Update CDC Class Driver character stream functions to use the correct avr-libc return codes for errors and EOF.
Fix pointer arithmetic on void byte buffers by explicitly typecasting the buffer pointers to uint8_t* before altering them.
2009-11-10 11:24:15 +00:00
Dean Camera c1782ac024 Added new stream creation function to the CDC Class drivers, to easily make standard streams from CDC Class driver instances. 2009-11-10 06:22:03 +00:00
Dean Camera d6edfe35c8 Spell check all source code variables, comments and strings. 2009-11-09 13:15:28 +00:00
Dean Camera 8bb007f80b Fixed HID host Class driver report send/receive report broken when issued through the control pipe.
Make Mass Storage device Class driver accept resets at any time, rather than just after a command block has been processed.

Remove the HID device parser from the boot protocol Keyboard/Mouse demos.
2009-11-09 08:24:01 +00:00
Dean Camera 4dde844e9f Remove dependancies from the LowLevel demos to the ClassDriver demos, since the use of ClassDriver headers now outputs an error when NO_STREAM_CALLBACKS is used. 2009-11-08 21:56:18 +00:00
Dean Camera 34dc7f241f Make Low Level host demos use void pointers for the configuration descriptor, to prevent warnings when passed to the altered configuration descriptor parsing routines.
Added preprocessor checks to give a human readable error when the class drivers are used when the incompatible NO_STREAM_CALLBACKS compile time option is used.
2009-11-07 07:23:03 +00:00
Dean Camera 64e5c4084f Add optional pipe double banking support to the Host mode Class drivers.
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.
2009-11-07 03:51:24 +00:00
Dean Camera f29fc1abc4 Add double banking property to LUFA powered projects in the Projects directory. Add guards to macro parameters to ensure that formulas passed as parameters don't mess up the internal macro structure. 2009-11-06 14:32:01 +00:00
Dean Camera f7ab433c67 Add optional double-banking support to the Device mode Class Drivers, on a per-endpoint, per-interface level. 2009-11-06 13:43:18 +00:00
Dean Camera 1c7aa68596 Add other missing Printer.h main class driver dispatch file. 2009-11-04 13:23:47 +00:00
Dean Camera 4563350628 Add missing Printer.h common class driver file. 2009-11-04 13:22:38 +00:00
Dean Camera 8ba51f090f Added new Printer Host mode Class driver.
Added new Printer Host mode ClassDriver demo.

Added table of supported classes and modes to the main USB Class Driver documentation.
2009-11-04 13:16:53 +00:00
Dean Camera 4670b39070 Fixed HID report parser collection paths invalid due to misplaced semicolon in the free path item search loop. Increased the default number of collection paths allowable by the parser. 2009-11-04 07:14:38 +00:00
Dean Camera 87b2572ae5 Added new JoystickHostWithParser demos to the library.
Add some missing documentation to some of the library demos.
2009-11-04 04:55:10 +00:00
Dean Camera f93f732108 Update DevChapter9.c - use the Endpoint_ClearStatusStage() function where 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.
2009-11-04 04:17:11 +00:00
Dean Camera 0899deaae3 Add new CDCMouse ClassDriver device demo, combining a CDC Virtual Serial Port and a HID Mouse. 2009-11-03 12:12:07 +00:00
Dean Camera 5832bab02f Rename the AT90USBXXX67 internal driver directory to AVRU4U6U7. 2009-11-03 11:11:51 +00:00
Dean Camera 870591983c Add const attribute to class driver APIs.
Add new manual pages detailing the advantages of LUFA over the official Atmel USB AVR stack, and reasons why LUFA should be used over a built-from-scratch USB stack.
2009-11-03 02:06:13 +00:00
Dean Camera de8c9445d4 Make HID device class driver ignore the previous HID report comparison buffer when the user sets it to NULL, disabling automatic report comparisons. Update HID device class driver documentation giving previous report buffer limitations. 2009-10-26 11:44:36 +00:00
Dean Camera cf610c5c91 Make HID device class driver reselect the correct endpoint after the user callbacks have fired. 2009-10-26 05:27:59 +00:00
Dean Camera de70f0f1cf Moved USBtoSerial demo the Projects directory, as it is simply an expanded CDC demo. Added const qualifier to Endpoint/Pipe stream write routines. 2009-10-18 05:35:48 +00:00
Dean Camera c3dfc58707 Fix invalid Event name rule in demo/project makefiles. 2009-10-16 08:04:51 +00:00
Dean Camera e53c120a22 Fix AudioOutput and AudioInput class driver demos' descriptors -- incorrect value was being supplied in the audio descritors field giving the number of discrete audio formats the device supports. 2009-10-14 09:42:11 +00:00
Dean Camera dc68de15b6 Make Audio device demos compatible with AVRs running at 16MHz instead of 8MHz.
Fix up demo documentation device compatibility list to be as general as possible to reduce changes required as Atmel releases more devices within the same USB AVR series.
2009-10-12 05:59:55 +00:00
Dean Camera be9d0a5aa9 Added stdio.h stream examples for the virtual CDC UART in the CDC host demos.
Removed accidental reference to the incomplete MIDI class bootloader in the Bootloader folder makefile.
2009-10-11 06:14:08 +00:00
Dean Camera c7bc3ec391 Add new MIDI Host Class driver to the library, and new MIDIHost ClassDriver demo.
Make MouseHost and KeyboardHost ClassDriver demos use the HID Class driver's structures for the boot protocol Mouse/Keyboard report data, rather than rolling their own.
2009-10-08 08:46:27 +00:00
Dean Camera 664a292181 Application documentation/comment cleanup. 2009-10-08 07:18:28 +00:00
Dean Camera bdedbd558c Add new MIDIHost LowLevel demo application.
Make unfinished device mode applications use the VID/PID reserved for LUFA development devices.
2009-10-08 07:00:44 +00:00
Dean Camera 09575f9607 Fix accidentally changed code breaking the HID descriptor parser. 2009-10-05 05:20:30 +00:00
Dean Camera 046fff2aff Fix broken Endpoint/Pipe stream templates.
Simplify AudioOutput demos, to reduce the number of cycles needed to process each incomming sample.
2009-10-04 07:57:15 +00:00
Dean Camera db435c4995 Minor documentation fixups. 2009-10-03 15:30:29 +00:00
Dean Camera 433399b05d Changed Audio Class driver sample read/write functions to be inline, to reduce the number of cycles needed to transfer samples to and from the device (allowing more time for processing and output).
Fixed ClassDriver AudioOutput demo not selecting an audio output mode.
2009-10-03 07:59:32 +00:00
Dean Camera 3ebfb998ec Added support for the Atmel XPLAIN board. 2009-10-02 09:11:37 +00:00
Dean Camera b7eead83aa Cleanups to the Device mode Mass Storage demo applications' SCSI routines. 2009-10-02 07:40:24 +00:00
Dean Camera 3ecc462954 Added pinouts to the AVRISP project for a standard ISP 6 Pin header to make construction of a standard ISP programmer easier. 2009-10-01 09:41:13 +00:00
Dean Camera 2f643f6143 Added new HID_HOST_BOOT_PROTOCOL_ONLY compile time token to reduce the size of the HID Host Class driver when Report protocol is not needed. 2009-09-30 08:16:42 +00:00
Dean Camera baa1b22654 Fixed issue in the HID Host class driver's HID_Host_SendReportByID() routine using the incorrect mode (control/pipe) to send report to the attached device. 2009-09-30 07:58:17 +00:00
Dean Camera 89c837ee34 Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for sytax errors in the library.
MIDI device demos now receive MIDI events from the host and display note ON messages via the board LEDs.

Added beginnings of a MIDI class bootloader.
2009-09-30 04:40:36 +00:00
Dean Camera 7977663f62 Add information on the new MouseHostDevice dual role demo to the library documentation. Add a 0x prefix to the LUFA_VERSION_INTEGER define to ensure that it is stored as BCD, and not an octal value. 2009-09-29 07:15:09 +00:00
Dean Camera e57e08c672 Fixed PrinterHost demo returning invalid Device ID data when the attached device does not have a device ID (thanks to Andrei Krainev). 2009-09-28 15:56:27 +00:00
Dean Camera 409c49f057 Doxygen fixes to \param directives to give data direction in all projects. Make HID item filtering routines clearer in the HID WithParser demos. 2009-09-24 02:05:33 +00:00
Dean Camera 573a27d90a Fix incorrect names for the HID Host protocol setting routines. 2009-09-24 01:52:57 +00:00
Dean Camera 849b9535e7 Add new error condition to the HID Report Parser for when a report is parsed but no unfiltered items are encountered (i.e. nothing of interest in the device report). Make all host HID "WithParser" demos print the new error condition. 2009-09-22 08:07:48 +00:00
Dean Camera 576f40f5ae Move Dataflash operational checking code out from SCSI.c into the DataflashManager.c in the Device mode Mass Storage demos. 2009-09-22 07:53:57 +00:00
Dean Camera 242303c160 Add new attributes to the HID Report Parser and HID Host Mode Class driver to keep track of the largest report the device can send for buffer allocation purposes. Change MouseHostWithParser and KeyboardHostWithParser demos to only allocate the needed number of bytes. 2009-09-21 12:23:09 +00:00
Dean Camera 3ffa7543a0 Finish initial draft of the Host Mode HID Class driver.
Add new MouseHostWithParser and KeyboardHostWithParser Host Class driver demos.
2009-09-21 10:49:06 +00:00
Dean Camera f5c645296c Added new MassStorageKeyboard Device Class Driver demo (thanks to Matthias Hullin). 2009-09-21 08:07:26 +00:00
Dean Camera 9d6a373cb6 Add const qualifiers to Host mode Class drivers.
Fix KeyboardHost ClassDriver demo; boot protocol keyboard report structure in the Host Mode HID Class driver uses the full keycode array from the attached device.
2009-09-21 06:08:39 +00:00
Dean Camera 7478b387a9 Oops - Keyboard boot report structure should be an array of 6 keycodes. 2009-09-20 13:01:45 +00:00
Dean Camera aa640330a1 Finish Class Driver MouseHost demo. Update HID Host Class driver; boot protocol now works, still need to finish and test report protocol mode. 2009-09-20 12:34:07 +00:00
Dean Camera 51566d1a81 Added new Pipe_IsFrozen() macro to determine if the currently selected pipe is frozen.
Added new USB_GetHIDReportSize() function to the HID report parser to retrieve the size of a given report by its ID.

More additions to the unfinished HID Host Class Driver.
2009-09-20 12:01:25 +00:00
Dean Camera cd0adb7574 Added support for the officially recommended layout of the external peripherals connected to the BUMBLEB board.
Added flag to the HID Host Class driver to indicate the currently selected reporting protocol.
2009-09-17 23:34:16 +00:00
Dean Camera 7c6b2019a3 Fix Mass Storage Host Class driver GetMaxLUN command - incorrect function return codes used in comparison to check for success.
Add HID Host Class driver functions to set the report protocol, add more class driver documentation.
2009-09-17 13:12:21 +00:00
Dean Camera eaa914a4e4 Fix LUFA event list generation rule in the main LUFA makefile (thanks to Thomas Bleeker). 2009-09-14 06:01:32 +00:00
Dean Camera eee712f769 Fixed MIDI Device Class driver not sending/receiving MIDI packets of the correct size (thanks to Thomas Bleeker). 2009-09-14 05:57:17 +00:00
Dean Camera 93b24a25df Fixed Low Level USBtoSerial demo not storing received characters (thanks to Michael from DirectAid.ca). 2009-09-13 08:29:31 +00:00
Dean Camera 81b618be23 Revert changed CDC_Device_Flush() prototype accidentially changed in the last commit. 2009-09-10 07:05:26 +00:00
Dean Camera e918d977b1 Prevent the CDC Device Class driver from sending empty IN packets on every service task call - only send termination packets when data is in the endpoint. 2009-09-10 06:41:57 +00:00
Dean Camera b221e7d175 Remove USE_NONSTANDARD_DESCRIPTOR_NAMES compile time token, split out 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.
2009-09-09 13:17:04 +00:00
Dean Camera 524decdeb3 Change HID report parser so that it can calculate and record the sizes (IN, OUT and FEATURE) of each report within the device, by report ID. This will be required in host mode, so that the host can determine how many bytes of data must be read in for each report.
Add to MouseHostWithParser and KeyboardHostWithParser demos to print out the report sizes when a valid device is connected.
2009-09-09 08:34:24 +00:00
Dean Camera 331929833d Add Host mode Class driver demo summaries. 2009-09-09 04:22:49 +00:00
Dean Camera d2068d878c Finish Still Image Host class driver. 2009-09-09 04:18:37 +00:00
Dean Camera 6f993a2f75 Add link to third-party signed version of the official FLIP DFU driver for 64-bit Windows OSes to the DFU bootloader readme file.
Add HTML anchor links to URLs in the documentation to ensure that they are rendered correctly in the generated documentation.
2009-09-07 10:50:58 +00:00
Dean Camera c8b72f955f Corrected incorrect signature bytes for the AT90USB82 and added support for the ATMEGAXX2 variant AVRs to the DFU bootloader.
Added warning to the EVENT_USB_Device_Connect() and EVENT_USB_Device_Disconnect() events that they may be fired multiple times during device enumeration on the series 2 AVRs.
2009-09-07 07:57:00 +00:00
Dean Camera 1190652c0b Fixed DFU and CDC class bootloaders on the AT90USBXXX2 series USB AVRs. 2009-09-06 20:30:26 +00:00
Dean Camera 0486f12e3e Add in new invalid event hook check targets to project makefiles to produce compilation errors when invalid event names are used in a project.
Re-add in flip, flip-ee, dfu and dfu-ee targets to project makefiles (thanks to Opendous Inc.)

Fix allowable F_CPU values comment in project makefiles.
2009-09-06 05:58:40 +00:00
Dean Camera 064e6a2f32 Changed Still Image Host class driver to auto-fill TransactionID element of sent headers depending on the current session state.
CDC based demos and project now work under 64 bit versions of Windows (thanks to Ronny Hanson, Thomas Bleeker).

The Benito Programmer project now has its own unique VID/PID pair allocated from the Atmel donated LUFA VID/PID pool.
2009-09-06 04:15:35 +00:00
Dean Camera 6783bc4594 Add StillImage Host Class Driver functions for opening and closing sessions. Ensure IsActive is set on the interface to allow device functions to run.
Fix spelling of "Received" in all source files where it is misspelt "Recieved".
2009-09-02 13:08:55 +00:00
Dean Camera 205b35d131 Add user-filtering to the HID report parser, so that the user code can decide which items are to be stored into the HID_ReportInfo_t structure and which should be discarded to save on RAM usage. 2009-09-02 07:16:52 +00:00
Dean Camera ecf7c18cf2 Fixed error in PrinterHost preventing the full page data from being sent to the attached device. 2009-09-02 00:27:52 +00:00
Dean Camera 0fdc1a2bc6 Changed HIDParser to only zero out important values in the Parsed HID Report Item Information structure to save cycles. 2009-09-01 15:46:46 +00:00
Dean Camera 113df4878b Fix up MissileLauncher demo's ConfigurationDescriptor.c so that it uses the new USB_GetDeviceConfigDescriptor() function parameters. 2009-09-01 13:57:47 +00:00
Dean Camera 0e2ffebb82 Added documentation for the constants and enums of the new StillImage Host Class driver added to the library so far. 2009-09-01 13:47:11 +00:00
Dean Camera 5908e28e8d Fixed StillImageHost not correctly freezing and unfreezing data pipes while waiting for a response block header.
Added basic PIMA commands to the StillImage Host Class driver - need to extend to PIMA specific command functions.
2009-09-01 13:35:30 +00:00
Dean Camera bda4bd4501 Move check for devices not supporting internal serials in demos which make use of USE_INTERNAL_SERIAL to Descriptors.c from Descriptors.h so that the warning is only generated at most once per compilation. 2009-09-01 11:16:57 +00:00
Dean Camera dac7b046fd Add return codes to the CDC Host Class driver String/Byte transmission functions. 2009-08-31 13:58:03 +00:00
Dean Camera cf2776531c Add extra check for OUT ZLP in the CDC Device Class driver service task to quickly clear zero-length termination packets from the host. 2009-08-31 12:43:28 +00:00
Dean Camera 778da9dc6d Removed unused INCLUDE_FROM_BOARD_DRIVER internal define from the board driver dispatch headers. 2009-08-31 08:35:52 +00:00
Dean Camera 7fbb759287 Changed the parameters and behaviour of the USB_GetDeviceConfigDescriptor() function so that it now performs size checks and data validations internally, to simplify user code. 2009-08-31 07:48:32 +00:00
Dean Camera e2822fb30d Remove deleted source files from the LUFA library makefile.
Renamed parameters of SI_Host_ConfigurePipes() to match other Host mode Class drivers.
2009-08-30 11:40:26 +00:00
Dean Camera 3dce79d68c Added start of the Still Image Host Class driver demo and driver code.
Re-enabled building of the Host mode demos ClassDriver directory.
2009-08-30 11:36:04 +00:00
Dean Camera 0d3a3f7536 Remove skeleton Audio and MIDI Host mode Class drivers -- will not implement in next release. 2009-08-30 10:43:41 +00:00
Dean Camera 0f51db56c0 Replace -finline-limit with -fno-inline-small-functions in project makefiles. 2009-08-30 06:52:03 +00:00
Dean Camera 94c899d7b7 Fixed Device mode HID Class driver not explicitly initializing the ReportSize parameter to zero before calling callback routine, so that ignored callbacks don't cause incorrect data to be sent. 2009-08-27 22:34:41 +00:00
Dean Camera 922e60192d Condensed SCSI command functions in the LowLevel Mass Storage Host demo, to save on FLASH space.
Fixed issue in AVRISP project where the target RESET line was being toggled before it was tristated, causing problems synchronising to some targets (thanks to Mike Alex).
2009-08-27 13:12:44 +00:00
Dean Camera 023838fe4a Add check to Pipe_IsEndpointBound() in the Mass Storage Host mode Class driver to ensure that multiple instances of the driver can be used on a single device with multiple Mass Storage interfaces. 2009-08-27 11:43:37 +00:00
Dean Camera f52b265090 Simplified Host mode Mass Storage Class driver to reduce compiled program size. 2009-08-27 08:17:06 +00:00
Dean Camera 754ea083d4 Fix memory corruption in Host mode Mass Storage Class driver. 2009-08-27 08:01:33 +00:00
Dean Camera cd2dcc9163 Added better USB Class driver overviews. 2009-08-27 07:48:48 +00:00
Dean Camera d297ea12b7 Added new "Common" section to the class drivers, to hold all mode-independant definitions for clarity.
Moved SCSI command/sense constants into the Mass Storage Class driver, instead of the user-code.
2009-08-27 07:38:40 +00:00
Dean Camera f7cde02b80 Added extra note about missing OUT endpoint configuration to the HID Device mode Class driver.
Added pinout information to the AVRISP project.
2009-08-27 07:10:00 +00:00
Dean Camera 665fe11f12 Fixed Device mode HID Class driver always sending IN reports, even when no data is to be reported. 2009-08-27 06:36:01 +00:00
Dean Camera 8ea5c631c8 Minor documentation fixes to the completed Host mode Class drivers. 2009-08-27 06:32:12 +00:00
Dean Camera f890592806 Completed initial Host mode Mass Storage class driver. 2009-08-27 06:28:18 +00:00
Dean Camera 559ca2ba04 Added MS_Host_TestUnitReady() and MS_Host_ReadDeviceCapacity() to the host mode Mass Storage Class driver. 2009-08-26 08:20:55 +00:00
Dean Camera a765f71727 Add SCSICodes.h to the Class Driver Common folder, and automatically include it in both the Host and Device Mass Storage Class drivers. Delete existing version from the ClassDriver MassStorage device demo's /Lib/ folder. 2009-08-26 07:51:40 +00:00
Dean Camera 31d8ebebc0 Oops: Really disable building of Projects/Host/ClassDriver directory in the Projects/Host/ makefile.
Add more skeleton functions and definitions to the Mass Storage Host mode Class driver.

Made Endpoint_Write_DWord_* functions echo the structure of the matching Endpoint routines for clarity.
2009-08-26 07:34:31 +00:00
Dean Camera ee744abb7e More work on the Mass Storage Host mode Class driver.
Added  ATTR_NON_NULL_PTR_ARG() attributes to the class drivers to improve user code reliability by disallowing explicit NULL pointers as pointer parameters in function calls where the parameter must not be NULL.

Disabled building of the Demos/Host/ClassDriver directory until Host Mode Class drivers are complete to prevent build errors in the meantime.
2009-08-26 07:01:32 +00:00
Dean Camera f547eb3608 Optimized Endpoint_Read_Word_* and Pipe_Read_Word_* macros to reduce compiled size.
Fixed Programmer's Notepad project file to reflect new location of AVRISP project.
2009-08-25 14:30:42 +00:00
Dean Camera 4742e95a3f Fixed AVRISP V2 Protocol handler for the READ_FLASH_ISP and READ_EEPROM_ISP handler - can now correctly read back device data. Programming command handler is still broken, although first page is written correctly to FLASH in paged write mode. 2009-08-25 08:58:48 +00:00
Dean Camera 6d1adf7339 Updated Benito project -- added hardware interrupt and software buffering for serial data reception to prevent missed characters, condensed pulse generation counters into a struct for clarity.
Added check to CDC_Device_BytesReceived() to ensure 0 is returned when device is not enumerated to a host.

Move AVRISP project's V2Protocol_DelayMS() function to be static inline, as it is now very minimal. Added extra project doxygen documentation.
2009-08-25 08:09:49 +00:00
Dean Camera 7e74bd3ea2 Moved out target-related V2 protocol commands into a seperate file for the AVRISP project.
Added Load Extended Command functionality to the LOAD ADDRESS V2 Protocol command handler for devices with more than 64KB of memory.
2009-08-23 10:17:13 +00:00
Dean Camera f229502d9a Fixed AVRISP programmer demo -- can now connect to a target and read/write Sig/Lock/Fuse/OSCCAL bytes successfully.
Changed SPI_Init() to allow for the clock polarity and data sample modes to be set.

Changed Dataflash_Init() to no longer call SPI_Init() automatically.
2009-08-23 08:37:11 +00:00
Dean Camera 1e8df8951a Added V2Protocol handlers to the AVRISP project to enter/exit programming mode, and read/write fuses, lockbits, OSCCAL and Signature bytes.
Added ShutDown functions for all hardware peripheral drivers, so that peripherals can be turned off after use.
2009-08-23 04:01:49 +00:00
Dean Camera 2f95eea146 Add LOAD ADDRESS command parsing to the V2 Protocol hander in the AVRISP project.
Fix up references to functions in the Endpoint/Pipe documentation.
2009-08-20 07:16:55 +00:00
Dean Camera 083d3615d3 Corrections to the unfinished AVRISP Programmer project to allow AVRStudio to connect to it. 2009-08-19 05:40:05 +00:00
Dean Camera 6d99486791 Fixed invalid data being returned when a GetStatus request is issued in 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.
2009-08-18 07:42:19 +00:00
Dean Camera ecd82778cf Added beginnings of a new AVRISP-MKII clone project.
Added new Endpoint_SetEndpointDirection() macro to set the current endpoint direction for bidirectional endpoints.

Renamed internal USB_INT_ENDPOINT_SETUP macro to USB_INT_RXSTPI to fit in with the rest of the interrupt vector macros.
2009-08-17 12:38:24 +00:00
Dean Camera 09bedd6555 Added return values to the CDC and MIDI class driver transmit functions. 2009-08-16 14:30:46 +00:00
Dean Camera 5d4478b3b4 Fix misspelt event name in the Class driver USBtoSerial demo, preventing correct operation. 2009-08-16 12:37:28 +00:00
Dean Camera b71ff7c8cd Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode. 2009-08-16 08:51:54 +00:00
Dean Camera 99abd1a8b7 Added explicit attribute masks to the device mode demos' descriptors. 2009-08-13 08:14:16 +00:00
Dean Camera df5500e81c Added CDC_Device_Flush() command to the CDC Device mode class driver.
Minor updates to the unfinished SideShow demo for clarity.

Added unfinished MassStorageHost class driver demo.
2009-08-13 06:43:17 +00:00
Dean Camera df29aa37c0 Added flag to the HID report parser to indicate if a device has multiple reports.
SetIdle requests to the HID device driver with a 0 idle period (send changes only) now only affect the requested HID interface within the device, not all HID interfaces.

Apply correct fix to the HID report parser for PUSH items - current HID item attribute stack was being copied in the wrong direction.

Fixed HID report parser not resetting the FEATURE item count when a REPORT ID item is encountered.
2009-08-11 11:19:22 +00:00
Dean Camera a7ade9f28d Add CDC Host class driver EVENT_CDC_Host_ControLineStateChanged() event.
Minor documentation fixes.
2009-08-11 10:02:50 +00:00
Dean Camera abc7dce10c Document CDC Host class driver functions and enums. 2009-08-11 09:54:22 +00:00
Dean Camera c86491af8b Add new functions to the HID host class driver, refine HID interface protocol matching.
Remove stray state variable from the CDC host class driver.
2009-08-11 09:12:29 +00:00
Dean Camera a2001ac1cc Fixed swapped paremeters in the HID state memory copy call while processing a HID PUSH item in the HID report parser.
Fixed memory corruption HID report parser when too many COLLECTION or PUSH items were processed.

Make RNDIS device class driver include the CDC device class driver header, so that it can inherrit the required CDC functional descriptor macro.

Make HID host class driver include the HID report parser.
2009-08-11 08:36:25 +00:00
Dean Camera f4814771d2 Completion of initial CDC host mode class driver.
Adjustments to the CDC and MIDI device class drivers to use sizeof() on the actual variable being transmitted or received rather than its datatype to reduce possible mistakes.
2009-08-11 02:09:11 +00:00
Dean Camera 8711dc7ced Fix issue in CDC device class driver where received data the size of the data endpoint could lock up the driver.
Further work on the new CDC and HID host mode class drivers.

Reset changelog et. al. to reset development information for the new version currently under development.
2009-08-11 01:52:15 +00:00
Dean Camera a459f10b0c Commit for the 090810 release. 2009-08-09 09:51:48 +00:00
Dean Camera d423090b26 Cleanups to RNDIS device demos. Fix issue in RNDIS demos where the memory would become corrupted due to an incorrect bounds check when iterating over the port state table, causing random resets.
Revert change to Template_Endpoint_Control_R.c, which broke control stream reads.

Remove uneeded ADC.h include in the class driver AudioOutput demo.
2009-08-07 06:55:31 +00:00
Dean Camera 85c2716f2d Make Benito ping-pong LED code more explicit, using masks of the TX and RX LED masks for ping-pong toggle rather than the ambiguous LED "Busy" mask.
Fix incorrect event name in MassStorageHost.c.
2009-08-07 00:27:11 +00:00
Dean Camera c830fcb0e1 Make Endpoint control transfers more reliable; early-abort when an incomplete packet is sent from the host (indicating end of transfer), add check for control reads to ensure that no more than wLength bytes are read from the interface.
Condense sequential printf_P/puts_P calls to single printf_P calls for size and clarity.
2009-08-06 14:22:04 +00:00
Dean Camera 99c447c754 Fixed issue in USBtoSerial demos where the USART Rx line was not having its pullup enabled at startup, leading to noise being received from the Rx pin when left floating.
Removed unused relative Common.h header include from the DriverStubs board stub drivers.

Fixed Benito programmer, use the correct LED functions where needed to ensure correct status display at all times.
2009-08-05 13:16:36 +00:00
Dean Camera 4421782b7f Make Control Endpoint stream transfers more reliable by adding in early aborts for unexpected new SETUP tokens, or unexpected status stage during control stream writes.
Fix corruption in Device RNDIS demos TCP stack when too many connections attempted simultaneously, freezing the device when a page was re-fetched before the first connection was closed.

Fix incorrect model compatibility information in the Host LowLevel demo overview text files.
2009-08-05 11:39:28 +00:00
Dean Camera a9d5e129b7 Changed over manual loops waiting for endpoints to be ready to use the library Endpoint_WaitUntilReady() function for robustness. Fixes issues with terminated transfers on the host locking up USB devices. 2009-08-05 09:37:45 +00:00
Dean Camera 4b35dd1670 Commit for 090810rc1 release. 2009-08-05 07:47:02 +00:00
Dean Camera 042d3288ad Fix incorrect Event call name in USBInterrupt.c. 2009-08-05 07:18:08 +00:00
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.
2009-08-05 06:36:31 +00:00
Dean Camera 357ccc577b Better fix for LowLevel CDC demo issue where sending data before the line encoding is set will cause a failure of the host to open the port. Added fix to the DualCDC and USBtoSerial LowLevel demos. 2009-08-04 08:36:30 +00:00
Dean Camera eff07bb877 Fix issue with CDC device demos causing broken communications when the device tries to send data before the host has set the line encoding. 2009-08-04 08:06:26 +00:00
Dean Camera 5c069f909a Update migration notes for the upcomming 090810 release. 2009-08-03 07:15:27 +00:00
Dean Camera 840d386deb Cleanup and optimization of the internal serial retrieval routines.
Renamed ATTR_NOINLINE to ATTR_NO_INLINE to fit with the rest of the library function attribute names.
2009-08-03 07:10:54 +00:00
Dean Camera 6f4cc344ab Rename TOTAL_NUM_CONFIGURATIONS to FIXED_NUM_CONFIGURATIONS, to match the existing FIXED_CONTROL_ENDPOINT_SIZE compile time option. Add FIXED_NUM_CONFIGURATIONS to the descriptors of each project using the option. 2009-08-02 23:14:30 +00:00
Dean Camera c5eeedd522 Removed interrupt disable/enable from the Device mode control request processing routines, as they can cause problems with user code and can cause infinite spinlocks under some circumstances.
Added new LUFA logo from EDIGMA.COM.
2009-08-02 11:33:00 +00:00
Dean Camera eb41086947 Fix demos based on the device mode HID class driver, as well as the driver itself. Changed HID device class driver to require the user to give a buffer and size to hold the previously generated report, for comparison purposes, and altered the prototype of the CALLBACK_HID_Device_CreateHIDReport() function so that reports can be sent to the host even if there are no apparent changes (useful for relative movements in mice, etc.). 2009-07-31 03:22:08 +00:00