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
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
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
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
1167b69943
Add missing eol-style properties to new source files.
2010-07-12 10:20:38 +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
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
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
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
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
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
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
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
d3699d0261
Added new ADC_DisableChannel() function (thanks to Mich Davis).
2010-05-18 12:51:31 +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
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
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
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
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
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
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
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
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
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
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
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
9a5ae36a4f
Software PDI mode breaks unless the software USART has 100 cycles between bits.
2010-03-17 11:48:39 +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
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
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
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
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
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
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
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
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
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