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
658da63e6c
Add AVRStudio 4 project files to the ClassDriver Host mode demos.
2010-07-13 05:11:23 +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
1167b69943
Add missing eol-style properties to new source files.
2010-07-12 10:20:38 +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
2b0d93c129
Correct misspellings in the Bluetooth demo code.
2010-07-11 08:11:25 +00:00
Dean Camera
f6e84eabce
Add more doxygen function documentation to the RFCOMM layer.
2010-07-11 07:59:15 +00:00
Dean Camera
00fa6aa2db
Oops - ACL layer Bluetooth_SendPacket() function should check and allow NULL channels, since that indicates a control channel request.
...
Fix up Doxgen documentation for the Bluetooth stack code.
2010-07-11 07:38:18 +00:00
Dean Camera
6276d5f82a
Rename Bluetooth stack function parameters to clearly indicate what sort of Bluetooth channel (ACL, RFCOMM) is required for each parameter, to make the code easier to read.
...
Add a new RFCOMM_ChannelSignalsReceived() Bluetooth stack callback from the RFCOMM layer for when the remote device sends new terminal control signals.
Fix RFCOMM_SendData() not aborting correctly when the requested RFCOMM channel is not found.
2010-07-11 07:29:27 +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
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
c37fd0ef91
Add a new RFCOMM service callback for when new data has been received on a valid RFCOMM channel.
2010-07-08 08:05:14 +00:00
Dean Camera
70983caea5
Move out Bluetooth stack callback functions to a seperate BluetoothEvents.c/.h set of files for clarity in the Incomplete BluetoothHost demo. Add a new stack callback for opened ACL channels, make the demo save the RFCOMM channel when opened so that it does not have to search for it on each iteration of the main program loop.
2010-07-08 07:44:07 +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
31a34154db
Move out RFCOMM channel structure init code to a seperate routine, to save on compiled code space and to prevent copy-paste errors.
2010-07-02 03:06:16 +00:00
Dean Camera
fbabecee66
Add RFCOMM service routine, to send pending configuration requests on RFCOMM channels. Add in RFCOMM channel config flags, to determine which configuration commands have been sent and received.
...
Add a new RFCOMM_SendChannelSignals() function to transmit a change in V24 terminal handshake lines to the receiving device.
Prevent SABM packets sent to the control DLCI in the RFCOMM layer from creating a new channel entry, as the control DLCI does not have connection data associated with it.
Fix up MSC control packet handling so that received responses can be acknowledged correctly, so that the RFCOMM layer can record when the receiving device has ACKed a sent change in V24 terminal handshake lines.
2010-06-29 04:40:02 +00:00
Dean Camera
b656540468
Make Bluetooth ACL channel searches skip over closed (invalid) channels. RFCOMM channels are considered invalid when the channel state is closed, not when the DLCI is zero - fix incorrect code.
2010-06-26 15:07:13 +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
4b952d479a
Split RFCOMM channel signals into Remote and Local pairs. Use memcpy() to copy over data from the command parameters to the RFCOMM response parameters.
...
Ensure that only the valid parameter bytes are sent back in response to MSC commands.
2010-06-23 08:10:21 +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
559af02204
Use a bitmask instead of an array of bools in the SDP UUID List matching algorithm to reduce the compiled code size and stack used.
2010-06-22 07:55:02 +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
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
13ea700b35
Rename RFCOMM_GetFrameDataLength() to RFCOMM_GetVariableFieldValue() as it is multi-purpose, and modify it to move the buffer pointer itself rather than relying on the caller.
...
Make RFCOMM_GetChannelData() return NULL if the required channel DLCI is found, but the channel is closed.
Add modem signals (BREAK, DCD, etc.) to the channel state array, and add in a handler for the Modem Status RFCOMM control command.
2010-06-15 11:28:15 +00:00
Dean Camera
f5d079462d
Changed the RFCOMM-specific ItemProtocolChannel_t type to a more generic ItemProtocol_8BitParam_t name, and added a new ItemProtocol_16BitParam_t to the SDP protocol type defines.
2010-06-15 10:09:42 +00:00
Dean Camera
3125fd5f4f
Add RFCOMM channel configuration parsing and channel states to the incomplete BluetoothHost demo.
...
Add missing BT_* prefix to the Bluetooth stack's channel state enum values.
2010-06-15 09:32:35 +00:00
Dean Camera
a14ece5f57
Change over Doxygen \note documentation to \pre where applicable.
2010-06-15 03:34:55 +00:00
Dean Camera
67bc625109
Split out the RFCOMM Control Channel command processing code into a seperate set of files for clarity.
2010-06-13 13:21:35 +00:00
Dean Camera
b522e35965
Rename the incomplete Bluetooth Host demo's ServiceDiscoveryProtocol.c/.h files to SDP.c/.h. Fix compile errors in RFCOMM.c/.h.
2010-06-13 12:44:20 +00:00
Dean Camera
637c7b01d0
More RFCOMM layer additions - begin to add multiplexer channel state variables.
2010-06-13 12:37:16 +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
e930738247
Add stub RFCOMM command handlers. Move out RFCOMM frame length and data pointer calculations to the master RFCOMM frame reception routine, instead of inside each frame type handler function.
2010-06-07 13:39:34 +00:00
Dean Camera
f92229697f
More RFCOMM layer implementation - fix FCS calculation, add in start of control channel command processing.
2010-06-07 12:53:47 +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
361e1ec1d8
Refactor out RFCOMM packet send code into a seperate function.
2010-06-06 14:39:51 +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
2dabb4e55f
Add the svn:eol-style property onto new files which where missing it to ensure uniform line endings.
2010-06-06 08:33:14 +00:00
Dean Camera
efbedcfa54
Document Bluetooth files with overall file Doxygen comments. Add more initial RFCOMM layer code to receive and respond to SABM packets.
2010-06-04 06:25:12 +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
9293de2491
Start implementation of RFCOMM decoding layer. Add new service initialize routines for each Bluetooth service - currently unused, but will eventually reset the service state of RFCOMM when a new connection is made.
2010-06-03 12:45:15 +00:00
Dean Camera
13d812a718
Delay needed in bluetooth code due to the send function not waiting for the pipe bank to become ready before writing. Add in a call to Pipe_WaitUntilReady() to fix the issue.
2010-06-03 08:42:20 +00:00
Dean Camera
a405a9bdf8
Extra protocol value in the RFCOMM protocol is the channel number, not the PSM - update typedef name and size.
...
Add delay to the Connection Request signal processing routine - without this, the host will not create the RFCOMM channel correctly. Need to investigate why this delay is needed.
2010-06-03 08:33:01 +00:00
Dean Camera
480da5aab6
Add PSM value to the RFCOMM service so that the host knows what PSM to use on channels when trying to access it.
2010-06-03 07:45:09 +00:00
Dean Camera
008e0e2e0a
Add start of RFCOMM service layer to the incomplete BluetoothHost demo.
...
Reduce the size of the attribute search list from 15 ranges to 8 to save RAM.
2010-06-03 03:58:57 +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
da51c1f974
Add L2CAP service attribute table. Fix up ProtocolDescriptorList attributes, and add macros for used UUIDs to reduce typing and make the code easier to read.
2010-06-02 04:36:46 +00:00
Dean Camera
b98158bd50
Clean up the Service tables, add incomplete ProtocolDescriptorList attribute to the SDP service.
2010-06-01 14:05:47 +00:00
Dean Camera
32ab52a298
Remove incorrect Language ID offset attribute from the SDP server - client assumes 0x0100 offset for primary language anyway, and the format of the offset was incorrect anyway.
2010-06-01 13:11:55 +00:00
Dean Camera
255d4ef858
Service Attribute SDP requests should have only one Data Element Sequence container around the single service's retrieved attributes, not two.
2010-06-01 12:34:48 +00:00
Dean Camera
0902ff9651
Document inline SDP data read/write functions.
2010-06-01 11:38:07 +00:00
Dean Camera
3f3fdb01a9
Much faster attribute range lookup - look through short list of attributes and compare to range, rather than looking up by each possible value within the range.
...
Cleanups to SDP code. Add missing RFCOMM language base ID offset attribute. Fix incorrect definition of the SWAPENDIAN_32() macro.
2010-06-01 11:07:29 +00:00
Dean Camera
cb52e4371e
Fix the encoding of UUIDs in the SDP server so that they match the Bluetooth UUID format properly.
2010-06-01 04:22:20 +00:00
Dean Camera
e0ef5741d4
Move SDP service tables out into a new set of files, to make the SDP service code cleaner.
2010-06-01 03:07:05 +00:00
Dean Camera
587f320333
Add Service Attribute request processing to the SDP server code.
2010-06-01 02:54:53 +00:00
Dean Camera
e15838d4e2
Fix endianness issues in the Service Discovery Protocol service of the incomplete Bluetooth Host demo. Host can now correctly retrieve specific services, however Windows does not appear to be sending the appropriate generic browse class IDs needed to report the virtual serial service.
2010-05-31 14:08:15 +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
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
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
776485a6c5
Remove obsolete entry from the Doxygen configuration files.
2010-05-23 08:39:02 +00:00
Dean Camera
8cdb141eed
SDP Service improvements; fixed UUID for SDP service, added Service Discovery Server UUID, better documentation.
2010-05-23 08:36:51 +00:00
Dean Camera
a20a9086f7
Add comments and partial Doxygen documentation to the incomplete Bluetooth SDP handler code.
2010-05-21 09:38:44 +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
92bebc457f
Add incomplete code to properly handle attribute responses to Service Discovery Protocol requests.
2010-05-21 07:10:49 +00:00
Dean Camera
83b5c916c6
Service Discovery ServiceSearchAttribute requests require the response to be grouped by UUID, so the response can't be generated as the attributes are read in. Buffer both UUIDs and Attributes instead and generate the response afterwards.
2010-05-20 14:35:52 +00:00
Dean Camera
3e515cdfa8
Short UUIDs are measured in bytes, not bits -- update Service Discovery Protocol code so that it can now correctly match against UUIDs in the service table.
2010-05-20 13:06:04 +00:00
Dean Camera
141d94fa98
More SDP code improvements - responses to ServiceSearchAttribute service discovery requests should now be valid, even if they do not currently return the device's services and service attributes.
...
Added more documentation to the incomplete Bluetooth stack code.
2010-05-20 08:27:04 +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
78600e2485
Switch over the BluetoothHost demo's Service Discovery code to pass around more generic GUID arrays.
2010-05-18 12:54:01 +00:00
Dean Camera
f13bc35a19
Begin processing code for Service Discovery Protocol attributes.
2010-05-17 23:36:05 +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
53ebb2f21a
Refactor Service Discovery Protocol code in the incomplete Bluetooth Host demo, so that the UUID list is compiled via a seperate function to allow for its re-use between different SDP request types.
2010-05-10 13:56:16 +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
27eb17cb93
Change over unix line-endings to dos line endings.
2010-05-07 06:40:47 +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
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
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
d03d6513d0
Add start of a SDP service table, which will be linked to the Bluetooth SDP code.
2010-04-19 12:39:58 +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
55db57e1ed
Add bluetooth channel connection callback to the incomplete BluetoothHost demo.
2010-04-18 04:47:52 +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
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
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
882ef0c983
Add some more documentation to the half-completed Bluetooth Host demo, fix the OpenChannel() command initialising the channel information structure to the wrong initial state once the CONNECTION REQUEST command has been sent to the remote device.
2010-04-12 14:26:56 +00:00
Dean Camera
8b0ec6c5ca
Fix Bluetooth stack CONNECTION RESPONSE packets - for this command and this command only, the source/destination roles are switched. Reverse the Local/Remote channel ordering so that Windows mobile and other stacks which depend on valid channel values to connect.
2010-04-12 13:42:35 +00:00
Dean Camera
6cfa3b7db8
Add HCI debugging with verbosity control to the BluetoothHost demo.
...
Add Link Key Request event processing so that paired devices always re-authenticate until appropriate link key store/retrieve callbacks are implemented.
2010-04-11 06:19:58 +00:00
Dean Camera
26421b38cd
Fix up Bluetooth Demo's options processing on incoming channel configuration requests.
2010-04-11 02:45:42 +00:00
Dean Camera
28f1ac8117
Add LUFA-side channel open/close routines, add signalling handlers for the creation and configuration of channels from the local device to the remote device, to add to the existing remote to local channel capabilities.
2010-04-10 07:33:19 +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
2a072db703
Make Bluetooth signalling handler routines use the generic Bluetooth_SendPacket() routine for their responses. Use a better method of controlling the debug output verbosity.
2010-04-06 13:39:18 +00:00
Dean Camera
c77f136661
Add bidirectional channel configuration -- remote device is not ACKing sent Configuration Requests, needs further debugging. Implement Bluetooth spec's channel states.
...
Use abbreviations for the structure and function names where possible to try to cut down on the code verbosity.
2010-04-06 08:14:08 +00:00
Dean Camera
b9c7d19615
Add packet reception and send routines to the ACL layer of the incomplete Bluetooth Host demo.
2010-04-06 03:56:45 +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
083d797aca
Add Bluetooth signalling echo request/response handlers, disconnection request/response handlers.
...
Add Bluetooth connection request/complete/disconnection callbacks.
Remove debugging from HCI layer, as it is now operational -- add guards to ACL debug statements to reduce logging chattyness so that the overall command sequences can be observed and debugged.
2010-04-05 12:13:33 +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
fd96b28882
More improvements to the incomplete BluetoothHost demo - add Disconnection Event processing.
...
Remove unused macro in the host mode demos for the maximum Configuration Descriptor size.
2010-04-01 04:30:21 +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
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
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
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
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
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
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
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
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
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
0ea819f781
Fix TemperatureDataLogger - sample tick timer wasn't being initialized in the correct CTC mode.
2009-12-30 13:35:24 +00:00
Dean Camera
d4ca7fb44c
Fix MIT license language to make its intent clearer.
2009-12-28 00:34:20 +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
3705330dd3
Use -pedantic compile time option to find and correct several minor code errors.
2009-12-13 14:09:25 +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
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
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
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
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
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
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
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
ab602a8b48
Fix typo in the StillImageHost LowLevel demo, and the CDC Host Class Driver.
2009-11-25 04:23:40 +00:00
Dean Camera
a04131cf04
Fix more Doxygen errors from missing parameter documentation.
2009-11-25 04:13:14 +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
d3f11eb528
Make the StandaloneProgrammer project seamlessly read out drive contents from either an attached FAT formatted drive when in host mode, or the onboard FAT formatted dataflash when in device mode.
2009-11-24 14:10:28 +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
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
e625fd6df3
Corrected the name of the misnamed USB_GetDeviceConfigDescriptor() function to USB_Host_GetDeviceConfigDescriptor().
2009-11-13 10:07:25 +00:00
Dean Camera
2626ecb261
Extend incomplete RNDISHost demo -- can not enumerate a RNDIS device correctly and set the packet filter. No packets are received yet from the test device, need to investigate additional SET commands to see if any critical OIDs have been missed.
2009-11-13 07:23:31 +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
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
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
ba8ffa4cb7
Add support for Mouse Scrollwheel to the MouseHostWithParser demos.
2009-11-04 05:18:43 +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
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