def main(serial_port):
    print("Serial port used: {}".format(serial_port))
    driver = BLEDriver(serial_port=serial_port, baud_rate=1000000)
    observer = TimeoutObserver()
    adv_data = BLEAdvData(complete_local_name="pc_ble_driver_py")

    driver.observer_register(observer)
    driver.open()
    if config.__conn_ic_id__.upper() == "NRF51":
        driver.ble_enable(
            BLEEnableParams(
                vs_uuid_count=0,
                service_changed=0,
                periph_conn_count=1,
                central_conn_count=0,
                central_sec_count=0,
            )
        )
    elif config.__conn_ic_id__.upper() == "NRF52":
        driver.ble_enable()
    driver.ble_gap_adv_data_set(adv_data)
    driver.ble_gap_adv_start()
    observer.wait_for_timeout()

    print("Closing")
    driver.close()
def main(serial_port):
    print("Serial port used: {}".format(serial_port))
    driver = BLEDriver(serial_port=serial_port, auto_flash=True)
    observer = TimeoutObserver()
    adv_data = BLEAdvData(complete_local_name='Example')

    driver.observer_register(observer)
    driver.open()
    driver.ble_enable()
    driver.ble_gap_adv_data_set(adv_data)
    driver.ble_gap_adv_start()
    observer.wait_for_timeout()

    print("Closing")
    driver.close()
Esempio n. 3
0
def main(serial_port):
    print("Serial port used: {}".format(serial_port))
    driver      = BLEDriver(serial_port=serial_port, auto_flash=True)
    observer    = TimeoutObserver()
    adv_data    = BLEAdvData(complete_local_name='Example')

    driver.observer_register(observer)
    driver.open()
    driver.ble_enable()
    driver.ble_gap_adv_data_set(adv_data)
    driver.ble_gap_adv_start()
    observer.wait_for_timeout()

    print("Closing")
    driver.close()
Esempio n. 4
0
    def scan_for_devices(timeout, adapter) -> List[Tuple[str, str]]:
        """Scan for additional devices.
        Returns a list of all the mac addresses of ble devices found.
        """
        class ScanDriverObserver(BLEDriverObserver):
            def __init__(self):
                super(ScanDriverObserver, self).__init__()
                self.advertised_devices = []

            def on_gap_evt_adv_report(self, ble_driver, conn_handle, peer_addr,
                                      rssi, adv_type, adv_data):
                if BLEAdvData.Types.complete_local_name in adv_data.records:
                    dev_name_list = adv_data.records[
                        BLEAdvData.Types.complete_local_name]

                elif BLEAdvData.Types.short_local_name in adv_data.records:
                    dev_name_list = adv_data.records[
                        BLEAdvData.Types.short_local_name]

                else:
                    return

                dev_name = "".join(chr(e) for e in dev_name_list)
                dev_addr = NrfBackend.mac_bin_to_string(peer_addr.addr)
                self.advertised_devices.append((dev_name, dev_addr))

        observer = ScanDriverObserver()

        driver = BLEDriver(serial_port=adapter,
                           auto_flash=False,
                           baud_rate=1000000,
                           log_severity_level="debug")
        driver.open()
        driver.ble_enable()
        driver.observer_register(observer)
        driver.ble_gap_scan_start(scan_params=BLEGapScanParams(
            interval_ms=200, window_ms=150, timeout_s=timeout))
        sleep(timeout)
        driver.close()

        return list(set(observer.advertised_devices))