dbus_uint32_t interval_max;
dbus_uint32_t filter_policy;
dbus_uint32_t type;
+ dbus_int32_t tx_power_level;
dbus_int32_t slot_id;
gboolean ret;
DBUS_TYPE_UINT32, &interval_max,
DBUS_TYPE_UINT32, &filter_policy,
DBUS_TYPE_UINT32, &type,
+ DBUS_TYPE_INT32, &tx_power_level,
DBUS_TYPE_INT32, &slot_id,
DBUS_TYPE_INVALID))
return btd_error_invalid_args(msg);
memset(&cp, 0, sizeof(cp));
- DBG("advertising interval min %x, max %x, filter %x type %x",
- interval_min, interval_max, filter_policy, type);
+ DBG("advertising interval min %x, max %x, filter %x type %x, tx power %d",
+ interval_min, interval_max, filter_policy, type, tx_power_level);
if (filter_policy > 0x03)
return btd_error_invalid_args(msg);
p_params->adv_type = type;
p_params->channel_map = 0x07; /* fixed channel :: will be used all */
p_params->adv_filter_policy = filter_policy;
- p_params->tx_power = BLE_ADV_TX_POWER_MID; /* TODO:need to optimize */
+ p_params->tx_power = tx_power_level;
if (adapter->current_settings & MGMT_SETTING_PRIVACY) {
p_inst->bdaddr_type = 0x01;
{ "interval_max", "u" },
{ "filter_policy", "u" },
{ "type", "u" },
+ { "tx_power_level", "i" },
{ "slot_id", "i" }), NULL,
adapter_set_advertising_params) },
{ GDBUS_METHOD("SetAdvertisingData",