Measuring air flow, relative humidity & temperature, then showing results at TFT
Dependencies: FT800_2 HYT mbed
Air flow is measured with FS7 sensor by IST-AG, humidity & temperature are measured by HYT-271 sensor by IST. Graphs displayed it TFT by Riverdi via graphical controller FFT801.
Hardware
- HYT-271 / HYT-221 / HYT-939 humidity and temperature sensor by IST-AG
- FS7 gas flow sensor by IST-AG
- FS-flowmodule for FS7 sensors
- TFT module uxTouch by Riverdi
- Break Out Board 20 by Riverdi
- Any mbed platform with I2C interface, SPI interface, 2 free GPIO for PD and INT signals and one ADC input.
For documentation on the FT800 library, please refer to the library pages.
Connection
MCU-board to TFT-module
MCU-board is connected to TFT-module via Break Out Board. You need 6 signals to connect: SCK, MOSI and MISO are connected to a SPI channel, SS is the chip select signal, PD work as powerdown and INT for interrupts from TFT to MCU.
You have to connect VDD to BLVDD at Break Out Board if you use the board:
MCU-board to HYT sensor
MCU-board is connected to sensor via I2C. Remember to use pull-up resisrors there:
MCU-board to FS7 sensor
MCU-board is connected to sensor via FS flowmodule. FS-flowmodul is a PCB implementing bridge circuit which is necessary for FS7.
TFT/Draw_MainScreen.cpp@0:3f440c2facb0, 2017-03-16 (annotated)
- Committer:
- Ksenia
- Date:
- Thu Mar 16 08:58:18 2017 +0000
- Revision:
- 0:3f440c2facb0
Initial Commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Ksenia | 0:3f440c2facb0 | 1 | #include "Display.h" |
Ksenia | 0:3f440c2facb0 | 2 | |
Ksenia | 0:3f440c2facb0 | 3 | /************************************************************************************************************************** |
Ksenia | 0:3f440c2facb0 | 4 | ************************** Display Main Menu ****************************************************************************** |
Ksenia | 0:3f440c2facb0 | 5 | **************************************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 6 | void Display::MainScreen() |
Ksenia | 0:3f440c2facb0 | 7 | { |
Ksenia | 0:3f440c2facb0 | 8 | uint8_t numberOfGraphs = showHumidity + showFlow + showTemperature; |
Ksenia | 0:3f440c2facb0 | 9 | |
Ksenia | 0:3f440c2facb0 | 10 | // start FT800 display list |
Ksenia | 0:3f440c2facb0 | 11 | StartDL(); |
Ksenia | 0:3f440c2facb0 | 12 | |
Ksenia | 0:3f440c2facb0 | 13 | /****************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 14 | (*_TFT).DL(SET_BACKGROUND_COLOR); |
Ksenia | 0:3f440c2facb0 | 15 | (*_TFT).DL(TAG_MASK(1)); |
Ksenia | 0:3f440c2facb0 | 16 | (*_TFT).DL(TAG(SHOW_HUMIDITY)); |
Ksenia | 0:3f440c2facb0 | 17 | (*_TFT).DL(BEGIN(RECTS)); |
Ksenia | 0:3f440c2facb0 | 18 | (*_TFT).DL(VERTEX2II(0, 0, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 19 | (*_TFT).DL(VERTEX2II(0 + BUTTON_1_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET + BUTTON_HEIGHT + Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 20 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 21 | (*_TFT).DL(TAG_MASK(0)); |
Ksenia | 0:3f440c2facb0 | 22 | |
Ksenia | 0:3f440c2facb0 | 23 | (*_TFT).DL(TAG_MASK(1)); |
Ksenia | 0:3f440c2facb0 | 24 | (*_TFT).DL(TAG(SHOW_FLOW)); |
Ksenia | 0:3f440c2facb0 | 25 | (*_TFT).DL(BEGIN(RECTS)); |
Ksenia | 0:3f440c2facb0 | 26 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET / 2, 0, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 27 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET / 2, Y_UPPER_OFFSET + BUTTON_HEIGHT + Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 28 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 29 | (*_TFT).DL(TAG_MASK(0)); |
Ksenia | 0:3f440c2facb0 | 30 | |
Ksenia | 0:3f440c2facb0 | 31 | (*_TFT).DL(TAG_MASK(1)); |
Ksenia | 0:3f440c2facb0 | 32 | (*_TFT).DL(TAG(SHOW_TEMPERATURE)); |
Ksenia | 0:3f440c2facb0 | 33 | (*_TFT).DL(BEGIN(RECTS)); |
Ksenia | 0:3f440c2facb0 | 34 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET / 2, 0, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 35 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET + BUTTON_3_WIDTH + X_LEFT_OFFSET / 2, Y_UPPER_OFFSET + BUTTON_HEIGHT + Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 36 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 37 | (*_TFT).DL(TAG_MASK(0)); |
Ksenia | 0:3f440c2facb0 | 38 | |
Ksenia | 0:3f440c2facb0 | 39 | /****************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 40 | if (showHumidity) { |
Ksenia | 0:3f440c2facb0 | 41 | (*_TFT).DL(SET_HUMIDITY_COLOR); |
Ksenia | 0:3f440c2facb0 | 42 | } else { |
Ksenia | 0:3f440c2facb0 | 43 | (*_TFT).DL(SET_HUMIDITY_LOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 44 | } |
Ksenia | 0:3f440c2facb0 | 45 | (*_TFT).DL(BEGIN(RECTS)); |
Ksenia | 0:3f440c2facb0 | 46 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET, Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 47 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 48 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 49 | if (showHumidity) { |
Ksenia | 0:3f440c2facb0 | 50 | (*_TFT).DL(SET_HUMIDITY_LOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 51 | (*_TFT).DL(BEGIN(LINES)); |
Ksenia | 0:3f440c2facb0 | 52 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 53 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 54 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 55 | (*_TFT).DL(BEGIN(LINES)); |
Ksenia | 0:3f440c2facb0 | 56 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET, Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 57 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 58 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 59 | (*_TFT).DL(SET_WHITE_COLOR); |
Ksenia | 0:3f440c2facb0 | 60 | } else { |
Ksenia | 0:3f440c2facb0 | 61 | (*_TFT).DL(COLOR_RGB(100, 100, 100)); |
Ksenia | 0:3f440c2facb0 | 62 | } |
Ksenia | 0:3f440c2facb0 | 63 | CreateStringRussian("Отн. влажность"); |
Ksenia | 0:3f440c2facb0 | 64 | (*_TFT).Text(X_LEFT_OFFSET + 5, Y_UPPER_OFFSET + 5, 4, 0, russianStr); |
Ksenia | 0:3f440c2facb0 | 65 | |
Ksenia | 0:3f440c2facb0 | 66 | |
Ksenia | 0:3f440c2facb0 | 67 | (*_TFT).DL(SET_FLOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 68 | if (showFlow) |
Ksenia | 0:3f440c2facb0 | 69 | (*_TFT).DL(SET_FLOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 70 | else |
Ksenia | 0:3f440c2facb0 | 71 | (*_TFT).DL(SET_FLOW_LOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 72 | (*_TFT).DL(BEGIN(RECTS)); |
Ksenia | 0:3f440c2facb0 | 73 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 74 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 75 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 76 | if (showFlow) { |
Ksenia | 0:3f440c2facb0 | 77 | (*_TFT).DL(SET_FLOW_LOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 78 | (*_TFT).DL(BEGIN(LINES)); |
Ksenia | 0:3f440c2facb0 | 79 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 80 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 81 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 82 | (*_TFT).DL(BEGIN(LINES)); |
Ksenia | 0:3f440c2facb0 | 83 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 84 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 85 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 86 | (*_TFT).DL(SET_WHITE_COLOR); |
Ksenia | 0:3f440c2facb0 | 87 | } else { |
Ksenia | 0:3f440c2facb0 | 88 | (*_TFT).DL(COLOR_RGB(100, 100, 100)); |
Ksenia | 0:3f440c2facb0 | 89 | } |
Ksenia | 0:3f440c2facb0 | 90 | CreateStringRussian("Скорость потока"); |
Ksenia | 0:3f440c2facb0 | 91 | (*_TFT).Text(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + 5, Y_UPPER_OFFSET + 5, 4, 0, russianStr); |
Ksenia | 0:3f440c2facb0 | 92 | |
Ksenia | 0:3f440c2facb0 | 93 | |
Ksenia | 0:3f440c2facb0 | 94 | if (showTemperature) |
Ksenia | 0:3f440c2facb0 | 95 | (*_TFT).DL(SET_TEMPERATURE_COLOR); |
Ksenia | 0:3f440c2facb0 | 96 | else |
Ksenia | 0:3f440c2facb0 | 97 | (*_TFT).DL(SET_TEMPERATURE_LOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 98 | (*_TFT).DL(BEGIN(RECTS)); |
Ksenia | 0:3f440c2facb0 | 99 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 100 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET + BUTTON_3_WIDTH, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 101 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 102 | if (showTemperature) { |
Ksenia | 0:3f440c2facb0 | 103 | (*_TFT).DL(SET_TEMPERATURE_LOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 104 | (*_TFT).DL(BEGIN(LINES)); |
Ksenia | 0:3f440c2facb0 | 105 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 106 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET + BUTTON_3_WIDTH, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 107 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 108 | (*_TFT).DL(BEGIN(LINES)); |
Ksenia | 0:3f440c2facb0 | 109 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 110 | (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET, Y_UPPER_OFFSET + BUTTON_HEIGHT, 0, 0)); |
Ksenia | 0:3f440c2facb0 | 111 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 112 | (*_TFT).DL(SET_WHITE_COLOR); |
Ksenia | 0:3f440c2facb0 | 113 | } else { |
Ksenia | 0:3f440c2facb0 | 114 | (*_TFT).DL(COLOR_RGB(100, 100, 100)); |
Ksenia | 0:3f440c2facb0 | 115 | } |
Ksenia | 0:3f440c2facb0 | 116 | CreateStringRussian("Температура"); |
Ksenia | 0:3f440c2facb0 | 117 | (*_TFT).Text(X_LEFT_OFFSET + BUTTON_1_WIDTH + X_LEFT_OFFSET + BUTTON_2_WIDTH + X_LEFT_OFFSET + 5, Y_UPPER_OFFSET + 5, 4, 0, russianStr); |
Ksenia | 0:3f440c2facb0 | 118 | |
Ksenia | 0:3f440c2facb0 | 119 | |
Ksenia | 0:3f440c2facb0 | 120 | /****************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 121 | if (showTemperature) { |
Ksenia | 0:3f440c2facb0 | 122 | (*_TFT).DL(BEGIN(EDGE_STRIP_B)); |
Ksenia | 0:3f440c2facb0 | 123 | for (int i = 0; i <= POINTS_NUMBER; i++) { |
Ksenia | 0:3f440c2facb0 | 124 | if (i <= current_X) { |
Ksenia | 0:3f440c2facb0 | 125 | (*_TFT).DL(COLOR_RGB(210,255,2016)); |
Ksenia | 0:3f440c2facb0 | 126 | (*_TFT).DL(VERTEX2II((i * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - temperature_Y[i], 0, 0)); |
Ksenia | 0:3f440c2facb0 | 127 | } |
Ksenia | 0:3f440c2facb0 | 128 | } |
Ksenia | 0:3f440c2facb0 | 129 | } |
Ksenia | 0:3f440c2facb0 | 130 | if (showHumidity) { |
Ksenia | 0:3f440c2facb0 | 131 | (*_TFT).DL(BEGIN(EDGE_STRIP_B)); |
Ksenia | 0:3f440c2facb0 | 132 | for (int i = 0; i <= POINTS_NUMBER; i++) { |
Ksenia | 0:3f440c2facb0 | 133 | if (i <= current_X) { |
Ksenia | 0:3f440c2facb0 | 134 | (*_TFT).DL(COLOR_RGB(184,213,255)); |
Ksenia | 0:3f440c2facb0 | 135 | (*_TFT).DL(VERTEX2II((i * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - humidity_Y[i], 0, 0)); |
Ksenia | 0:3f440c2facb0 | 136 | } |
Ksenia | 0:3f440c2facb0 | 137 | } |
Ksenia | 0:3f440c2facb0 | 138 | } |
Ksenia | 0:3f440c2facb0 | 139 | if (showFlow) { |
Ksenia | 0:3f440c2facb0 | 140 | (*_TFT).DL(BEGIN(EDGE_STRIP_B)); |
Ksenia | 0:3f440c2facb0 | 141 | for (int i = 0; i <= POINTS_NUMBER; i++) { |
Ksenia | 0:3f440c2facb0 | 142 | if (i <= current_X) { |
Ksenia | 0:3f440c2facb0 | 143 | (*_TFT).DL(COLOR_RGB(255,198,255)); |
Ksenia | 0:3f440c2facb0 | 144 | (*_TFT).DL(VERTEX2II((i * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - flow_Y[i], 0, 0)); |
Ksenia | 0:3f440c2facb0 | 145 | } |
Ksenia | 0:3f440c2facb0 | 146 | } |
Ksenia | 0:3f440c2facb0 | 147 | } |
Ksenia | 0:3f440c2facb0 | 148 | |
Ksenia | 0:3f440c2facb0 | 149 | /****************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 150 | if (numberOfGraphs != 1) { |
Ksenia | 0:3f440c2facb0 | 151 | HorisontalGrid(); |
Ksenia | 0:3f440c2facb0 | 152 | } else { |
Ksenia | 0:3f440c2facb0 | 153 | if (showHumidity) |
Ksenia | 0:3f440c2facb0 | 154 | HorisontalGrid_Humidity(); |
Ksenia | 0:3f440c2facb0 | 155 | if (showFlow) |
Ksenia | 0:3f440c2facb0 | 156 | HorisontalGrid_Flow(); |
Ksenia | 0:3f440c2facb0 | 157 | if (showTemperature) |
Ksenia | 0:3f440c2facb0 | 158 | HorisontalGrid_Temperature(); |
Ksenia | 0:3f440c2facb0 | 159 | } |
Ksenia | 0:3f440c2facb0 | 160 | |
Ksenia | 0:3f440c2facb0 | 161 | VerticalGrid(); |
Ksenia | 0:3f440c2facb0 | 162 | |
Ksenia | 0:3f440c2facb0 | 163 | /****************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 164 | for (int i = 0; i <= POINTS_NUMBER; i++) { |
Ksenia | 0:3f440c2facb0 | 165 | (*_TFT).DL(BEGIN(POINTS)); |
Ksenia | 0:3f440c2facb0 | 166 | (*_TFT).DL(POINT_SIZE(40)); |
Ksenia | 0:3f440c2facb0 | 167 | if (i <= current_X || i >= current_X + 13) { |
Ksenia | 0:3f440c2facb0 | 168 | (*_TFT).DL(SET_HUMIDITY_COLOR); |
Ksenia | 0:3f440c2facb0 | 169 | if (showHumidity) |
Ksenia | 0:3f440c2facb0 | 170 | (*_TFT).DL(VERTEX2II((i * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - humidity_Y[i], 0, 0)); |
Ksenia | 0:3f440c2facb0 | 171 | (*_TFT).DL(SET_FLOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 172 | if (showFlow) |
Ksenia | 0:3f440c2facb0 | 173 | (*_TFT).DL(VERTEX2II((i * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - flow_Y[i], 0, 0)); |
Ksenia | 0:3f440c2facb0 | 174 | (*_TFT).DL(SET_TEMPERATURE_COLOR); |
Ksenia | 0:3f440c2facb0 | 175 | if (showTemperature) |
Ksenia | 0:3f440c2facb0 | 176 | (*_TFT).DL(VERTEX2II((i * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - temperature_Y[i], 0, 0)); |
Ksenia | 0:3f440c2facb0 | 177 | } |
Ksenia | 0:3f440c2facb0 | 178 | (*_TFT).DL(END()); |
Ksenia | 0:3f440c2facb0 | 179 | } |
Ksenia | 0:3f440c2facb0 | 180 | |
Ksenia | 0:3f440c2facb0 | 181 | /****************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 182 | (*_TFT).DL(SET_HUMIDITY_COLOR); |
Ksenia | 0:3f440c2facb0 | 183 | if (showHumidity) |
Ksenia | 0:3f440c2facb0 | 184 | (*_TFT).Text((current_X * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - humidity_Y[current_X] - 25, 4, 0, humidityStr); |
Ksenia | 0:3f440c2facb0 | 185 | (*_TFT).DL(SET_FLOW_COLOR); |
Ksenia | 0:3f440c2facb0 | 186 | if (showFlow) |
Ksenia | 0:3f440c2facb0 | 187 | (*_TFT).Text((current_X * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - flow_Y[current_X] - 25, 4, 0, flowStr); |
Ksenia | 0:3f440c2facb0 | 188 | (*_TFT).DL(SET_TEMPERATURE_COLOR); |
Ksenia | 0:3f440c2facb0 | 189 | if (showTemperature) |
Ksenia | 0:3f440c2facb0 | 190 | (*_TFT).Text((current_X * X_AXIS_MULTIPLIER + X_LEFT_OFFSET), my_DispHeight - temperature_Y[current_X] - 25, 4, 0, temperatureStr); |
Ksenia | 0:3f440c2facb0 | 191 | |
Ksenia | 0:3f440c2facb0 | 192 | /****************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 193 | // (*_TFT).Number(my_DispWidth - 25, my_DispHeight - 150, 27, 0, sec / 60); |
Ksenia | 0:3f440c2facb0 | 194 | // (*_TFT).Number(my_DispWidth - 25, my_DispHeight - 135, 27, 0, sec % 60); |
Ksenia | 0:3f440c2facb0 | 195 | |
Ksenia | 0:3f440c2facb0 | 196 | /****************************************************************************************************/ |
Ksenia | 0:3f440c2facb0 | 197 | (*_TFT).DL(SCISSOR_XY(0, my_DispHeight - Y_BOTTOM_OFFSET + 3)); |
Ksenia | 0:3f440c2facb0 | 198 | (*_TFT).DL(SCISSOR_SIZE(X_LEFT_OFFSET + (POINTS_NUMBER * X_AXIS_MULTIPLIER + 5), Y_BOTTOM_OFFSET - 3)); |
Ksenia | 0:3f440c2facb0 | 199 | (*_TFT).Gradient(0, my_DispHeight, BACKGROUND_COLOR, X_LEFT_OFFSET + (POINTS_NUMBER * X_AXIS_MULTIPLIER + 5), my_DispHeight - Y_BOTTOM_OFFSET + 3, BACKGROUND_COLOR); |
Ksenia | 0:3f440c2facb0 | 200 | |
Ksenia | 0:3f440c2facb0 | 201 | |
Ksenia | 0:3f440c2facb0 | 202 | // finish FT801 display list |
Ksenia | 0:3f440c2facb0 | 203 | FinishDL(); |
Ksenia | 0:3f440c2facb0 | 204 | } |