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.
15 years ago
Dean Camera
f92229697f
More RFCOMM layer implementation - fix FCS calculation, add in start of control channel command processing.
15 years ago
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.
15 years ago
Dean Camera
361e1ec1d8
Refactor out RFCOMM packet send code into a seperate function.
15 years ago
Dean Camera
2dabb4e55f
Add the svn:eol-style property onto new files which where missing it to ensure uniform line endings.
15 years ago
Dean Camera
efbedcfa54
Document Bluetooth files with overall file Doxygen comments. Add more initial RFCOMM layer code to receive and respond to SABM packets.
15 years ago
Dean Camera
fc92f9969c
Minor documentation cleanups.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
Dean Camera
b98158bd50
Clean up the Service tables, add incomplete ProtocolDescriptorList attribute to the SDP service.
15 years ago
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.
15 years ago
Dean Camera
255d4ef858
Service Attribute SDP requests should have only one Data Element Sequence container around the single service's retrieved attributes, not two.
15 years ago
Dean Camera
0902ff9651
Document inline SDP data read/write functions.
15 years ago
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.
15 years ago
Dean Camera
cb52e4371e
Fix the encoding of UUIDs in the SDP server so that they match the Bluetooth UUID format properly.
15 years ago
Dean Camera
e0ef5741d4
Move SDP service tables out into a new set of files, to make the SDP service code cleaner.
15 years ago
Dean Camera
587f320333
Add Service Attribute request processing to the SDP server code.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
Dean Camera
8cdb141eed
SDP Service improvements; fixed UUID for SDP service, added Service Discovery Server UUID, better documentation.
15 years ago
Dean Camera
a20a9086f7
Add comments and partial Doxygen documentation to the incomplete Bluetooth SDP handler code.
15 years ago
Dean Camera
58a0ee67a3
Oops - when adding a sequence header to the SDP response, the size value needs to be cleared, not the buffer pointer.
15 years ago
Dean Camera
92bebc457f
Add incomplete code to properly handle attribute responses to Service Discovery Protocol requests.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
Dean Camera
78600e2485
Switch over the BluetoothHost demo's Service Discovery code to pass around more generic GUID arrays.
15 years ago
Dean Camera
f13bc35a19
Begin processing code for Service Discovery Protocol attributes.
15 years ago
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.
15 years ago
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.
15 years ago
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.
15 years ago
Dean Camera
27eb17cb93
Change over unix line-endings to dos line endings.
15 years ago
Dean Camera
9cad677ebb
The Audio_Device_IsSampleReceived() and Audio_Device_IsReadyForNextSample() functions are now inline, to reduce overhead.
15 years ago
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.
15 years ago
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.
15 years ago
Dean Camera
d03d6513d0
Add start of a SDP service table, which will be linked to the Bluetooth SDP code.
15 years ago
Dean Camera
d92e9133d3
Make bluetooth SDP code correctly unpack the search UUIDs and parameters.
...
Minor documentation improvements.
15 years ago
Dean Camera
fc8e4837a9
Add const keyword to the demo function parameters where possible.
15 years ago
Dean Camera
55db57e1ed
Add bluetooth channel connection callback to the incomplete BluetoothHost demo.
15 years ago
Dean Camera
1f682ca2de
Minor documentation improvements.
15 years ago
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.
15 years ago
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.
15 years ago