コード例 #1
0
ファイル: main.py プロジェクト: lopessec/pc-ble-driver
def set_adv_data():
    device_name = "HRM Example"
    device_name_utf8 = [ord(character) for character in list(device_name)]

    data_type = [ble_driver.BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME]

    payload = list(data_type + device_name_utf8)
    payload_length = len(payload)

    data_list = [payload_length] + payload
    data_length = len(data_list)

    data_array = util.list_to_uint8_array(data_list)
    # To get the correct pointer type, call cast() on the array object.
    data_array_pointer = data_array.cast()

    error_code = ble_driver.sd_ble_gap_adv_data_set(data_array_pointer,
                                                    data_length, None, 0)

    if error_code != ble_driver.NRF_SUCCESS:
        print "Failed to set advertisement data. Error code: 0x{0:02X}".format(
            error_code)
        return

    print "Advertising data set"
コード例 #2
0
ファイル: main.py プロジェクト: lopessec/pc-ble-driver
def set_hrm_cccd(value):
    print "Setting HRM CCCD"

    if hrm_cccd_handle == 0:
        print "Error. No CCCD handle has been found"

    cccd_list = [value, 0]
    cccd_array = util.list_to_uint8_array(cccd_list)

    write_params = ble_driver.ble_gattc_write_params_t()
    write_params.handle = hrm_cccd_handle
    write_params.len = len(cccd_list)
    write_params.p_value = cccd_array.cast()
    write_params.write_op = ble_driver.BLE_GATT_OP_WRITE_REQ
    write_params.offset = 0

    ble_driver.sd_ble_gattc_write(central_connection_handle, write_params)
コード例 #3
0
ファイル: main.py プロジェクト: jorgenmk/pc-ble-driver
def set_hrm_cccd(value):
    print "Setting HRM CCCD"

    if hrm_cccd_handle == 0:
        print "Error. No CCCD handle has been found"

    cccd_list = [value, 0]
    cccd_array = util.list_to_uint8_array(cccd_list)

    write_params = ble_driver.ble_gattc_write_params_t()
    write_params.handle = hrm_cccd_handle
    write_params.len = len(cccd_list)
    write_params.p_value = cccd_array.cast()
    write_params.write_op = ble_driver.BLE_GATT_OP_WRITE_REQ
    write_params.offset = 0

    ble_driver.sd_ble_gattc_write(connection_handle, write_params)
コード例 #4
0
ファイル: main.py プロジェクト: jorgenmk/pc-ble-driver
def set_adv_data():
    device_name = "Example"
    device_name_utf8 = [ord(character) for character in list(device_name)]

    data_type = [ble_driver.BLE_GAP_AD_TYPE_COMPLETE_LOCAL_NAME]

    payload = list(data_type + device_name_utf8)
    payload_length = len(payload)

    data_list = [payload_length] + payload
    data_length = len(data_list)

    data_array = util.list_to_uint8_array(data_list)
    # To get the correct pointer type, call cast() on the array object.
    data_array_pointer = data_array.cast()

    error_code = ble_driver.sd_ble_gap_adv_data_set(data_array_pointer, data_length, None, 0)

    if error_code != ble_driver.NRF_SUCCESS:
        print "Failed to set advertisement data. Error code: 0x{0:02X}".format(error_code)
        return

    print "Advertising data set"