diff --git a/edge/app/usecases/data_processing.py b/edge/app/usecases/data_processing.py index e4bb712..625b50d 100644 --- a/edge/app/usecases/data_processing.py +++ b/edge/app/usecases/data_processing.py @@ -1,6 +1,8 @@ +import time from app.entities.agent_data import AgentData from app.entities.processed_agent_data import ProcessedAgentData +_last_processed_times = {} def process_agent_data( agent_data: AgentData, @@ -12,8 +14,22 @@ def process_agent_data( Returns: processed_data_batch (ProcessedAgentData): Processed data containing the classified state of the road surface and agent data. """ - # Implement it + user_id = agent_data.user_id + + curr_time = time.time() + last_processed_time = _last_processed_times.get(user_id, 0) + if curr_time - last_processed_time < 1.0: + return None + _last_processed_times[user_id] = curr_time + + road_state = "normal" + + if agent_data.accelerometer.z < -1.0: + road_state = "pothole" + elif agent_data.accelerometer.z > 1.0: + road_state = "bump" + return ProcessedAgentData( - road_state="normal", + road_state=road_state, agent_data=agent_data )