![](/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@7:c364201bc3ed, 2020-09-01 (annotated)
- Committer:
- nikmaos
- Date:
- Tue Sep 01 10:52:34 2020 +0000
- Revision:
- 7:c364201bc3ed
- Parent:
- 6:cfe7cb0bdb1a
1.09.2020;
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 | 7:c364201bc3ed | 35 | PID_MENU_PRESS, //переход в меню ПИД регуляторов |
nikmaos | 5:21240fa1ee4c | 36 | BACK_PRESS, |
nikmaos | 5:21240fa1ee4c | 37 | CANCEL_PRESS, |
nikmaos | 5:21240fa1ee4c | 38 | APPLY_PRESS, |
nikmaos | 6:cfe7cb0bdb1a | 39 | SAVE_PRESS, |
nikmaos | 6:cfe7cb0bdb1a | 40 | PID1SW_PRESS, |
nikmaos | 7:c364201bc3ed | 41 | PID2SW_PRESS, |
nikmaos | 5:21240fa1ee4c | 42 | SEL_P1, |
nikmaos | 5:21240fa1ee4c | 43 | SEL_I1, |
nikmaos | 5:21240fa1ee4c | 44 | SEL_D1, |
nikmaos | 5:21240fa1ee4c | 45 | SEL_P2, |
nikmaos | 5:21240fa1ee4c | 46 | SEL_I2, |
nikmaos | 5:21240fa1ee4c | 47 | SEL_D2, |
nikmaos | 5:21240fa1ee4c | 48 | } pressValues; |
nikmaos | 4:d53895f65eb7 | 49 | |
nikmaos | 4:d53895f65eb7 | 50 | //выбранная ячейка для редактирования |
nikmaos | 4:d53895f65eb7 | 51 | typedef enum{ |
nikmaos | 5:21240fa1ee4c | 52 | EDIT_P1=SEL_P1, |
nikmaos | 5:21240fa1ee4c | 53 | EDIT_I1=SEL_I1, |
nikmaos | 5:21240fa1ee4c | 54 | EDIT_D1=SEL_D1, |
nikmaos | 4:d53895f65eb7 | 55 | |
nikmaos | 5:21240fa1ee4c | 56 | EDIT_P2=SEL_P2, |
nikmaos | 5:21240fa1ee4c | 57 | EDIT_I2=SEL_I2, |
nikmaos | 5:21240fa1ee4c | 58 | EDIT_D2=SEL_D2, |
nikmaos | 5:21240fa1ee4c | 59 | EDIT_NONE, |
nikmaos | 5:21240fa1ee4c | 60 | }selectedEditor_t; |
nikmaos | 4:d53895f65eb7 | 61 | |
nikmaos | 3:d4b106bf3a32 | 62 | // all existing screens |
nikmaos | 3:d4b106bf3a32 | 63 | typedef enum { |
nikmaos | 3:d4b106bf3a32 | 64 | MENU_SCREEN, |
nikmaos | 3:d4b106bf3a32 | 65 | CURR_HUM_SCREEN, |
nikmaos | 3:d4b106bf3a32 | 66 | CURR_TEMP_SCREEN, |
nikmaos | 3:d4b106bf3a32 | 67 | TEST_CHROM_SCREEN, //тестовый экран |
nikmaos | 4:d53895f65eb7 | 68 | PID_SCREEN, |
nikmaos | 3:d4b106bf3a32 | 69 | } screenValues; |
nikmaos | 3:d4b106bf3a32 | 70 | |
nikmaos | 3:d4b106bf3a32 | 71 | |
nikmaos | 3:d4b106bf3a32 | 72 | /************************************************************************************************************************** |
nikmaos | 3:d4b106bf3a32 | 73 | ************************** User class for drawing at FT800 **************************************************************** |
nikmaos | 3:d4b106bf3a32 | 74 | **************************************************************************************************************************/ |
nikmaos | 3:d4b106bf3a32 | 75 | |
nikmaos | 3:d4b106bf3a32 | 76 | class Display |
nikmaos | 3:d4b106bf3a32 | 77 | { |
nikmaos | 3:d4b106bf3a32 | 78 | public: |
nikmaos | 3:d4b106bf3a32 | 79 | // in Display class we use FT800 TFT (definition is available in main.cpp) |
nikmaos | 3:d4b106bf3a32 | 80 | Display(FT813 *TFT) { |
nikmaos | 3:d4b106bf3a32 | 81 | _TFT = TFT; |
nikmaos | 3:d4b106bf3a32 | 82 | } |
nikmaos | 3:d4b106bf3a32 | 83 | |
nikmaos | 3:d4b106bf3a32 | 84 | // functions describing all available screens (screens-functions) |
nikmaos | 3:d4b106bf3a32 | 85 | void ChromTest(float temp,float ras,int temp_u,float ras_u); //тестовый экран |
nikmaos | 5:21240fa1ee4c | 86 | 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 | 87 | void MainMenu(float humidity, float temperature); // [display.Draw_MainMenu.cpp] |
nikmaos | 3:d4b106bf3a32 | 88 | void CurrentHumidity(float humidity); // [display.Draw_CurrentValuesGraphs.cpp] |
nikmaos | 3:d4b106bf3a32 | 89 | void CurrentTemperature(float temperature); // [display.Draw_CurrentValuesGraphs.cpp] |
nikmaos | 3:d4b106bf3a32 | 90 | |
nikmaos | 3:d4b106bf3a32 | 91 | // functions using to prepare FT800 re = recalibration |
nikmaos | 3:d4b106bf3a32 | 92 | void Calibration(char * calibration,char re); // [display.Calibration.cpp] |
nikmaos | 3:d4b106bf3a32 | 93 | |
nikmaos | 3:d4b106bf3a32 | 94 | // functions for touch screen tracking |
nikmaos | 3:d4b106bf3a32 | 95 | char GetTouch(void); // [display.GetTouch.cpp] |
nikmaos | 3:d4b106bf3a32 | 96 | |
nikmaos | 3:d4b106bf3a32 | 97 | // variables using for navigation between screens |
nikmaos | 3:d4b106bf3a32 | 98 | char pressedButton; |
nikmaos | 3:d4b106bf3a32 | 99 | char activeScreen; |
nikmaos | 7:c364201bc3ed | 100 | int16_t TouchX,TouchY; |
nikmaos | 5:21240fa1ee4c | 101 | |
nikmaos | 5:21240fa1ee4c | 102 | selectedEditor_t selectedEditor; |
nikmaos | 5:21240fa1ee4c | 103 | unsigned char str_edit[12]; |
nikmaos | 5:21240fa1ee4c | 104 | uint8_t cursor; |
nikmaos | 5:21240fa1ee4c | 105 | //доп. функции |
nikmaos | 5:21240fa1ee4c | 106 | void myWdget_Edit(uint16_t x,uint16_t y,uint16_t w,uint16_t h,uint8_t selected,const char * text); |
nikmaos | 5:21240fa1ee4c | 107 | void Display::myWdget_NumPad(uint16_t x,uint16_t y); |
nikmaos | 5:21240fa1ee4c | 108 | void Display::myWdget_Edit_change(char * text); |
nikmaos | 3:d4b106bf3a32 | 109 | |
nikmaos | 3:d4b106bf3a32 | 110 | private: |
nikmaos | 3:d4b106bf3a32 | 111 | FT813 *_TFT; |
nikmaos | 3:d4b106bf3a32 | 112 | |
nikmaos | 3:d4b106bf3a32 | 113 | void StartDL(void); // [display.DisplayListFunctions.cpp] |
nikmaos | 3:d4b106bf3a32 | 114 | void FinishDL(void); // [display.DisplayListFunctions.cpp] |
nikmaos | 3:d4b106bf3a32 | 115 | void MainMenuReference(void); // [display.Draw_MainMenuReference.cpp] |
nikmaos | 3:d4b106bf3a32 | 116 | void HorisontalGrid_CurrentTemp(void); // [display.Draw_Grids.cpp] |
nikmaos | 3:d4b106bf3a32 | 117 | void HorisontalGrid_CurrentHumidity(void); // [display.Draw_Grids.cpp] |
nikmaos | 3:d4b106bf3a32 | 118 | |
nikmaos | 3:d4b106bf3a32 | 119 | |
nikmaos | 3:d4b106bf3a32 | 120 | void CreateStringTempHum(char *str, float number, bool isTemp); // [display.StringsTransforming.cpp] |
nikmaos | 3:d4b106bf3a32 | 121 | |
nikmaos | 3:d4b106bf3a32 | 122 | char humidityStr[8], temperatureStr[8]; |
nikmaos | 3:d4b106bf3a32 | 123 | char currentHumidity_X, currentTemperature_X; |
nikmaos | 3:d4b106bf3a32 | 124 | char currentHumidity_Y[68], currentTemperature_Y[68]; |
nikmaos | 3:d4b106bf3a32 | 125 | }; |
nikmaos | 3:d4b106bf3a32 | 126 | |
nikmaos | 3:d4b106bf3a32 | 127 | #endif /* SCREENS_H_ */ |