test

Dependencies:   ad5422_arduino mbed LT1446 ADS1248-1 LM35-1 Flash FT813 PGA280_ADS1259

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?

UserRevisionLine numberNew 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_ */