1060ff233Sopenharmony_ci/*
2060ff233Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
3060ff233Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4060ff233Sopenharmony_ci * you may not use this file except in compliance with the License.
5060ff233Sopenharmony_ci * You may obtain a copy of the License at
6060ff233Sopenharmony_ci *
7060ff233Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8060ff233Sopenharmony_ci *
9060ff233Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10060ff233Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11060ff233Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12060ff233Sopenharmony_ci * See the License for the specific language governing permissions and
13060ff233Sopenharmony_ci * limitations under the License.
14060ff233Sopenharmony_ci */
15060ff233Sopenharmony_ci
16060ff233Sopenharmony_ci#include <math.h>
17060ff233Sopenharmony_ci#include "comm_log.h"
18060ff233Sopenharmony_ci#include "softbus_adapter_range.h"
19060ff233Sopenharmony_ci#include "softbus_errcode.h"
20060ff233Sopenharmony_ci
21060ff233Sopenharmony_ci#define MOCK_POWER (-17)
22060ff233Sopenharmony_ci#define DB_BASE (10.0)
23060ff233Sopenharmony_ci#define DB_COEFFICIENT (20.0)
24060ff233Sopenharmony_ci
25060ff233Sopenharmony_ciint SoftBusBleRange(SoftBusRangeParam *param, int32_t *range)
26060ff233Sopenharmony_ci{
27060ff233Sopenharmony_ci    if (param == NULL || range == NULL) {
28060ff233Sopenharmony_ci        COMM_LOGE(COMM_ADAPTER, "SoftBusBleRange param is null.");
29060ff233Sopenharmony_ci        return SOFTBUS_INVALID_PARAM;
30060ff233Sopenharmony_ci    }
31060ff233Sopenharmony_ci
32060ff233Sopenharmony_ci    *range = (int32_t)pow(DB_BASE, param->rssi * -1 / DB_COEFFICIENT);
33060ff233Sopenharmony_ci    return SOFTBUS_OK;
34060ff233Sopenharmony_ci}
35060ff233Sopenharmony_ci
36060ff233Sopenharmony_ciint SoftBusGetBlePower(int8_t *power)
37060ff233Sopenharmony_ci{
38060ff233Sopenharmony_ci    if (power == NULL) {
39060ff233Sopenharmony_ci        COMM_LOGE(COMM_ADAPTER, "SoftBusGetBlePower param is null.");
40060ff233Sopenharmony_ci        return SOFTBUS_INVALID_PARAM;
41060ff233Sopenharmony_ci    }
42060ff233Sopenharmony_ci    *power = MOCK_POWER;
43060ff233Sopenharmony_ci    return SOFTBUS_OK;
44060ff233Sopenharmony_ci}