BLE class of PicoRuby

Type aliases

role_t

:central | :peripheral | :observer | :broadcaster

service_t

{
      start_handle: Integer,
      end_handle: Integer,
      uuid128: String,
      uuid32: (Integer | nil),
      characteristics: Array[characteristic_t]
    }

characteristic_t

{
      start_handle: Integer,
      value_handle: Integer,
      end_handle: Integer,
      properties: Integer,
      uuid128: String,
      uuid32: (Integer | nil),
      value: (String | nil),
      descriptors: Array[descriptor_t]
    }

descriptor_t

{
      handle: Integer,
      uuid128: String,
      uuid32: (Integer | nil),
      value: (String | nil)
    }

scan_type_t

:passive|:active

Singleton methods

new

BLE.new(role_t role, ?(String|nil) profile_data) -> void

Instance methods

_init

instance._init(String | nil) -> void
instance.advertise(String | nil) -> 0

advertising_report_callback

instance.advertising_report_callback(BLE::AdvertisingReport) -> void
instance.blink_led() -> void

broadcaster_advertise

instance.broadcaster_advertise(String | nil) -> 0

connect

instance.connect(BLE::AdvertisingReport) -> bool

debug_puts

instance.debug_puts(*untyped) -> nil

discover_characteristic_descriptors

instance.discover_characteristic_descriptors(Integer conn_handle, Integer value_handle, Integer end_handle) -> Integer

discover_characteristics_for_service

instance.discover_characteristics_for_service(Integer conn_handle, Integer start_handle, Integer end_handle) -> Integer

discover_primary_services

instance.discover_primary_services(Integer conn_handle) -> Integer

ensure

instance.ensure() { () -> void }-> void

gap_connect

instance.gap_connect(String addr, Integer addr_time) -> Integer

gap_local_bd_addr

instance.gap_local_bd_addr() -> String

get_packet

instance.get_packet() -> String

hci_power_control

instance.hci_power_control(Integer power_mode) -> 0

heartbeat_callback

instance.heartbeat_callback() -> void

init_central

instance.init_central() -> void

notify

instance.notify(Integer) -> 0

packet_callback

instance.packet_callback(String) -> void

peripheral_advertise

instance.peripheral_advertise(String | nil) -> 0

pop_heartbeat

instance.pop_heartbeat() -> bool

pop_packet

instance.pop_packet() -> (String | nil)

pop_write_value

instance.pop_write_value(Integer handle) -> (String|nil)

push_read_value

instance.push_read_value(Integer handle, String value) -> void

read_value_of_characteristic_using_value_handle

instance.read_value_of_characteristic_using_value_handle(Integer conn_handle, Integer value_handle) -> Integer

request_can_send_now_event

instance.request_can_send_now_event() -> 0

reset_state

instance.reset_state() -> Symbol

restrict_central

instance.restrict_central() -> void

scan

instance.scan(
      ?scan_type: scan_type_t,
      ?scan_interval: Integer,
      ?scan_window: Integer,
      ?timeout_ms: Integer|nil,
      ?stop_state: Symbol,
      ?debug: bool
    ) -> void

set_scan_params

instance.set_scan_params(scan_type_t scan_type, Integer scan_interval, Integer scan_window) -> 0

start

instance.start(?(Integer | nil) timeout_ms, ?(Symbol | nil)) -> Integer

start_scan

instance.start_scan() -> 0

stop_scan

instance.stop_scan() -> 0

Attr accessors

debug (accessor)

instance.debug -> bool

role (reader)

instance.role -> role_t

state (reader)

instance.state -> Symbol

services (reader)

instance.services -> Array[service_t]
Tags: class