After saying hello, a few commonly used constants and variables are defined. These include the sensor's minimum and maximum values (0°C to 80°C for the AMG8833 FeatherWing) as well as the alarm threshold and display min/max settings that were previously loaded from the thermal_cam_config.py file. Default values in Celsius are converted to Fahrenheit where needed.
# The image sensor's design-limited temperature range MIN_SENSOR_C = 0 MAX_SENSOR_C = 80 MIN_SENSOR_F = celsius_to_fahrenheit(MIN_SENSOR_C) MAX_SENSOR_F = celsius_to_fahrenheit(MAX_SENSOR_C) # Convert default alarm and min/max range values from config file ALARM_C = fahrenheit_to_celsius(ALARM_F) MIN_RANGE_C = fahrenheit_to_celsius(MIN_RANGE_F) MAX_RANGE_C = fahrenheit_to_celsius(MAX_RANGE_F)
Display width and height are retrieved from the PyGamer's board definitions. The size of individual display blocks is defined as 1/10th of the display's width, corresponding to 10 display columns. In this case, that's a 16 pixel square.
# The board's integral display size WIDTH = board.DISPLAY.width # 160 for PyGamer and PyBadge HEIGHT = board.DISPLAY.height # 128 for PyGamer and PyBadge ELEMENT_SIZE = WIDTH // 10 # Size of element_grid blocks in pixels
Color values are defined next and are incorporated into two lists, element_color
and param_list
that are used to color blocks in the image array according to temperature value and for text labels of measured values.
# Default colors BLACK = 0x000000 RED = 0xFF0000 ORANGE = 0xFF8811 YELLOW = 0xFFFF00 GREEN = 0x00FF00 CYAN = 0x00FFFF BLUE = 0x0000FF VIOLET = 0x9900FF WHITE = 0xFFFFFF GRAY = 0x444455 # Block colors for the thermal image grid element_color = [GRAY, BLUE, GREEN, YELLOW, ORANGE, RED, VIOLET, WHITE] # Text colors for on-screen parameters param_list = [("ALARM", WHITE), ("RANGE", RED), ("RANGE", CYAN)]
Text editor powered by tinymce.