darwin

package
v0.0.0-...-c1d21c1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2017 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

A Client is a GATT client.

func NewClient

func NewClient(c ble.Conn) (*Client, error)

NewClient ...

func (*Client) Address

func (cln *Client) Address() ble.Addr

Address returns UUID of the remote peripheral.

func (*Client) CancelConnection

func (cln *Client) CancelConnection() error

CancelConnection disconnects the connection.

func (*Client) ClearSubscriptions

func (cln *Client) ClearSubscriptions() error

ClearSubscriptions clears all subscriptions to notifications and indications.

func (*Client) Disconnected

func (cln *Client) Disconnected() <-chan struct{}

Disconnected returns a receiving channel, which is closed when the client disconnects.

func (*Client) DiscoverCharacteristics

func (cln *Client) DiscoverCharacteristics(cs []ble.UUID, s *ble.Service) ([]*ble.Characteristic, error)

DiscoverCharacteristics finds all the characteristics within a service. [Vol 3, Part G, 4.6.1] If filter is specified, only filtered characteristics are returned.

func (*Client) DiscoverDescriptors

func (cln *Client) DiscoverDescriptors(ds []ble.UUID, c *ble.Characteristic) ([]*ble.Descriptor, error)

DiscoverDescriptors finds all the descriptors within a characteristic. [Vol 3, Part G, 4.7.1] If filter is specified, only filtered descriptors are returned.

func (*Client) DiscoverIncludedServices

func (cln *Client) DiscoverIncludedServices(ss []ble.UUID, s *ble.Service) ([]*ble.Service, error)

DiscoverIncludedServices finds the included services of a service. [Vol 3, Part G, 4.5.1] If filter is specified, only filtered services are returned.

func (*Client) DiscoverProfile

func (cln *Client) DiscoverProfile(force bool) (*ble.Profile, error)

DiscoverProfile discovers the whole hierachy of a server.

func (*Client) DiscoverServices

func (cln *Client) DiscoverServices(ss []ble.UUID) ([]*ble.Service, error)

DiscoverServices finds all the primary services on a server. [Vol 3, Part G, 4.4.1] If filter is specified, only filtered services are returned.

func (*Client) ExchangeMTU

func (cln *Client) ExchangeMTU(mtu int) (int, error)

ExchangeMTU set the ATT_MTU to the maximum possible value that can be supported by both devices [Vol 3, Part G, 4.3.1]

func (*Client) Name

func (cln *Client) Name() string

Name returns the name of the remote peripheral. This can be the advertised name, if exists, or the GAP device name, which takes priority.

func (*Client) Profile

func (cln *Client) Profile() *ble.Profile

Profile returns the discovered profile.

func (*Client) ReadCharacteristic

func (cln *Client) ReadCharacteristic(c *ble.Characteristic) ([]byte, error)

ReadCharacteristic reads a characteristic value from a server. [Vol 3, Part G, 4.8.1]

func (*Client) ReadDescriptor

func (cln *Client) ReadDescriptor(d *ble.Descriptor) ([]byte, error)

ReadDescriptor reads a characteristic descriptor from a server. [Vol 3, Part G, 4.12.1]

func (*Client) ReadLongCharacteristic

func (cln *Client) ReadLongCharacteristic(c *ble.Characteristic) ([]byte, error)

ReadLongCharacteristic reads a characteristic value which is longer than the MTU. [Vol 3, Part G, 4.8.3]

func (*Client) ReadRSSI

func (cln *Client) ReadRSSI() int

ReadRSSI retrieves the current RSSI value of remote peripheral. [Vol 2, Part E, 7.5.4]

func (*Client) Subscribe

func (cln *Client) Subscribe(c *ble.Characteristic, ind bool, fn ble.NotificationHandler) error

Subscribe subscribes to indication (if ind is set true), or notification of a characteristic value. [Vol 3, Part G, 4.10 & 4.11]

