in deepracer_follow_the_leader_ws/webserver_pkg/webserver_pkg/led_api.py [0:0]
def get_led_color():
"""API to call the service to get red, green, blue values for the tail
light LED color that is currently active.
Returns:
dict: Execution status if the API call was successful, channel values
for the tail light LED and error reason if call fails.
"""
webserver_node = webserver_publisher_node.get_webserver_node()
webserver_node.get_logger().info("Providing r, b, g values as response")
try:
get_led_color_req = GetLedCtrlSrv.Request()
get_led_color_res = call_service_sync(webserver_node.get_led_color_cli,
get_led_color_req)
if get_led_color_res:
converted_red = get_led_color_res.red // LED_SCALING_FACTOR
converted_green = get_led_color_res.green // LED_SCALING_FACTOR
converted_blue = get_led_color_res.blue // LED_SCALING_FACTOR
data = {
"red": converted_red,
"green": converted_green,
"blue": converted_blue,
"success": True
}
webserver_node.get_logger().info("Current LED RGB values: "
f"Red: {data['red']} "
f"Green: {data['green']} "
f"Blue: {data['blue']}")
return jsonify(data)
else:
return jsonify(success=False, reason="Error")
except Exception as ex:
webserver_node.get_logger().error(f"Unable to reach get vehicle led server: {ex}")
return jsonify(success=False, reason="Error")