Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GATT Implementation #5

Closed
colemancda opened this issue Mar 1, 2016 · 2 comments
Closed

GATT Implementation #5

colemancda opened this issue Mar 1, 2016 · 2 comments

Comments

@colemancda
Copy link
Member

Must implement ATT, GATT Server and GATT Client. Also write a basic test tool, and possibly unit tests.

@colemancda colemancda added this to the v2.0 Swift Bluetooth Stack milestone Mar 1, 2016
@colemancda colemancda self-assigned this Mar 1, 2016
@colemancda colemancda removed this from the v2.0 Swift Bluetooth Stack milestone Mar 3, 2016
@colemancda
Copy link
Member Author

colemancda commented Mar 4, 2016

So the ATTConnection class has been implemented. It acts as a sort of state machine, while the underlying L2CAPSocket performs the actual IO. Right now my immediate goal is to implement GATTServer. For that I need to implement all the ATT Protocol Data Units in ATTProtocolDataUnit.swift.

Here are some valuable resources for creating those structs:

  • All data is in Bluetooth is little endian.
  • Bluetooth Specification v4.0: Better resource, explains in detail the PDU data layout. Page 483 is the starting point for ATT PDUs.
  • Looking at ATTMaximumTranssmissionUnitResponse is a good starting point. It has a simple layout, and you can easily understand how the data is encoded.
  • Fork this repository, and switch to the Gatt branch.

@colemancda colemancda added this to the v2.1.0 milestone Mar 4, 2016
colemancda added a commit that referenced this issue Mar 4, 2016
colemancda added a commit that referenced this issue Mar 5, 2016
colemancda added a commit that referenced this issue Mar 9, 2016
colemancda added a commit that referenced this issue Mar 10, 2016
colemancda added a commit that referenced this issue Mar 11, 2016
colemancda added a commit that referenced this issue Mar 11, 2016
colemancda added a commit that referenced this issue Mar 13, 2016
colemancda added a commit that referenced this issue Mar 13, 2016
colemancda added a commit that referenced this issue Mar 14, 2016
colemancda added a commit that referenced this issue Apr 1, 2016
colemancda added a commit that referenced this issue Apr 1, 2016
colemancda added a commit that referenced this issue Apr 1, 2016
colemancda added a commit that referenced this issue Apr 1, 2016
colemancda added a commit that referenced this issue Apr 1, 2016
Works fine for a single Service with a since Characteristic. Fails for
multiple Services. Still need to implement some handlers. I think
implemented Read Multiple Request should fix that issue.
colemancda added a commit that referenced this issue Apr 1, 2016
colemancda added a commit that referenced this issue Apr 1, 2016
troubleshooting…
@colemancda
Copy link
Member Author

Implemented GATT Server. Good enough for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants