Добрый день!!! Имеется код нужна подмога перевода его на язык python...
public static double calculateDistance(int txPower, double rssi, boolean eddy) {
if (rssi == 0) {
return -1.0; // if we cannot determine distance, return -1.
}
double ratio = rssi*1.0/(eddy?txPower-41:txPower);
if (ratio < 1.0) {
return Math.pow(ratio,10);
}
else {
double accuracy = (0.89976)*Math.pow(ratio,7.7095) + 0.111;
return accuracy;
}
}
На данный момент результат продвигается медленно:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import math
def distance(n, # (в свободном пространстве)
tx_power, # Мощность передачи (TxPower) !!! (26) (2)
rssi, # Индикатор мощности принятого сигнала (RSSI)
eddy=False):
if rssi == 0:
return -1.0
if eddy:
tx_power - rssi
ratio = rssi*1.0/tx_power
if ratio < 1.0:
return math.pow(10, ratio)
else:
return 0.89976*math.pow(7.7095, ratio) + 0.111
print(distance(n=2, tx_power=2, rssi=-17, eddy=False))