20190816
Dependencies: LCD_DISCO_F429ZI TS_DISCO_F429ZI BSP_DISCO_F429ZI
main.cpp@0:81007dc65bac, 2019-08-16 (annotated)
- Committer:
- VASKO
- Date:
- Fri Aug 16 22:22:05 2019 +0000
- Revision:
- 0:81007dc65bac
20190816
Who changed what in which revision?
User | Revision | Line number | New 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 | */ |