feat: include self-reported tx_power in measurement calls
This commit is contained in:
@@ -6,7 +6,7 @@ defmodule Localiser.RSSI.Buffer do
|
||||
|
||||
@flush_interval_ms 500
|
||||
|
||||
# reading :: %{sensor_id: String.t(), tag_id: String.t(), rssi: integer()}
|
||||
# reading :: %{sensor_id: String.t(), tag_id: String.t(), rssi: integer(), tx_power: integer() | nil}
|
||||
def push(reading) do
|
||||
GenServer.cast(__MODULE__, {:push, reading})
|
||||
end
|
||||
@@ -50,14 +50,14 @@ defmodule Localiser.RSSI.Buffer do
|
||||
# If the sensor is in calibration mode, feeds the reading to Sensor.Server instead
|
||||
# and returns [] so the sample is excluded from Tag.Filter measurements.
|
||||
# If the sensor server isn't running, returns [].
|
||||
defp resolve_measurement(%{sensor_id: sensor_id, rssi: rssi}) do
|
||||
defp resolve_measurement(%{sensor_id: sensor_id, rssi: rssi, tx_power: tx_power}) do
|
||||
case Registry.lookup(Localiser.Registry, {:sensor, sensor_id}) do
|
||||
[{_pid, _}] ->
|
||||
if SensorServer.calibrating?(sensor_id) do
|
||||
SensorServer.calibration_reading(sensor_id, rssi)
|
||||
[]
|
||||
else
|
||||
[SensorServer.measure(sensor_id, rssi)]
|
||||
[SensorServer.measure(sensor_id, rssi, tx_power)]
|
||||
end
|
||||
|
||||
[] ->
|
||||
|
||||
Reference in New Issue
Block a user