20190816

Dependencies:   LCD_DISCO_F429ZI TS_DISCO_F429ZI BSP_DISCO_F429ZI

Committer:
VASKO
Date:
Fri Aug 16 22:22:05 2019 +0000
Revision:
0:81007dc65bac
20190816

Who changed what in which revision?

UserRevisionLine numberNew contents of line
VASKO 0:81007dc65bac 1 #include "PrjDefs.h"
VASKO 0:81007dc65bac 2
VASKO 0:81007dc65bac 3 int main()
VASKO 0:81007dc65bac 4 {
VASKO 0:81007dc65bac 5
VASKO 0:81007dc65bac 6 MsgType _msg;
VASKO 0:81007dc65bac 7
VASKO 0:81007dc65bac 8 RxMsgThrd.start(RxMsgThrdFunc);
VASKO 0:81007dc65bac 9 RxMsgThrd.set_priority(osPriorityHigh);
VASKO 0:81007dc65bac 10
VASKO 0:81007dc65bac 11 TouchScreenThrd.start(TouchScreenThrdFunc);
VASKO 0:81007dc65bac 12 TouchScreenThrd.set_priority(osPriorityAboveNormal);
VASKO 0:81007dc65bac 13
VASKO 0:81007dc65bac 14 InitLCDandTS();
VASKO 0:81007dc65bac 15
VASKO 0:81007dc65bac 16 InitRects();
VASKO 0:81007dc65bac 17
VASKO 0:81007dc65bac 18 while(1){
VASKO 0:81007dc65bac 19 osEvent evt = MsgMail.get(0);
VASKO 0:81007dc65bac 20 if (evt.status == osEventMail) {
VASKO 0:81007dc65bac 21 MsgType *mail = (MsgType*)evt.value.p;
VASKO 0:81007dc65bac 22 switch ( mail->cmd ){
VASKO 0:81007dc65bac 23 case Cmd_cT:{
VASKO 0:81007dc65bac 24 float _f = mail->pars.f[0];
VASKO 0:81007dc65bac 25 // sprintf((char*)TempR_Rect.s, "T= 3.1fC");
VASKO 0:81007dc65bac 26 sprintf((char*)TempR_Rect.s, "Tcr=%3.0fC", mail->pars.f[0]);
VASKO 0:81007dc65bac 27 // if( _f >= 100) sprintf((char*)TempR_Rect.s, "T=%3.1fC", cT);
VASKO 0:81007dc65bac 28 // else sprintf((char*)TempR_Rect.s, "T= %2.1fC", cT);
VASKO 0:81007dc65bac 29 R_T(&TempR_Rect);
VASKO 0:81007dc65bac 30 break;}
VASKO 0:81007dc65bac 31 case cT_Selected:{
VASKO 0:81007dc65bac 32 float _f = mail->pars.f[0];
VASKO 0:81007dc65bac 33 sprintf((char*)TempR_Rect.s, "Tcr=%3.0fC", mail->pars.f[0]);
VASKO 0:81007dc65bac 34 // if( _f >= 100) sprintf((char*)TempR_Rect.s, "T=%3.1fC", _f);
VASKO 0:81007dc65bac 35 // else sprintf((char*)TempR_Rect.s, "T= %2.1fC", _f);
VASKO 0:81007dc65bac 36 TempR_Rect.cr = DefaultRectColor;
VASKO 0:81007dc65bac 37 TempR_Rect.ct = DefaultTextColor;
VASKO 0:81007dc65bac 38 R_T(&TempR_Rect);
VASKO 0:81007dc65bac 39 break;}//cT_Selected
VASKO 0:81007dc65bac 40 case dT_Selected:{
VASKO 0:81007dc65bac 41 float _f = mail->pars.f[0];
VASKO 0:81007dc65bac 42 if(_f < 0) _f = -_f;
VASKO 0:81007dc65bac 43 if(_f>=100) sprintf((char*)TempR_Rect.s, "dT=%+3.f", mail->pars.f[0]);
VASKO 0:81007dc65bac 44 else if(_f>=10) sprintf((char*)TempR_Rect.s, "dT=%+2.1f", mail->pars.f[0]);
VASKO 0:81007dc65bac 45 else sprintf((char*)TempR_Rect.s, "dT=%+1.2f", mail->pars.f[0]);
VASKO 0:81007dc65bac 46 TempR_Rect.cr = LCD_COLOR_LIGHTBLUE;
VASKO 0:81007dc65bac 47 TempR_Rect.ct = ChangingTextColor;
VASKO 0:81007dc65bac 48 R_T(&TempR_Rect);
VASKO 0:81007dc65bac 49 break;}//dT_Selected
VASKO 0:81007dc65bac 50 case CmdStart:{
VASKO 0:81007dc65bac 51 if(mail->pars.ui8[0])Start_Rect.cr = LCD_COLOR_RED;
VASKO 0:81007dc65bac 52 else Start_Rect.cr = LCD_COLOR_GREEN;
VASKO 0:81007dc65bac 53 R_T(&Start_Rect);
VASKO 0:81007dc65bac 54 break;}
VASKO 0:81007dc65bac 55 case CmdPWM:{
VASKO 0:81007dc65bac 56 sprintf((char*)dTdt_Rect.s, "P=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 57 R_T(&dTdt_Rect);
VASKO 0:81007dc65bac 58 break;}
VASKO 0:81007dc65bac 59 case KP_Changing:{
VASKO 0:81007dc65bac 60 sprintf((char*)Extra_Rect.s, "KP=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 61 Extra_Rect.cr = ChangingRectColor;
VASKO 0:81007dc65bac 62 Extra_Rect.ct = ChangingTextColor;
VASKO 0:81007dc65bac 63 R_T(&Extra_Rect);
VASKO 0:81007dc65bac 64 break;}//case KP_Changing
VASKO 0:81007dc65bac 65 case KI_Changing:{
VASKO 0:81007dc65bac 66 sprintf((char*)Extra_Rect.s, "KI=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 67 Extra_Rect.cr = ChangingRectColor;
VASKO 0:81007dc65bac 68 Extra_Rect.ct = ChangingTextColor;
VASKO 0:81007dc65bac 69 R_T(&Extra_Rect);
VASKO 0:81007dc65bac 70 break;}//case KI_Changing
VASKO 0:81007dc65bac 71 case KD_Changing:{
VASKO 0:81007dc65bac 72 sprintf((char*)Extra_Rect.s, "KD=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 73 Extra_Rect.cr = ChangingRectColor;
VASKO 0:81007dc65bac 74 Extra_Rect.ct = ChangingTextColor;
VASKO 0:81007dc65bac 75 R_T(&Extra_Rect);
VASKO 0:81007dc65bac 76 break;}//case KD_Changing
VASKO 0:81007dc65bac 77 case PWM_Changing:{
VASKO 0:81007dc65bac 78 sprintf((char*)Extra_Rect.s, "PL=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 79 Extra_Rect.cr = ChangingRectColor;
VASKO 0:81007dc65bac 80 Extra_Rect.ct = ChangingTextColor;
VASKO 0:81007dc65bac 81 R_T(&Extra_Rect);
VASKO 0:81007dc65bac 82 break;}//case PWM_Changing
VASKO 0:81007dc65bac 83 case KP_Selected:{
VASKO 0:81007dc65bac 84 sprintf((char*)Extra_Rect.s, "KP=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 85 Extra_Rect.cr = DefaultRectColor;
VASKO 0:81007dc65bac 86 Extra_Rect.ct = DefaultTextColor;
VASKO 0:81007dc65bac 87 R_T(&Extra_Rect);
VASKO 0:81007dc65bac 88 break;}//case KP_Selected
VASKO 0:81007dc65bac 89 case KI_Selected:{
VASKO 0:81007dc65bac 90 sprintf((char*)Extra_Rect.s, "KI=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 91 Extra_Rect.cr = DefaultRectColor;
VASKO 0:81007dc65bac 92 Extra_Rect.ct = DefaultTextColor;
VASKO 0:81007dc65bac 93 R_T(&Extra_Rect);
VASKO 0:81007dc65bac 94 break;}//case KI_Selected
VASKO 0:81007dc65bac 95 case KD_Selected:{
VASKO 0:81007dc65bac 96 sprintf((char*)Extra_Rect.s, "KD=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 97 Extra_Rect.cr = DefaultRectColor;
VASKO 0:81007dc65bac 98 Extra_Rect.ct = DefaultTextColor;
VASKO 0:81007dc65bac 99 R_T(&Extra_Rect);
VASKO 0:81007dc65bac 100 break;}//case KD_Selected
VASKO 0:81007dc65bac 101 case PWM_Selected:{
VASKO 0:81007dc65bac 102 sprintf((char*)Extra_Rect.s, "PL=%1.3f", mail->pars.f[0]);
VASKO 0:81007dc65bac 103 Extra_Rect.cr = DefaultRectColor;
VASKO 0:81007dc65bac 104 Extra_Rect.ct = DefaultTextColor;
VASKO 0:81007dc65bac 105 R_T(&Extra_Rect);
VASKO 0:81007dc65bac 106 break;}//case PWM_Selected
VASKO 0:81007dc65bac 107 case TempS_Changing:{
VASKO 0:81007dc65bac 108 TempS_Rect.cr = ChangingRectColor;
VASKO 0:81007dc65bac 109 TempS_Rect.ct = ChangingTextColor;
VASKO 0:81007dc65bac 110 sprintf((char*)TempS_Rect.s, "Ttg=%3.0fC", mail->pars.f[0]);
VASKO 0:81007dc65bac 111 R_T(&TempS_Rect);
VASKO 0:81007dc65bac 112 break;}//case TempS_Changing
VASKO 0:81007dc65bac 113 case TempS_Selected:{
VASKO 0:81007dc65bac 114 TempS_Rect.cr = DefaultRectColor;
VASKO 0:81007dc65bac 115 TempS_Rect.ct = DefaultTextColor;
VASKO 0:81007dc65bac 116 sprintf((char*)TempS_Rect.s, "Ttg=%3.0fC", mail->pars.f[0]);
VASKO 0:81007dc65bac 117 R_T(&TempS_Rect);
VASKO 0:81007dc65bac 118 break;}//case TempS_Selected
VASKO 0:81007dc65bac 119 case dTdt_Changing:{
VASKO 0:81007dc65bac 120 dTdt_Rect.cr = ChangingRectColor;
VASKO 0:81007dc65bac 121 dTdt_Rect.ct = ChangingTextColor;
VASKO 0:81007dc65bac 122 sprintf((char*)dTdt_Rect.s, "dTdt%1.2f", dTdt);
VASKO 0:81007dc65bac 123 R_T(&dTdt_Rect);
VASKO 0:81007dc65bac 124 break;}//dTdt_Changing
VASKO 0:81007dc65bac 125 case dTdt_Selected:{
VASKO 0:81007dc65bac 126 dTdt_Rect.cr = DefaultRectColor;
VASKO 0:81007dc65bac 127 dTdt_Rect.ct = DefaultTextColor;
VASKO 0:81007dc65bac 128 sprintf((char*)dTdt_Rect.s, "dTdt%1.2f", dTdt);
VASKO 0:81007dc65bac 129 R_T(&dTdt_Rect);
VASKO 0:81007dc65bac 130 break;}//dTdt_Selected
VASKO 0:81007dc65bac 131 default: break;
VASKO 0:81007dc65bac 132 }//switch
VASKO 0:81007dc65bac 133 MsgMail.free(mail);
VASKO 0:81007dc65bac 134 }//if (evt.status == osEventMail)
VASKO 0:81007dc65bac 135
VASKO 0:81007dc65bac 136 // ThisThread::sleep_for(1);
VASKO 0:81007dc65bac 137 }//while(1)
VASKO 0:81007dc65bac 138 }//main
VASKO 0:81007dc65bac 139
VASKO 0:81007dc65bac 140 /*
VASKO 0:81007dc65bac 141 DigitalOut xx(PG_13);//зеленый светодиод LD3 DISCO
VASKO 0:81007dc65bac 142 lcd.FillTriangle(45,45,80,142,177,157);
VASKO 0:81007dc65bac 143 */