+ BT_INFO("Set scan parameters inteval %f, win %f, type %d",
+ itv * BT_SCAN_INTERVAL_SPLIT, win * BT_SCAN_INTERVAL_SPLIT, params->type);
+ return BLUETOOTH_ERROR_NONE;
+}
+
+int _bt_prepare_scan_parameters(bluetooth_le_scan_params_t *params, int scan_type)
+{
+ if (_bt_adapter_get_status() != BT_ACTIVATED &&
+ _bt_adapter_get_le_status() != BT_LE_ACTIVATED) {
+ return BLUETOOTH_ERROR_DEVICE_NOT_ENABLED;
+ }
+
+ if (params)
+ BT_DBG("inteval %f, win %f", params->interval, params->window);
+ else
+ BT_DBG("type %d", scan_type);
+
+ if (params) {
+ if (params->interval < BT_LE_SCAN_INTERVAL_MIN || params->interval > BT_LE_SCAN_INTERVAL_MAX)
+ return BLUETOOTH_ERROR_INVALID_PARAM;
+
+ if (params->window < BT_LE_SCAN_WINDOW_MIN || params->window > BT_LE_SCAN_WINDOW_MAX)
+ return BLUETOOTH_ERROR_INVALID_PARAM;
+
+ if (params->window > params->interval)
+ return BLUETOOTH_ERROR_INVALID_PARAM;
+
+ le_scan_params.interval = params->interval;
+ le_scan_params.window = params->window;
+ } else {
+ le_scan_params.type = scan_type;
+ if (le_scan_params.interval == 0) {
+ /* Set default scan interval same with BT_ADAPTER_LE_SCAN_MODE_LOW_ENERGY */
+ le_scan_params.interval = 5120;
+ le_scan_params.window = 512;
+ }
+ }
+
+ is_le_set_scan_parameter = TRUE;
+