def get_sensor_status()

in deepracer_follow_the_leader_ws/webserver_pkg/webserver_pkg/device_info_api.py [0:0]


def get_sensor_status():
    """API to call the service to get the sensor data status for camera and
       LiDAR sensors connected to the vehicle.

    Returns:
        dict: Execution status if the API call was successful, sensor status
              information and error reason if call fails.
    """
    webserver_node = webserver_publisher_node.get_webserver_node()
    data = {
        "camera_status": "checking",
        "stereo_status": "checking",
        "lidar_status": "checking",
        "success": True
    }
    try:
        sensor_status_req = SensorStatusCheckSrv.Request()
        sensor_status_res = call_service_sync(webserver_node.sensor_status_cli, sensor_status_req)
        if sensor_status_res and sensor_status_res.error == 0:
            data["camera_status"] = \
                "not_connected" if sensor_status_res.single_camera_status == 1 else "connected"
            data["stereo_status"] = \
                "not_connected" if sensor_status_res.stereo_camera_status == 1 else "connected"
            data["lidar_status"] = \
                "not_connected" if sensor_status_res.lidar_status == 1 else "connected"
        else:
            webserver_node.get_logger().error("Get sensor status service call failed")
            data["camera_status"] = "error"
            data["stereo_status"] = "error"
            data["lidar_status"] = "error"
    except Exception as ex:
        webserver_node.get_logger().error("Unable to reach sensor status server: {ex}")
        data["camera_status"] = "error"
        data["stereo_status"] = "error"
        data["lidar_status"] = "error"
    finally:
        webserver_node.get_logger().info(f"Camera status: {data['camera_status']}, "
                                         f"Stereo status: {data['stereo_status']}, "
                                         f"Lidar status: {data['lidar_status']}")
        return jsonify(data)