use new api for run command in examples
This commit is contained in:
parent
a2aa7301d4
commit
6c33c8e37e
@ -10,15 +10,22 @@ from where_fi.collection.ingest import RealtimeCSIProducer
|
||||
from where_fi.config import config
|
||||
from where_fi.visualise import server as visualise
|
||||
|
||||
producer = RealtimeCSIProducer()
|
||||
app = CSIApplication(producer, visualise_raw=True)
|
||||
app = CSIApplication(visualise_raw=True)
|
||||
visualise.figures.all_figures["median"] = visualise.figures.RandomVariable(
|
||||
"Median Phase"
|
||||
)
|
||||
visualise.figures.all_figures["magn"] = visualise.figures.RandomVariable(
|
||||
visualise.figures.all_figures["median_magn"] = visualise.figures.RandomVariable(
|
||||
"Median Magnitude"
|
||||
)
|
||||
|
||||
visualise.figures.all_figures["denoised"] = visualise.figures.PerAntennaFigure(
|
||||
[
|
||||
visualise.figures.SimpleLineChart("Denoised CSI Phase", "Subcarrier", "Phase"),
|
||||
visualise.figures.SimpleLineChart(
|
||||
"Denoised CSI Amplitude", "Subcarrier", "Amplitude"
|
||||
),
|
||||
],
|
||||
[np.angle, np.abs],
|
||||
)
|
||||
measurements: list[np.complex64] = []
|
||||
|
||||
|
||||
@ -76,7 +83,6 @@ def _(proc: CSIMatrix) -> None:
|
||||
if proc_magn[i].full():
|
||||
proc_magn[i].get()
|
||||
proc_magn[i].put(magn)
|
||||
if cnt % 100 == 0:
|
||||
print(sum(proc_phase[0, 0, 0].queue))
|
||||
app.visualise_data(
|
||||
np.array([x.queue for x in proc_phase.values()]),
|
||||
@ -84,7 +90,7 @@ def _(proc: CSIMatrix) -> None:
|
||||
)
|
||||
app.visualise_data(
|
||||
np.array([x.queue for x in proc_magn.values()]),
|
||||
"magn",
|
||||
"median_magn",
|
||||
)
|
||||
app.visualise_data(
|
||||
np.array([x.queue for x in subcarrier_phase.values()]),
|
||||
@ -94,9 +100,11 @@ def _(proc: CSIMatrix) -> None:
|
||||
np.array([x.queue for x in subcarrier_magn.values()]),
|
||||
visualise.figures.Figure.MAGN_ANALYSIS,
|
||||
)
|
||||
app.visualise_data(proc, "denoised")
|
||||
cnt += 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("Starting app")
|
||||
app.set_producer(RealtimeCSIProducer())
|
||||
app.start()
|
||||
|
||||
@ -12,8 +12,7 @@ from where_fi.application import CSIApplication
|
||||
from where_fi.collection.ingest import RealtimeCSIProducer
|
||||
|
||||
# Connect to a FeitCSI host
|
||||
producer = RealtimeCSIProducer()
|
||||
app = CSIApplication(producer)
|
||||
app = CSIApplication(visualise_raw=True)
|
||||
|
||||
|
||||
# Stores historical data for each receiving antenna, for each subcarrier
|
||||
@ -21,7 +20,7 @@ historical: dict[tuple[int, int], Queue[np.complex64]] = {}
|
||||
|
||||
MAGN_THRESHOLD = 20
|
||||
PHASE_THRESHOLD = 0.5
|
||||
QUEUE_SIZE = 2000
|
||||
QUEUE_SIZE = 20
|
||||
|
||||
|
||||
@app.on_process
|
||||
@ -62,6 +61,10 @@ def _(sample: npt.NDArray[np.complex64]) -> None:
|
||||
np.abs(mean - current) > MAGN_THRESHOLD
|
||||
or np.abs(np.angle(mean) - np.angle(current)) > PHASE_THRESHOLD
|
||||
):
|
||||
print(
|
||||
f"Change detected in antenna {antenna}, subcarrier {subcarrier}: "
|
||||
f"magn: {np.abs(mean - current)}, angle: {np.abs(np.angle(mean) - np.angle(current))}"
|
||||
)
|
||||
change = True
|
||||
if change:
|
||||
print("Motion detected!")
|
||||
@ -69,4 +72,8 @@ def _(sample: npt.NDArray[np.complex64]) -> None:
|
||||
print("No motion detected!")
|
||||
|
||||
|
||||
app.start()
|
||||
if __name__ == "__main__":
|
||||
# Start the application
|
||||
print("Starting app")
|
||||
app.set_producer(RealtimeCSIProducer())
|
||||
app.start()
|
||||
|
||||
@ -8,16 +8,8 @@ from where_fi.collection import CSIMatrix
|
||||
from where_fi.collection.ingest import RealtimeCSIProducer
|
||||
from where_fi.config import config
|
||||
from where_fi.processing import aoa
|
||||
from where_fi.visualise import server as visualise
|
||||
|
||||
producer = RealtimeCSIProducer()
|
||||
app = CSIApplication(producer, visualise_raw=True)
|
||||
visualise.figures.all_figures["median"] = visualise.figures.RandomVariable(
|
||||
"Median Phase"
|
||||
)
|
||||
visualise.figures.all_figures["magn"] = visualise.figures.RandomVariable(
|
||||
"Median Magnitude"
|
||||
)
|
||||
app = CSIApplication(visualise_raw=True)
|
||||
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
@ -65,4 +57,7 @@ def _(_: CSIMatrix) -> None:
|
||||
# return torch.abs(c)[:, 0, 0]
|
||||
|
||||
|
||||
app.start()
|
||||
if __name__ == "__main__":
|
||||
producer = RealtimeCSIProducer()
|
||||
app.set_producer(producer)
|
||||
app.start()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user