C# Class Flint.Core.PebbleProtocol

Handles the basic protocol structure for Pebble communication. Essentially handles the SerialPort and translates the stream to endpoint,payload pairs and vv. Does and should not handle anything regarding the *meaning* of that data.
ファイルを表示 Open project: barometz/flint Class Usage Examples

Public Methods

Method Description
Close ( ) : void
ConnectAsync ( ) : System.Threading.Tasks.Task

Connect to the Pebble.

PebbleProtocol ( IBluetoothConnection connection ) : System

Create a new Pebble connection

SendMessage ( ushort endpoint, byte payload ) : void

Send a message to the connected Pebble. The payload should at most be 2048 bytes large.

Private Methods

Method Description
ReadAndProcessBytes ( ) : bool

Read from the serial line if a useful chunk is present.

In this case a "useful chunk" means that either the payload size and endpoint of a new message or the complete payload of a message are present.

ReadBytes ( int count ) : byte[]
SerialPortDataReceived ( object sender, BytesReceivedEventArgs e ) : void

Method Details

Close() public method

public Close ( ) : void
return void

ConnectAsync() public method

Connect to the Pebble.
Passed on when no connection can be made.
public ConnectAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task

PebbleProtocol() public method

Create a new Pebble connection
public PebbleProtocol ( IBluetoothConnection connection ) : System
connection IBluetoothConnection
return System

SendMessage() public method

Send a message to the connected Pebble. The payload should at most be 2048 bytes large.
Thrown when the payload is too large.
public SendMessage ( ushort endpoint, byte payload ) : void
endpoint ushort
payload byte
return void