@Published and async interfaces for Bluetooth Low Energy.
In the world of SwiftUI we have async tasks and @Published properties. The high level goal is to present BLE device characteristics as these high level constructs.
Bluetooth Low Energy is a great technology for wireless connectivity and transmission of named data. Due to varying hardware platforms, async nature, and many transmission failure points, there are a lot of "do the right thing" that needs to be implemented. These complications are handled by this library.
See attached playground for example.
- That Actor Refactor: Apple's BLE implementation is very Objective-C UIKit centric. I do not know what the coding patterns looks like yet for both adoption and public interface expectations.
- BTProperty Capabilities: the can read/write/notify needs to be exposed to ControlledProperty
- Auto Reconnect: That would would be nice to have
- Circuit Cube Naming: I cannot get the reading and writing of device name to work
- Logger: have BT events be logged to a protocol
- LEGO Powered Up: implement
- Use swiftplayground as example