Measuring air flow, relative humidity & temperature, then showing results at TFT

Dependencies:   FT800_2 HYT mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Draw_Grids.cpp Source File

Draw_Grids.cpp

00001 #include "Display.h"
00002 
00003 /**************************************************************************************************************************
00004 ************************** Draw horisontal grid w/o legend ***************************************************
00005 **************************************************************************************************************************/
00006 void Display::HorisontalGrid()
00007 {
00008     (*_TFT).DL(COLOR_RGB(150, 150, 150));
00009     for (int i = 0; i <= 200; i += 40) {
00010         (*_TFT).DL(BEGIN(LINES));
00011         (*_TFT).DL(LINE_WIDTH(8));
00012         (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET, my_DispHeight - (i + Y_BOTTOM_OFFSET), 0, 0));
00013         (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + (POINTS_NUMBER * X_AXIS_MULTIPLIER + 5), my_DispHeight - (i + Y_BOTTOM_OFFSET), 0, 0));
00014     }
00015 }
00016 
00017 /**************************************************************************************************************************
00018 ************************** Draw horisontal grid for temperature (-10 .. +40) *********************************************
00019 **************************************************************************************************************************/
00020 void Display::HorisontalGrid_Temperature()
00021 {
00022     (*_TFT).DL(COLOR_RGB(20, 20, 20));
00023     int8_t gridNumb = -10;
00024     for (int i = 0; i <= 200; i += 40) {
00025         (*_TFT).DL(BEGIN(LINES));
00026         (*_TFT).DL(LINE_WIDTH(8));
00027         if (gridNumb == 0) {
00028             (*_TFT).DL(LINE_WIDTH(11));
00029         }
00030         (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET, my_DispHeight - (i + Y_BOTTOM_OFFSET), 0, 0));
00031         (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + (POINTS_NUMBER * X_AXIS_MULTIPLIER + 5), my_DispHeight - (i + Y_BOTTOM_OFFSET), 0, 0));
00032         if (gridNumb < 0) {
00033             (*_TFT).Text((POINTS_NUMBER * X_AXIS_MULTIPLIER + 18), my_DispHeight - (i + Y_BOTTOM_OFFSET + 8), 26, 0, "-");
00034             (*_TFT).Number((POINTS_NUMBER * X_AXIS_MULTIPLIER + 23), my_DispHeight - (i + Y_BOTTOM_OFFSET + 8), 26, 0, (-gridNumb));
00035         } else {
00036             (*_TFT).Number((POINTS_NUMBER * X_AXIS_MULTIPLIER + 18), my_DispHeight - (i + Y_BOTTOM_OFFSET + 8), 26, 0, gridNumb);
00037         }
00038         gridNumb = gridNumb + 10;
00039     }
00040 }
00041 
00042 /**************************************************************************************************************************
00043 ************************** Draw horisontal grid for humidity (0 .. 100) ***************************************************
00044 **************************************************************************************************************************/
00045 void Display::HorisontalGrid_Humidity()
00046 {
00047     (*_TFT).DL(COLOR_RGB(20, 20, 20));
00048     uint8_t gridNumb = 0;
00049     for (int i = 0; i <= 200; i += 40) {
00050         (*_TFT).DL(BEGIN(LINES));
00051         (*_TFT).DL(LINE_WIDTH(8));
00052         (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET, my_DispHeight - (i + Y_BOTTOM_OFFSET), 0, 0));
00053         (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + (POINTS_NUMBER * X_AXIS_MULTIPLIER + 5), my_DispHeight - (i + Y_BOTTOM_OFFSET), 0, 0));
00054         (*_TFT).Number((POINTS_NUMBER * X_AXIS_MULTIPLIER + 18), my_DispHeight - (i + Y_BOTTOM_OFFSET + 8), 26, 0, gridNumb);
00055         gridNumb = gridNumb + 20;
00056     }
00057 }
00058 
00059 /**************************************************************************************************************************
00060 ************************** Draw horisontal grid for flow (0.0 .. 10.0) ***************************************************
00061 **************************************************************************************************************************/
00062 void Display::HorisontalGrid_Flow()
00063 {
00064     (*_TFT).DL(COLOR_RGB(20, 20, 20));
00065     uint8_t gridNumb = 0;
00066     for (int i = 0; i <= 200; i += 40) {
00067         (*_TFT).DL(BEGIN(LINES));
00068         (*_TFT).DL(LINE_WIDTH(8));
00069         (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET, my_DispHeight - (i + Y_BOTTOM_OFFSET), 0, 0));
00070         (*_TFT).DL(VERTEX2II(X_LEFT_OFFSET + (POINTS_NUMBER * X_AXIS_MULTIPLIER + 5), my_DispHeight - (i + Y_BOTTOM_OFFSET), 0, 0));
00071         (*_TFT).Number((POINTS_NUMBER * X_AXIS_MULTIPLIER + 18), my_DispHeight - (i + Y_BOTTOM_OFFSET + 8), 26, 0, gridNumb);
00072         gridNumb = gridNumb + 2;
00073     }
00074 }
00075 
00076 /**************************************************************************************************************************
00077 ************************** Draw vertical grid *****************************************************************************
00078 **************************************************************************************************************************/
00079 void Display::VerticalGrid()
00080 {
00081     (*_TFT).DL(COLOR_RGB(200, 200, 200));
00082     for (int i = 0; i <= POINTS_NUMBER; i += 10) {
00083         (*_TFT).DL(BEGIN(LINES));
00084         (*_TFT).DL(LINE_WIDTH(8));
00085         (*_TFT).DL(VERTEX2II(i * X_AXIS_MULTIPLIER + X_LEFT_OFFSET, my_DispHeight - Y_BOTTOM_OFFSET - 200, 0, 0));
00086         (*_TFT).DL(VERTEX2II(i * X_AXIS_MULTIPLIER + X_LEFT_OFFSET, my_DispHeight - Y_BOTTOM_OFFSET, 0, 0));
00087     }
00088 }