darwin

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2020 License: BSD-3-Clause Imports: 12 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

Addr returns UUID of the remote peripheral.

func (*Client) CancelConnection

func (cln *Client) CancelConnection(ctx context.Context) error

CancelConnection disconnects the connection.

func (*Client) ClearSubscriptions

func (cln *Client) ClearSubscriptions() error

ClearSubscriptions clears all subscriptions to notifications and indications.

func (*Client) Conn added in v0.0.6

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

Conn returns the client's current connection.

func (*Client) Connection

func (cln *Client) Connection() ble.Conn

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 hierarchy 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) Read

func (cln *Client) Read() ([]byte, error)

Read reads Point to Point bytes from the device

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) Write

func (cln *Client) Write(v []byte) error

Read reads Point to Point bytes from the device

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 NewDeviceWithNameAndHandler added in v0.0.6

func NewDeviceWithNameAndHandler(name string, handler ble.NotifyHandler) (*Device, error)

NewDeviceWithNameAndHandler 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) Advertise added in v0.0.6

func (d *Device) Advertise(ctx context.Context, adv ble.Advertisement) error

Advertise advertises the given Advertisement

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) Closed added in v0.0.4

func (d *Device) Closed() <-chan struct{}

Closed ...

func (*Device) Dial

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

Dial ...

func (*Device) DialRFCOMM

func (d *Device) DialRFCOMM(ctx context.Context, a ble.Addr, clockOffset uint16, pageScanRepetitionMode, channel uint8) (ble.ClientRFCOMM, error)

DialRFCOMM ...

func (*Device) Error added in v0.0.4

func (d *Device) Error() error

Error ...

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) Inquire

func (d *Device) Inquire(ctx context.Context, numResponses int, h ble.InqHandler) error

Scans for BR/EDR devices

func (*Device) Option

func (d *Device) Option() error

Option sets the options specified.

func (*Device) RemoveAllServices

func (d *Device) RemoveAllServices() error

RemoveAllServices removes all services of device's

func (*Device) RequestRemoteName

func (h *Device) RequestRemoteName(a ble.Addr) (string, error)

RequestRemoteName

func (*Device) Scan

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

Scan ...

func (*Device) SetAdvParams added in v0.0.6

func (d *Device) SetAdvParams(param cmd.LESetAdvertisingParameters) error

SetAdvParams overrides default advertising parameters.

func (*Device) SetCentralRole added in v0.0.6

func (d *Device) SetCentralRole() error

SetCentralRole configures the device to perform Central tasks.

func (*Device) SetConnParams added in v0.0.6

func (d *Device) SetConnParams(param cmd.LECreateConnection) error

SetConnParams overrides default connection parameters.

func (*Device) SetConnectedHandler added in v0.0.6

func (h *Device) SetConnectedHandler(f func(complete evt.LEConnectionComplete)) error

SetConnectedHandler sets handler to be called when new connection is established.

func (*Device) SetDeviceID added in v0.0.6

func (d *Device) SetDeviceID(id int) error

SetDeviceID sets HCI device ID.

func (*Device) SetDialerTimeout added in v0.0.6

func (d *Device) SetDialerTimeout(dur time.Duration) error

SetDialerTimeout sets dialing timeout for Dialer.

func (*Device) SetDisconnectedHandler added in v0.0.6

func (h *Device) SetDisconnectedHandler(f func(evt.DisconnectionComplete)) error

SetDisconnectedHandler sets handler to be called on disconnect.

func (*Device) SetListenerTimeout added in v0.0.6

func (d *Device) SetListenerTimeout(dur time.Duration) error

SetListenerTimeout sets dialing timeout for Listener.

func (*Device) SetPeripheralRole added in v0.0.6

func (d *Device) SetPeripheralRole() error

SetPeripheralRole configures the device to perform Peripheral tasks.

func (*Device) SetScanParams added in v0.0.6

func (d *Device) SetScanParams(param cmd.LESetScanParameters) error

SetScanParams overrides default scanning parameters.

func (*Device) SetServices

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

SetServices ...

func (*Device) Stop

func (d *Device) Stop() error

Stop ...

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