C# Class flint.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
Connect ( ) : void

Connect to the Pebble.

PebbleProtocol ( string port ) : 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
readAndProcess ( ) : 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.

serialPortDataReceived ( object sender, System.IO.Ports.SerialDataReceivedEventArgs e ) : void
serialPortErrorReceived ( object sender, System.IO.Ports.SerialErrorReceivedEventArgs e ) : void

Serial error handler. Passes stuff on to the next subscriber.

For the possible errors, System.IO.Ports.SerialError. I figure most if not all will be taken care of by the BT layer.

Method Details

Close() public method

public Close ( ) : void
return void

Connect() public method

Connect to the Pebble.
Passed on when no connection can be made.
public Connect ( ) : void
return void

PebbleProtocol() public method

Create a new Pebble connection
public PebbleProtocol ( string port ) : System
port string
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