- # Some utility functions.
-
- def get_color_for_temp(temp_current):
- # i can't think in degrees celsius to save my life
- temp_cold = 5
- temp_comfort = 27
- temp_hot = 46
- temp_range = temp_hot - temp_cold
-
- if temp_current >= temp_hot:
- return (80, 0, 0)
- elif temp_current <= temp_cold:
- return (0, 0, 80)
- else:
- return get_color_in_range(temp_cold, temp_hot, temp_current)
-
- def get_color_in_range(minimum, maximum, value):
- max_color_val = 30
-
- minimum, maximum = float(minimum), float(maximum)
- ratio = 2 * (value - minimum) / (maximum - minimum)
- b = int(max(0, max_color_val * (1 - ratio)))
- r = int(max(0, max_color_val * (ratio - 1)))
- g = max_color_val - b - r
- return (r, g, b)
-
- def photocell_value(input):
- return input.value * 330 // (2 ** 16)
|