test

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

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?

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