Exemple #1
0
 def peer_connected(self, conn_handle, peer_address, connection_params):
     # Recreate the DB and discovery class since the client object persists across disconnects
     if not self._first_connection:
         self._db = gattc.GattcDatabase(self._ble_device, self)
         self._discoverer = service_discovery.DatabaseDiscoverer(self._ble_device, self)
     self._first_connection = False
     super(Client, self).peer_connected(conn_handle, peer_address, connection_params)
Exemple #2
0
    def __init__(self, ble_device, role, connection_params=DEFAULT_CONNECTION_PARAMS,
                 security_params=DEFAULT_SECURITY_PARAMS):
        """
        :type ble_device: blatann.device.BleDevice
        """
        self._ble_device = ble_device
        self._role = role
        self._preferred_connection_params = connection_params
        self._current_connection_params = ActiveConnectionParameters(connection_params)
        self.conn_handle = BLE_CONN_HANDLE_INVALID
        self.peer_address = "",
        self.connection_state = PeerState.DISCONNECTED
        self._on_connect = EventSource("On Connect", logger)
        self._on_disconnect = EventSource("On Disconnect", logger)
        self._on_mtu_exchange_complete = EventSource("On MTU Exchange Complete", logger)
        self._on_mtu_size_updated = EventSource("On MTU Size Updated", logger)
        self._mtu_size = MTU_SIZE_DEFAULT
        self._preferred_mtu_size = MTU_SIZE_DEFAULT
        self._negotiated_mtu_size = None
        self._disconnection_reason = nrf_events.BLEHci.local_host_terminated_connection

        self._connection_based_driver_event_handlers = {}
        self._connection_handler_lock = threading.Lock()

        self.security = smp.SecurityManager(self._ble_device, self, security_params)
        self._db = gattc.GattcDatabase(ble_device, self)
        self._discoverer = service_discovery.DatabaseDiscoverer(ble_device, self)
Exemple #3
0
 def __init__(self,
              ble_device,
              peer_address,
              connection_params=DEFAULT_CONNECTION_PARAMS):
     super(Peripheral,
           self).__init__(ble_device, nrf_events.BLEGapRoles.central,
                          connection_params)
     self.peer_address = peer_address
     self.connection_state = PeerState.CONNECTING
     self._db = gattc.GattcDatabase(ble_device, self)
     self._discoverer = service_discovery.DatabaseDiscoverer(
         ble_device, self)