func (*Client) Unsubscribe

func (cln *Client) Unsubscribe(c *ble.Characteristic, ind bool) error

Unsubscribe unsubscribes to indication (if ind is set true), or notification of a specified characteristic value. [Vol 3, Part G, 4.10 & 4.11]

func (*Client) WriteCharacteristic

func (cln *Client) WriteCharacteristic(c *ble.Characteristic, b []byte, noRsp bool) error

WriteCharacteristic writes a characteristic value to a server. [Vol 3, Part G, 4.9.3]

func (*Client) WriteDescriptor

func (cln *Client) WriteDescriptor(d *ble.Descriptor, b []byte) error

WriteDescriptor writes a characteristic descriptor to a server. [Vol 3, Part G, 4.12.3]

type Device

type Device struct {
	// contains filtered or unexported fields
}

Device is either a Peripheral or Central device.

func NewDevice

func NewDevice(opts ...Option) (*Device, error)

NewDevice returns a BLE device.

func (*Device) AddService

func (d *Device) AddService(s *ble.Service) error

AddService adds a service to device's database. The following services are ignored as they are provided by OS X.

0x1800 (Generic Access) 0x1801 (Generic Attribute) 0x1805 (Current Time Service) 0x180A (Device Information) 0x180F (Battery Service) 0x1812 (Human Interface Device)

func (*Device) AdvertiseIBeacon

func (d *Device) AdvertiseIBeacon(ctx context.Context, u ble.UUID, major, minor uint16, pwr int8) error

AdvertiseIBeacon advertises iBeacon packet.

func (*Device) AdvertiseIBeaconData

func (d *Device) AdvertiseIBeaconData(ctx context.Context, md []byte) error

AdvertiseIBeaconData advertises iBeacon packet with specified manufacturer data.

func (*Device) AdvertiseMfgData

func (d *Device) AdvertiseMfgData(ctx context.Context, id uint16, md []byte) error

AdvertiseMfgData ...

func (*Device) AdvertiseNameAndServices

func (d *Device) AdvertiseNameAndServices(ctx context.Context, name string, ss ...ble.UUID) error

AdvertiseNameAndServices advertises name and specifid service UUIDs.

func (*Device) AdvertiseServiceData16

func (d *Device) AdvertiseServiceData16(ctx context.Context, id uint16, b []byte) error

AdvertiseServiceData16 advertises data associated with a 16bit service uuid

func (*Device) Dial

func (d *Device) Dial(ctx context.Context, a ble.Addr) (ble.Client, error)

Dial ...

func (*Device) HandleXpcEvent

func (d *Device) HandleXpcEvent(event xpc.Dict, err error)

HandleXpcEvent process Device events and asynchronous errors.

func (*Device) Init

func (d *Device) Init() error

Init ...

func (*Device) Option

func (d *Device) Option(opts ...Option) error

Option sets the options specified.

func (*Device) RemoveAllServices

func (d *Device) RemoveAllServices() error

RemoveAllServices removes all services of device's

func (*Device) Scan

func (d *Device) Scan(ctx context.Context, allowDup bool, h ble.AdvHandler) error

Scan ...

func (*Device) SetServices

func (d *Device) SetServices(ss []*ble.Service) error

SetServices ...

func (*Device) Stop

func (d *Device) Stop() error

Stop ...

type Option

type Option func(*Device) error

An Option is a configuration function, which configures the device.

func OptCentralRole

func OptCentralRole() Option

OptCentralRole configures the device to perform Central tasks.

func OptPeripheralRole

func OptPeripheralRole() Option

OptPeripheralRole configures the device to perform Peripheral tasks.

type State

type State int

State ...

const (
	StateUnknown      State = 0
	StateResetting    State = 1
	StateUnsupported  State = 2
	StateUnauthorized State = 3
	StatePoweredOff   State = 4
	StatePoweredOn    State = 5
)

State ...

func (State) String

func (s State) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL