Tests pass

This commit is contained in:
Sassa NF
2024-09-19 19:52:49 +01:00
parent 7b1e8599b9
commit dbbe3f4e3a
2 changed files with 15 additions and 3 deletions

View File

@@ -18,6 +18,9 @@ uint16_t Scan::rssiMethod(uint16_t *result)
for (int r = 0; r < SAMPLES_RSSI; r++)
{
float rssi = getRSSI();
if (rssi < -65535)
rssi = -65535;
uint16_t abs_rssi = abs(rssi);
if (abs_rssi < max_signal)
{
@@ -34,8 +37,16 @@ uint16_t Scan::rssiMethod(uint16_t *result)
}
else if (RSSI_OUTPUT_FORMULA == 2)
{
// I like this formula better
result_index = uint8_t(abs(rssi) / 2) - 22;
if (rssi > HI_RSSI_THRESHOLD)
{
rssi = HI_RSSI_THRESHOLD;
}
else if (rssi < LO_RSSI_THRESHOLD)
{
rssi = LO_RSSI_THRESHOLD;
}
result_index = uint8_t((HI_RSSI_THRESHOLD - rssi) * scale);
}
if (result_index >= res_size)

View File

@@ -31,7 +31,7 @@ constexpr float LO_RSSI_THRESHOLD = HI_RSSI_THRESHOLD - 66;
struct Scan
{
Scan(int sz)
: res_size(sz)
: res_size(sz), scale((float)sz / (HI_RSSI_THRESHOLD - LO_RSSI_THRESHOLD + 0.1))
{
}
@@ -40,6 +40,7 @@ struct Scan
uint16_t rssiMethod(uint16_t *result);
int res_size;
float scale;
};
#endif