public void Test_Collision_Info_Rear() { Report.TestCaseDescription("Check propagation of detected objects from LIDAR_Rear endpoint to Dashboard endpoint"); Object_Recognition.SelectProvider(LIDAR_Rear.Instance); // Iterate classification enum values foreach (Object_Classification_Enum classification in Enum.GetValues(typeof(Object_Classification_Enum))) { foreach (uint distance in object_distance_test_values) { Execution.Wait(200); Report.TestStep("Propagate detected object", "Object: " + classification.ToString() + ", Distance: " + distance.ToString()); Object_Recognition.Object.Classification.SymbValue = classification; Object_Recognition.Object.Distance = distance; // Wait for setter call from Drive_Master to Dashboard var wait_result = Passenger_Information.Collision_Info_Rear.Set.WaitForNextCall(100); // Check for expected value (further checks omitted in this example) if (wait_result.Call.newValue.Distance.ImplValue != Object_Recognition.Object.Distance) { Report.TestStepFail("Check distance", "Unexpected value received: " + wait_result.Call.newValue.Distance.ImplValue.ToString()); } else { Report.TestStepPass("Check distance", "Expected value received: " + wait_result.Call.newValue.Distance.ImplValue.ToString()); } } } Object_Recognition.Object.Classification.SymbValue = Object_Classification_Enum.NO_OBJECT; }
public override void Main() { Passenger_Information.SelectSide(ServiceSide.Provider); Object_Recognition.SelectSide(ServiceSide.Provider); Navigation.SelectSide(ServiceSide.Provider); //Test cases to be performed Test_Collision_Info_Front(); Test_Collision_Info_Rear(); Test_Navigation_Data(); }
public void OnObjectRear() { Object_Recognition.SelectProvider(LIDAR_Rear.Instance); Collision_Info collision_info = new Collision_Info(); if (Object_Recognition.Object.Classification.SymbValue == Object_Classification_Enum.VEHICLE) { collision_info.Message = "Vehicle: " + Object_Recognition.Object.Distance.ToString() + "m"; collision_info.Lamp.ImplValue = 1; } else if (Object_Recognition.Object.Classification.SymbValue == Object_Classification_Enum.OBSTACLE) { collision_info.Message = "Obstacle: " + Object_Recognition.Object.Distance.ToString() + "m"; collision_info.Lamp.ImplValue = 1; } else if (Object_Recognition.Object.Classification.SymbValue == Object_Classification_Enum.PEDESTRIAN) { collision_info.Message = "Pedestrian: " + Object_Recognition.Object.Distance.ToString() + "m"; collision_info.Lamp.ImplValue = 1; } collision_info.Warn_Level.ImplValue = 64 - (uint)(Object_Recognition.Object.Distance * 64.0 / 100); collision_info.Distance.ImplValue = Object_Recognition.Object.Distance; Passenger_Information.Collision_Info_Rear.Set.CallAsync(collision_info); }