Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Windows BLE Communications Interface will enable communication with a BLE device by wrapping functionality within the Windows BLE library in an abstract class. This class will provide the ability to connect to and disconnect from a device. A BLEVictorDevice will derive from this abstract class to define how users can read from and write to specific characteristics. These calls will be handled asynchronously to allow for the continued execution of code while the device performs the requested action and reports back the success of the read or write operation. Subscription functionality is also defined in the BLEVictorDevice class to raise events when a characteristic’s value has changed, as long as the characteristic in question supports notifications. The BluetoothLEDevice within the BLEVictorDevice class is what allows for the communication with a VictoR device connected through bluetooth. The BluetoothLEDevice will be hidden from the user, only allowing modifications to be made to the device through the available functions within the BLEVictorDevice class. A device manager will contain a dictionary of devices (both Bluetooth and USB) to allow for the management of these devices, and ensuring the user does not need to retain their own collection of devices within their application.

...

VictorDeviceManager

Connect

...

Events

ConnectionStatusChanged

System Interaction

Any requests to read and write data to and from a device will be managed through the VictorDeviceManager class. Users will not be interfacing with a Device class directly. Instead, the VictorDeviceManager will expose general read/write/subscription functionality and handle the nuances between connecting to devices of different types. The below example demonstrates a quick sequence diagram of how users will interface with both the Device and the VictorDeviceManager classes.

...