X-Git-Url: https://zdv2.bktei.com/gitweb/EVA-2020-02-2.git/blobdiff_plain/9d2c6929f610fafe4eb8000af813c95be78536d3..bd92c5fb0a72d6d08bcf0f6973f39637f68af1db:/examples/all-in-one.py?ds=inline diff --git a/examples/all-in-one.py b/examples/all-in-one.py index cf34f89..8ba7681 100755 --- a/examples/all-in-one.py +++ b/examples/all-in-one.py @@ -54,12 +54,14 @@ message = "" # The position of the top bar top_pos = 25 + # Displays data and text on the 0.96" LCD def display_text(variable, data, unit): # Maintain length of list values[variable] = values[variable][1:] + [data] # Scale the values for the variable between 0 and 1 - colours = [(v - min(values[variable]) + 1) / (max(values[variable]) - min(values[variable]) + 1) for v in values[variable]] + colours = [(v - min(values[variable]) + 1) / (max(values[variable]) + - min(values[variable]) + 1) for v in values[variable]] # Format the variable name and value message = "{}: {:.1f} {}".format(variable[:4], data, unit) print(message) @@ -67,22 +69,26 @@ def display_text(variable, data, unit): for i in range(len(colours)): # Convert the values to colours from red to blue colour = (1.0 - colours[i]) * 0.6 - r, g, b = [int(x * 255.0) for x in colorsys.hsv_to_rgb(colour, 1.0, 1.0)] + r, g, b = [int(x * 255.0) for x in colorsys.hsv_to_rgb(colour, + 1.0, 1.0)] # Draw a 1-pixel wide rectangle of colour draw.rectangle((i, top_pos, i+1, HEIGHT), (r, g, b)) # Draw a line graph in black - line_y = HEIGHT - (top_pos + (colours[i] * (HEIGHT - top_pos))) + top_pos + line_y = HEIGHT - (top_pos + (colours[i] * (HEIGHT - top_pos)))\ + + top_pos draw.rectangle((i, line_y, i+1, line_y+1), (0, 0, 0)) # Write the text at the top in black draw.text((0, 0), message, font=font, fill=(0, 0, 0)) st7735.display(img) + # Get the temperature of the CPU for compensation def get_cpu_temperature(): process = Popen(['vcgencmd', 'measure_temp'], stdout=PIPE) output, _error = process.communicate() return float(output[output.index('=') + 1:output.rindex("'")]) + # Tuning factor for compensation. Decrease this number to adjust the # temperature down, and increase to adjust up factor = 0.8 @@ -192,7 +198,7 @@ try: if mode == 9: variable = "pm10" - unit = "g/m3" + unit = "ug/m3" data = pms5003.read() data = data.pm_ug_per_m3(10) display_text(variable, data, unit)