![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
test
Dependencies: ad5422_arduino mbed LT1446 ADS1248-1 LM35-1 Flash FT813 PGA280_ADS1259
display.h@5:21240fa1ee4c, 2020-08-13 (annotated)
- Committer:
- nikmaos
- Date:
- Thu Aug 13 14:37:39 2020 +0000
- Revision:
- 5:21240fa1ee4c
- Parent:
- 4:d53895f65eb7
- Child:
- 6:cfe7cb0bdb1a
13.08
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nikmaos | 3:d4b106bf3a32 | 1 | #include "mbed.h" |
nikmaos | 3:d4b106bf3a32 | 2 | #include "FT_Platform.h" |
nikmaos | 3:d4b106bf3a32 | 3 | #include <string> |
nikmaos | 3:d4b106bf3a32 | 4 | |
nikmaos | 3:d4b106bf3a32 | 5 | #ifndef DISPLAY_H_ |
nikmaos | 3:d4b106bf3a32 | 6 | #define DISPLAY_H_ |
nikmaos | 3:d4b106bf3a32 | 7 | |
nikmaos | 5:21240fa1ee4c | 8 | #ifndef _PID_T |
nikmaos | 5:21240fa1ee4c | 9 | #define _PID_T //запасное определение типа данных для обеспечения работы ПИДа с дисплем (второй раз в main.h) |
nikmaos | 5:21240fa1ee4c | 10 | typedef struct{ |
nikmaos | 5:21240fa1ee4c | 11 | float kP,kI,kD,sampleTime; |
nikmaos | 5:21240fa1ee4c | 12 | uint32_t chkd; |
nikmaos | 5:21240fa1ee4c | 13 | uint8_t |
nikmaos | 5:21240fa1ee4c | 14 | enabled:1, |
nikmaos | 5:21240fa1ee4c | 15 | :7; |
nikmaos | 5:21240fa1ee4c | 16 | }PID_t; |
nikmaos | 5:21240fa1ee4c | 17 | #endif |
nikmaos | 5:21240fa1ee4c | 18 | |
nikmaos | 3:d4b106bf3a32 | 19 | /************************************************************************************************************************** |
nikmaos | 3:d4b106bf3a32 | 20 | ************************** Defines using for drawing ********************************************************************** |
nikmaos | 3:d4b106bf3a32 | 21 | **************************************************************************************************************************/ |
nikmaos | 3:d4b106bf3a32 | 22 | |
nikmaos | 3:d4b106bf3a32 | 23 | // all tracking touch screen areas |
nikmaos | 3:d4b106bf3a32 | 24 | typedef enum { |
nikmaos | 3:d4b106bf3a32 | 25 | NONE_PRESS, |
nikmaos | 3:d4b106bf3a32 | 26 | CURR_TEMP_PRESS, |
nikmaos | 3:d4b106bf3a32 | 27 | CURR_HUM_PRESS, |
nikmaos | 3:d4b106bf3a32 | 28 | MENU_PRESS, |
nikmaos | 3:d4b106bf3a32 | 29 | CHROM_TEMP_PRESS, //проверка кнопки |
nikmaos | 3:d4b106bf3a32 | 30 | CHROM_SET_TEMP_PRESS, //устаносить температуру |
nikmaos | 3:d4b106bf3a32 | 31 | CHROM_SET_RASHOD_PRESS, //установить расход |
nikmaos | 3:d4b106bf3a32 | 32 | CHROM_SET_SENSGAIN_PRESS, //установить коэффициент усиления PGA |
nikmaos | 3:d4b106bf3a32 | 33 | CHROM_ANALIZ_PRESS, //анализ |
nikmaos | 3:d4b106bf3a32 | 34 | CHROM_PROBA_PRESS, //пробоотбор |
nikmaos | 4:d53895f65eb7 | 35 | NUMB_0, |
nikmaos | 4:d53895f65eb7 | 36 | NUMB_1, |
nikmaos | 4:d53895f65eb7 | 37 | NUMB_2, |
nikmaos | 4:d53895f65eb7 | 38 | NUMB_3, |
nikmaos | 4:d53895f65eb7 | 39 | NUMB_4, |
nikmaos | 4:d53895f65eb7 | 40 | NUMB_5, |
nikmaos | 4:d53895f65eb7 | 41 | NUMB_6, |
nikmaos | 4:d53895f65eb7 | 42 | NUMB_7, |
nikmaos | 4:d53895f65eb7 | 43 | NUMB_8, |
nikmaos | 4:d53895f65eb7 | 44 | NUMB_9, |
nikmaos | 4:d53895f65eb7 | 45 | SYM_DOT, |
nikmaos | 5:21240fa1ee4c | 46 | BACK_PRESS, |
nikmaos | 5:21240fa1ee4c | 47 | CANCEL_PRESS, |
nikmaos | 5:21240fa1ee4c | 48 | APPLY_PRESS, |
nikmaos | 5:21240fa1ee4c | 49 | |
nikmaos | 5:21240fa1ee4c | 50 | SEL_P1, |
nikmaos | 5:21240fa1ee4c | 51 | SEL_I1, |
nikmaos | 5:21240fa1ee4c | 52 | SEL_D1, |
nikmaos | 5:21240fa1ee4c | 53 | SEL_P2, |
nikmaos | 5:21240fa1ee4c | 54 | SEL_I2, |
nikmaos | 5:21240fa1ee4c | 55 | SEL_D2, |
nikmaos | 5:21240fa1ee4c | 56 | } pressValues; |
nikmaos | 4:d53895f65eb7 | 57 | |
nikmaos | 4:d53895f65eb7 | 58 | //выбранная ячейка для редактирования |
nikmaos | 4:d53895f65eb7 | 59 | typedef enum{ |
nikmaos | 5:21240fa1ee4c | 60 | EDIT_P1=SEL_P1, |
nikmaos | 5:21240fa1ee4c | 61 | EDIT_I1=SEL_I1, |
nikmaos | 5:21240fa1ee4c | 62 | EDIT_D1=SEL_D1, |
nikmaos | 4:d53895f65eb7 | 63 | |
nikmaos | 5:21240fa1ee4c | 64 | EDIT_P2=SEL_P2, |
nikmaos | 5:21240fa1ee4c | 65 | EDIT_I2=SEL_I2, |
nikmaos | 5:21240fa1ee4c | 66 | EDIT_D2=SEL_D2, |
nikmaos | 5:21240fa1ee4c | 67 | EDIT_NONE, |
nikmaos | 5:21240fa1ee4c | 68 | }selectedEditor_t; |
nikmaos | 4:d53895f65eb7 | 69 | |
nikmaos | 3:d4b106bf3a32 | 70 | // all existing screens |
nikmaos | 3:d4b106bf3a32 | 71 | typedef enum { |
nikmaos | 3:d4b106bf3a32 | 72 | MENU_SCREEN, |
nikmaos | 3:d4b106bf3a32 | 73 | CURR_HUM_SCREEN, |
nikmaos | 3:d4b106bf3a32 | 74 | CURR_TEMP_SCREEN, |
nikmaos | 3:d4b106bf3a32 | 75 | TEST_CHROM_SCREEN, //тестовый экран |
nikmaos | 4:d53895f65eb7 | 76 | PID_SCREEN, |
nikmaos | 3:d4b106bf3a32 | 77 | } screenValues; |
nikmaos | 3:d4b106bf3a32 | 78 | |
nikmaos | 3:d4b106bf3a32 | 79 | |
nikmaos | 3:d4b106bf3a32 | 80 | /************************************************************************************************************************** |
nikmaos | 3:d4b106bf3a32 | 81 | ************************** User class for drawing at FT800 **************************************************************** |
nikmaos | 3:d4b106bf3a32 | 82 | **************************************************************************************************************************/ |
nikmaos | 3:d4b106bf3a32 | 83 | |
nikmaos | 3:d4b106bf3a32 | 84 | class Display |
nikmaos | 3:d4b106bf3a32 | 85 | { |
nikmaos | 3:d4b106bf3a32 | 86 | public: |
nikmaos | 3:d4b106bf3a32 | 87 | // in Display class we use FT800 TFT (definition is available in main.cpp) |
nikmaos | 3:d4b106bf3a32 | 88 | Display(FT813 *TFT) { |
nikmaos | 3:d4b106bf3a32 | 89 | _TFT = TFT; |
nikmaos | 3:d4b106bf3a32 | 90 | } |
nikmaos | 3:d4b106bf3a32 | 91 | |
nikmaos | 3:d4b106bf3a32 | 92 | // functions describing all available screens (screens-functions) |
nikmaos | 3:d4b106bf3a32 | 93 | void ChromTest(float temp,float ras,int temp_u,float ras_u); //тестовый экран |
nikmaos | 5:21240fa1ee4c | 94 | void PidScreen(/*костыль костылей*/float (*btf)(unsigned char*),float temp, float ras,uint16_t power1,uint16_t power2,PID_t* PID1,PID_t* PID2); |
nikmaos | 3:d4b106bf3a32 | 95 | void MainMenu(float humidity, float temperature); // [display.Draw_MainMenu.cpp] |
nikmaos | 3:d4b106bf3a32 | 96 | void CurrentHumidity(float humidity); // [display.Draw_CurrentValuesGraphs.cpp] |
nikmaos | 3:d4b106bf3a32 | 97 | void CurrentTemperature(float temperature); // [display.Draw_CurrentValuesGraphs.cpp] |
nikmaos | 3:d4b106bf3a32 | 98 | |
nikmaos | 3:d4b106bf3a32 | 99 | // functions using to prepare FT800 re = recalibration |
nikmaos | 3:d4b106bf3a32 | 100 | void Calibration(char * calibration,char re); // [display.Calibration.cpp] |
nikmaos | 3:d4b106bf3a32 | 101 | |
nikmaos | 3:d4b106bf3a32 | 102 | // functions for touch screen tracking |
nikmaos | 3:d4b106bf3a32 | 103 | char GetTouch(void); // [display.GetTouch.cpp] |
nikmaos | 3:d4b106bf3a32 | 104 | |
nikmaos | 3:d4b106bf3a32 | 105 | // variables using for navigation between screens |
nikmaos | 3:d4b106bf3a32 | 106 | char pressedButton; |
nikmaos | 3:d4b106bf3a32 | 107 | char activeScreen; |
nikmaos | 5:21240fa1ee4c | 108 | |
nikmaos | 5:21240fa1ee4c | 109 | selectedEditor_t selectedEditor; |
nikmaos | 5:21240fa1ee4c | 110 | unsigned char str_edit[12]; |
nikmaos | 5:21240fa1ee4c | 111 | uint8_t cursor; |
nikmaos | 5:21240fa1ee4c | 112 | //доп. функции |
nikmaos | 5:21240fa1ee4c | 113 | void myWdget_Edit(uint16_t x,uint16_t y,uint16_t w,uint16_t h,uint8_t selected,const char * text); |
nikmaos | 5:21240fa1ee4c | 114 | void Display::myWdget_NumPad(uint16_t x,uint16_t y); |
nikmaos | 5:21240fa1ee4c | 115 | void Display::myWdget_Edit_change(char * text); |
nikmaos | 3:d4b106bf3a32 | 116 | |
nikmaos | 3:d4b106bf3a32 | 117 | private: |
nikmaos | 3:d4b106bf3a32 | 118 | FT813 *_TFT; |
nikmaos | 3:d4b106bf3a32 | 119 | |
nikmaos | 3:d4b106bf3a32 | 120 | void StartDL(void); // [display.DisplayListFunctions.cpp] |
nikmaos | 3:d4b106bf3a32 | 121 | void FinishDL(void); // [display.DisplayListFunctions.cpp] |
nikmaos | 3:d4b106bf3a32 | 122 | void MainMenuReference(void); // [display.Draw_MainMenuReference.cpp] |
nikmaos | 3:d4b106bf3a32 | 123 | void HorisontalGrid_CurrentTemp(void); // [display.Draw_Grids.cpp] |
nikmaos | 3:d4b106bf3a32 | 124 | void HorisontalGrid_CurrentHumidity(void); // [display.Draw_Grids.cpp] |
nikmaos | 3:d4b106bf3a32 | 125 | |
nikmaos | 3:d4b106bf3a32 | 126 | |
nikmaos | 3:d4b106bf3a32 | 127 | void CreateStringTempHum(char *str, float number, bool isTemp); // [display.StringsTransforming.cpp] |
nikmaos | 3:d4b106bf3a32 | 128 | |
nikmaos | 3:d4b106bf3a32 | 129 | char humidityStr[8], temperatureStr[8]; |
nikmaos | 3:d4b106bf3a32 | 130 | char currentHumidity_X, currentTemperature_X; |
nikmaos | 3:d4b106bf3a32 | 131 | char currentHumidity_Y[68], currentTemperature_Y[68]; |
nikmaos | 3:d4b106bf3a32 | 132 | }; |
nikmaos | 3:d4b106bf3a32 | 133 | |
nikmaos | 3:d4b106bf3a32 | 134 | #endif /* SCREENS_H_ */ |