Dean Camera
5f3a1b2629
Fix invocations of avr-size in all makefiles broken on unpatched *nix systems, due to the recent update to the latest WinAVR makefile template.
2010-08-08 08:30:42 +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
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
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
9a97f16b07
Add TMC header read and write functions, so that TMC data can now be exchanged in both directions.
...
Minor update to the LowLevel MassStorage device demo, so that the ReadInCommandBlock() performs the data OUT endpoint selection and packet arrival test.
2010-07-28 09:17:22 +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
6e2920bc84
Add comments to the currently completed portions of the incomplete Test and Measurement Class demo.
2010-07-26 05:02:55 +00:00
Dean Camera
0803cf00ac
Add missing INTERRUPT_CONTROL_ENDPOINT compile time option to the Mass Storage device projects/demos and incomplete Test and Measurement Class demo, which was accidentally removed during the makefile updates.
...
Alter Test and Measurement Class demo's request handlers to accept, process and correctly return the fields indicated in the specification.
2010-07-26 04:57:50 +00:00
Dean Camera
89a32baf58
Add stream callback flags and class specific control request handler code to the incomplete Test and Measurement Class device demo.
...
Change over the keyboard demo's manufacturer name back to the primary author of the demo.
2010-07-26 04:26:47 +00:00
Dean Camera
3a79548dc2
Add TMC device capabilities to the incomplete TMC demo.
2010-07-23 09:12:26 +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
e6f37221fa
Fix up minor whitespace formatting errors.
2010-07-22 05:00:39 +00:00
Dean Camera
6bda628718
Update all demos, projects and bootloaders to indent all function parameters, one per line, for better readability.
...
Add missing const qualifiers to the demos.
2010-07-21 16:19:32 +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
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
42ac34b484
Change over all makefiles to use C99 standards mode, rather than C99 + GNU Extensions.
2010-07-18 07:31:57 +00:00
Dean Camera
9299735c75
Disable strict aliasing explicitly in the project makefiles, as this is apparently enabled by default in newer AVR-GCC builds, and aliasing is used heavily for type-punning through the LUFA and third party library's codebase.
2010-07-15 17:13:33 +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
40631e9fe5
Fix pointer aliasing warning in the Mass Storage demos.
2010-07-15 10:34:29 +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
f985a8c176
Add AVRStudio 4 project files to the LowLevel Device mode demos.
2010-07-13 05:20:49 +00:00
Dean Camera
ae9dab1398
Add missing clean_doxygen phony targets to the project makefiles.
2010-07-12 10:18:18 +00:00
Dean Camera
ba711d6759
Oops - fix errors in the MassStorageKeyboard SCSI driver file due to incorrect copy/paste.
2010-07-09 07:44: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
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
d29a408ffd
Add default "all" makefile targets to the demo tree makefiles.
2010-06-25 13:28:34 +00:00
Dean Camera
26afe5fe9e
Fix Doxygen formatting of parameters for the CALLBACK_HID_Device_CreateHIDReport() function in the ClassDriver HID device demos.
2010-06-25 09:49:46 +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
a14ece5f57
Change over Doxygen \note documentation to \pre where applicable.
2010-06-15 03:34:55 +00:00
Dean Camera
931ca42a6e
Minor fixes to demos to add in some missing comments, printf() formatting. Make incomplete Bluetooth demo indicate connections visually via the board LEDs.
2010-06-12 07:03:22 +00:00
Dean Camera
7aec6cba1a
Fix incorrect copyright attribution on the class-driver keyboard demos due to header copy-pasting.
2010-06-06 14:03:56 +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
54e69dbee1
Switch to using the correct intptr_t type use where a pointer must be cast to an integer type.
2010-05-26 12:24:44 +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
776485a6c5
Remove obsolete entry from the Doxygen configuration files.
2010-05-23 08:39:02 +00:00
Dean Camera
a883cf65dc
Renamed CDC device class demos' ManagementEndpoint descriptor to NotificationEndpoint to more accurately indicate its purpose.
2010-05-20 06:15:21 +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
e331b531c6
Change over instances of "make" in the makefiles to "$(MAKE)" to allow for the make tool to be overridden.
2010-05-07 07:11:25 +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
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
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
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
fc8e4837a9
Add const keyword to the demo function parameters where possible.
2010-04-18 12:10:30 +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
9257f4ab8e
Add briefs for the library core structures.
2010-03-29 13:32:36 +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
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
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
2b51944a4b
Make sure the button report set masks use OR in all circumstances, to prevent user confusion. While the first set of the buttons report item can be a direct assignment, it is not immediately clear to new developers why this is the case.
2010-02-16 12:25:31 +00:00
Dean Camera
3ab0b3a027
Fix LowLevel Keyboard demo -- accidentally trying to dereference a uint8_t type in ProcessLEDReport().
2010-02-08 03:32:31 +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
6a48efd3bd
Split out LED report processing from the host into a seperate routine in the LowLevel KeyboardMouse device demo, to avoid duplicate code.
2010-02-07 14:03:48 +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
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
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
77e86e7d82
Exlude the "INCLUDE_FROM_*" macros from the individual project's documentation.
2010-02-03 00:57:49 +00:00
Dean Camera
53eca61d02
Minor fixups to the documentation and preprocessor tokens.
2010-02-02 13:29:07 +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
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
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
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
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
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
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
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
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
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
d4ca7fb44c
Fix MIT license language to make its intent clearer.
2009-12-28 00:34:20 +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
3757b1760f
Fix newly renamed VirtualSerial demos' include filename references so that they compile.
2009-12-07 04:49:37 +00:00
Dean Camera
cf22a744ec
Additional file renames and modifications to change CDC demos to VirtualSerial.
2009-12-07 04:35:59 +00:00
Dean Camera
7a9b3d3641
Rename CDC demos to VirtualSerial.
2009-12-07 04:18:07 +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
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
50f4a3b625
Fix build and Doxygen errors.
2009-11-25 03:56:51 +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
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
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
04774208b6
Minor code cleanups for clarity.
2009-11-11 09:09:39 +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
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
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
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
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
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
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
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
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
b7eead83aa
Cleanups to the Device mode Mass Storage demo applications' SCSI routines.
2009-10-02 07:40:24 +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
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
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
0029cb454e
Fix broken KeyboardMouse ClassDriver device demo - use internal HID Class Driver structures for boot protocol reports.
2009-09-21 06:13:00 +00:00
Dean Camera
0d5e30e69f
Remove type definitions of the keyboard and mouse boot protocol report layouts from the Device Class Driver demos, as they are now located inside the class driver.
2009-09-20 12:52:35 +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
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
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
331929833d
Add Host mode Class driver demo summaries.
2009-09-09 04:22:49 +00:00
Dean Camera
7882da1ed8
Remove information about 64 bit Windows OS signing requirements for the CDC based demos -- apparently the native CDC driver can be installed without first disabling the OS's driver signing requirements.
2009-09-07 08:11:17 +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
f6700c0ea5
Added 64 bit OS driver installation instructions to the readme for all CDC based projects.
2009-09-06 04:22:46 +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
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
813e6f0318
Remove deleted source files from the Device mode Class driver demos to enable them to be built.
2009-08-30 11:42:16 +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
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
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
fa8beef82d
Moved out the handling of V2 Protocol parameters to a seperate set of files. Added parameter privellages, so that an error can be returned to the host when trying to perform a get/set value action on a parameter without the correct privellages.
2009-08-19 08:29:08 +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
3a85962f94
Fix USBtoSerial device demos -- ensure the UDR1 register contents is read in under all circumstances which fire the ISR, so that the receive complete interrupt is cleared correctly to prevent freezes.
2009-08-16 10:57:47 +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
25ddbb9e3b
Adjust endpoint polling intervals for HID demos, to make them compliant with the 10ms minimum polling period for Low Speed devices.
2009-08-13 08:26:59 +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
a7ade9f28d
Add CDC Host class driver EVENT_CDC_Host_ControLineStateChanged() event.
...
Minor documentation fixes.
2009-08-11 10:02:50 +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
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
33a5715e91
Simplify CDC device demos, by directly assigning the string to transmit to the pointer, rather than using an intermediatary table to hold all the possible transmit strings.
2009-08-06 14:30:53 +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
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
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
bbf89d81fa
Make both LowLevel and ClassDriver AudioOutput demos always output to board LEDs, regardless of output mode (removed AUDIO_OUT_LEDS compile time option from the demo). This allows for positive feedback to the user of audio activity regardless of output mode.
2009-08-02 11:43:16 +00:00
Dean Camera
ac593611c9
Fixed the ClassDriver GenericHID demo so that it echoes back reports as indicated in the demo overview.
2009-07-31 03:35:24 +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
Dean Camera
7df6b9563c
Add new HID_Device_MillisecondElapsed() function to the HID device Class driver, to move the burden of managing the Idle period of each instance to the library and not the user application.
2009-07-30 14:59:57 +00:00
Dean Camera
72932e2780
Fix to HID device mode Class driver, so that new reports are compared against the old, and updated reports made within the idle period are sent immediately to the host.
2009-07-30 14:35:42 +00:00
Dean Camera
ec079c71d8
Minor cleanups to DualCDC ClassDriver device demo for clarity.
2009-07-30 14:12:00 +00:00
Dean Camera
41babf1cb7
Fix incorrect configuration in the ClassDriver AudioOutput demo.
...
Make all audio device Class Driver functions require a reference to the Audio class instance, so that the endpoint size can be checked (and to standardize the APIs).
Make LEDs more responsive in the AudioOutput device demos.
2009-07-30 14:06:52 +00:00
Dean Camera
41b54a2acd
Set all CDC and MassStorage device mode demos (LowLevel and ClassDriver) to use the USE_INTERNAL_SERIAL feature, add compile time warnings for devices which do not have an internal serial.
2009-07-30 11:03:58 +00:00
Dean Camera
ce3ea6fb25
Added standard stream example to the ClassDriver CDC device demo.
...
Fix incorrect HWB button mask in the STK526 Buttons driver.
2009-07-30 10:54:57 +00:00
Dean Camera
5ca1d7bf8f
Fix redefinition warning when USB_DEVICE_ONLY is set on an AVR which does not support USB host mode.
2009-07-30 07:45:36 +00:00
Dean Camera
bb05712efe
Added 404 errors to the RNDIS Webserver example.
2009-07-29 01:40:42 +00:00
Dean Camera
3472af91a5
Change project makefiles so that the current target settings and not just the board selection is printed during the build process.
...
Fix warning in AudioOutput demos when AUDIO_OUT_STEREO output mode is selected.
2009-07-28 13:53:52 +00:00
Dean Camera
23c1653efe
Make LowLevel AudioOutput demo work in the same way as the ClassDriver AudioOutput demo for LEDs output.
2009-07-28 10:49:33 +00:00
Dean Camera
61ff4824a9
Changed AudioOutput demos to explicitly use timer 3 - the smaller USB AVRs where timer 1 was needed instead did not have the endpoint size neccesary for good audio throughput anyway.
...
Fix Benito documentation indicating erronously that the project used the HID USB class instead of the CDC class.
2009-07-28 10:46:20 +00:00
Dean Camera
864196c884
State information for class drivers is now zeroed out during enumeration (both in device and host mode) to ensure sane values after each enumeration. User code should no longer explicitly set state information as this is no longer preserved.
2009-07-27 23:19:17 +00:00
Dean Camera
a6e85d6ed8
Added new Benito project, a simple modified USB-to-Serial bridge for the programming of AVRs using the official Arduino bootloader.
2009-07-23 10:39:10 +00:00
Dean Camera
5dbfdaa17d
Ensure that the USB_DeviceState variable is properly set upon wakeup events, to the Addressed or Configured state as needed.
...
Add explicit support for the AT90USB646 to the Teensy bootloader now that PJRC have released the Teensy++ board.
Ensure unfinished SideShow demo uses an unallocated PID value within the LUFA range.
2009-07-23 08:00:12 +00:00
Dean Camera
e071f3897a
Added new USB_DeviceState variable to keep track of the current Device mode USB state.
...
Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers.
Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality.
Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead.
Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition becomes true.
2009-07-21 13:31:21 +00:00
Dean Camera
d0db78432f
Add extra tests to the MassStorage device demo and class driver for validating command blocks from the host.
2009-07-21 04:46:48 +00:00
Dean Camera
67f390fe74
Add explicit guards to all device mode tasks to ensure the device is connected and configured before running the task, to prevent any user tasks from locking up the main USB task if the device has not been properly configured.
2009-07-21 02:48:41 +00:00
Dean Camera
bf50959b80
Simplify SideShow GUID compares via a macro.
2009-07-20 14:51:19 +00:00
Dean Camera
86819ba9d8
Fixes to unfinished SideShow demo to re-enable correct building after previous commit.
2009-07-20 14:27:14 +00:00
Dean Camera
292fc9b65e
Move unfinished SideShow source files to nested Lib directory for clarity.
2009-07-20 14:23:47 +00:00
Dean Camera
4f747e7b76
Change Doxygen configuration files to not produce 4096 directories for the documentation files -- the LUFA components do not generate enough documentation files to justify the large performance hit of creating so many directories.
...
Fix missing Doxygen documentation in the Class Driver Mass Storage Device demo.
2009-07-20 14:07:02 +00:00
Dean Camera
d6543dee0d
Minor updates to the Magstripe and MissileLauncher projects to fix bugs and improve performance.
...
Fixed error in GenericHID descriptors preventing it from passing the USB-IF HID tests (thanks to Søren Greiner).
2009-07-16 15:00:10 +00:00
Dean Camera
37f8a84f35
Added new TOTAL_NUM_CONFIGURATIONS option, removed USE_SINGLE_DEVICE_CONFIGURATION compile time option (but silently convert it to USE_SINGLE_DEVICE_CONFIGURATION internally for compatibility).
...
Added new USE_FLASH_DESCRIPTORS compile time option. By default, descriptors can now lie in mixed memory spaces (specified by a new parameter to the CALLBACK_USB_GetDescriptor() function) unless one of the USE_*_DESCRIPTORS compile time option is specified.
2009-07-16 08:15:27 +00:00
Dean Camera
f85a53a31b
Fix HID class device driver -- if a SetIDle request is issued with the LSB of wValue set to zero, the idle period must be set for all HID interfaces.
...
Fix Keyboard and Mouse demos, Idle period is now multiplied by 4 as the period is read into and sent out of the device to ensure it is always stored as a multiple of 1ms. Fixes Keyboard demo using an initial Idle period of 2s rather than 500ms (thanks to Brian Dickman).
Move out the internal device serial descriptor reading routine into a seperate static function, rather than being part of USB_Device_GetDescriptor.
2009-07-15 05:49:19 +00:00
Dean Camera
312748702a
Added better module summaries.
2009-07-14 07:33:06 +00:00
Dean Camera
73d9fafc0f
Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions. Changed Endpoint.c and Pipe.c to use a templated system to build the seperate functions, rather than duplicating each function's code many times.
2009-07-13 12:38:30 +00:00
Dean Camera
1d26e78258
Added compatibility list to the documentation of each individual demo.
...
Documented FAST_STREAM_TRANSFERS compile time option.
Reduced the TCP window size for the RNDIS demos (Class and LowLevel) to make them compatible with the AT90USB64x.
2009-07-13 06:44:14 +00:00
Dean Camera
e0af6014a7
Added incomplete PrinterHost demo application.
...
Seperated out Lib components of the incomplete BluetoothHost demo application out into a seperate Lib subfolder.
Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case.
2009-07-11 15:05:56 +00:00
Dean Camera
b462f2d457
Minor correction to MagStripe demo to fix build problems.
2009-06-29 11:11:51 +00:00
Dean Camera
86e6ed7f31
Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning, no need to call Dataflash_ToggleSelectedChipCS() afterwards.
...
Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index.
Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%.
2009-06-29 09:30:06 +00:00
Dean Camera
f1076ac4d6
Added const modifiers to device mode class drivers.
...
Added parameter directions to function parameter documentation.
Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).
2009-06-28 13:39:08 +00:00
Dean Camera
3cbdcd3686
Reduce struct name pollution - group typedef struct names by class driver name where appropriate.
2009-06-26 11:43:56 +00:00
Dean Camera
bb23e55f11
Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command.
2009-06-23 08:45:46 +00:00
Dean Camera
189d0c7e66
Add demos/bootloaders/projects overview to the manual.
2009-06-22 11:32:51 +00:00
Dean Camera
730624f745
Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number, added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code. Updated Mass Storage and CDC based demos to use the new device serial number if the device it is compiled for supports it.
2009-06-21 09:22:31 +00:00
Dean Camera
00d0883507
Added USE_INTERNAL_SERIAL compile time option to automatically read out the internal unique serial number as the device's serial number descriptor on supported AVR models.
2009-06-20 11:43:26 +00:00
Dean Camera
35bdada24b
Clean up RNDIS demo type define names.
2009-06-19 07:29:02 +00:00
Dean Camera
feabfd12ce
Fix makefiles -- the auto-addition of -D switches to each LUFA compile time option was faulty, due to GNUMake becomming confused by the spaces in the USE_STATIC_OPTIONS lines. Make user add in the switches explicitly instead.
2009-06-19 05:08:04 +00:00
Dean Camera
beb0b2bda0
Move LUFA compile time options to a new section in the application makefiles for clarity.
2009-06-19 04:34:35 +00:00