diff --git a/conf/cars_alongside.lua b/conf/cars_alongside.lua new file mode 100644 index 0000000..65343e1 --- /dev/null +++ b/conf/cars_alongside.lua @@ -0,0 +1,60 @@ +-- configuration +-- set these accordingly +right_leds_start = 7 +right_num_leds = 42 +left_leds_start = 49 +left_num_leds = 42 +-- + +max_radius = 10 -- radius is hardcoded in simapi +proxcars = simdata.proxcars -- also hard coded in simapi + +rightsideset = false +leftsideset = false + +-- right side +litleds = 0 +i = 1 +while(i <= proxcars and rightsideset == false) do + if simdata.pd[i].theta > 40 and simdata.pd[i].theta < 130 then + dist = math.abs(90 - simdata.pd[i].theta) + perct = (90 - dist)/90 + litleds = math.ceil(perct * right_num_leds) + + color_perct = simdata.pd[i].radius/10 + yellow = math.floor(color_perct * 255) + local rgb = (0 << 24) | (yellow << 16) | (255 << 8) + if simdata.pd[1].theta >= 90 then + -- car is behind + set_led_range_to_rgb_color(right_leds_start, right_leds_start + litleds, rgb) + else + set_led_range_to_rgb_color(right_leds_start + (right_num_leds - litleds), right_leds_start + right_num_leds, rgb) + end + rightsideset = true + end + i = i + 1 +end + +-- left side +litleds = 0 +i = 1 +while(i <= proxcars and leftsideset == false) do + if simdata.pd[i].theta > 230 and simdata.pd[i].theta < 320 then + dist = math.abs(270 - simdata.pd[1].theta) + perct = (90 - dist)/90 + litleds = math.ceil(perct * left_num_leds) + + color_perct = simdata.pd[i].radius/10 + yellow = math.floor(color_perct * 255) + local rgb = (0 << 24) | (yellow << 16) | (255 << 8) + if simdata.pd[1].theta <= 270 then + -- car is behind + set_led_range_to_rgb_color(left_leds_start, left_leds_start + litleds, rgb) + else + set_led_range_to_rgb_color(left_leds_start + (left_num_leds - litleds), left_leds_start + left_num_leds, rgb) + end + leftsideset = true + end + i = i + 1 +end +