20190816
Dependencies: LCD_DISCO_F429ZI TS_DISCO_F429ZI BSP_DISCO_F429ZI
Diff: main.cpp
- Revision:
- 0:81007dc65bac
diff -r 000000000000 -r 81007dc65bac main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Aug 16 22:22:05 2019 +0000 @@ -0,0 +1,143 @@ +#include "PrjDefs.h" + +int main() +{ + + MsgType _msg; + + RxMsgThrd.start(RxMsgThrdFunc); + RxMsgThrd.set_priority(osPriorityHigh); + + TouchScreenThrd.start(TouchScreenThrdFunc); + TouchScreenThrd.set_priority(osPriorityAboveNormal); + + InitLCDandTS(); + + InitRects(); + + while(1){ + osEvent evt = MsgMail.get(0); + if (evt.status == osEventMail) { + MsgType *mail = (MsgType*)evt.value.p; + switch ( mail->cmd ){ + case Cmd_cT:{ + float _f = mail->pars.f[0]; +// sprintf((char*)TempR_Rect.s, "T= 3.1fC"); + sprintf((char*)TempR_Rect.s, "Tcr=%3.0fC", mail->pars.f[0]); +// if( _f >= 100) sprintf((char*)TempR_Rect.s, "T=%3.1fC", cT); +// else sprintf((char*)TempR_Rect.s, "T= %2.1fC", cT); + R_T(&TempR_Rect); + break;} + case cT_Selected:{ + float _f = mail->pars.f[0]; + sprintf((char*)TempR_Rect.s, "Tcr=%3.0fC", mail->pars.f[0]); +// if( _f >= 100) sprintf((char*)TempR_Rect.s, "T=%3.1fC", _f); +// else sprintf((char*)TempR_Rect.s, "T= %2.1fC", _f); + TempR_Rect.cr = DefaultRectColor; + TempR_Rect.ct = DefaultTextColor; + R_T(&TempR_Rect); + break;}//cT_Selected + case dT_Selected:{ + float _f = mail->pars.f[0]; + if(_f < 0) _f = -_f; + if(_f>=100) sprintf((char*)TempR_Rect.s, "dT=%+3.f", mail->pars.f[0]); + else if(_f>=10) sprintf((char*)TempR_Rect.s, "dT=%+2.1f", mail->pars.f[0]); + else sprintf((char*)TempR_Rect.s, "dT=%+1.2f", mail->pars.f[0]); + TempR_Rect.cr = LCD_COLOR_LIGHTBLUE; + TempR_Rect.ct = ChangingTextColor; + R_T(&TempR_Rect); + break;}//dT_Selected + case CmdStart:{ + if(mail->pars.ui8[0])Start_Rect.cr = LCD_COLOR_RED; + else Start_Rect.cr = LCD_COLOR_GREEN; + R_T(&Start_Rect); + break;} + case CmdPWM:{ + sprintf((char*)dTdt_Rect.s, "P=%1.3f", mail->pars.f[0]); + R_T(&dTdt_Rect); + break;} + case KP_Changing:{ + sprintf((char*)Extra_Rect.s, "KP=%1.3f", mail->pars.f[0]); + Extra_Rect.cr = ChangingRectColor; + Extra_Rect.ct = ChangingTextColor; + R_T(&Extra_Rect); + break;}//case KP_Changing + case KI_Changing:{ + sprintf((char*)Extra_Rect.s, "KI=%1.3f", mail->pars.f[0]); + Extra_Rect.cr = ChangingRectColor; + Extra_Rect.ct = ChangingTextColor; + R_T(&Extra_Rect); + break;}//case KI_Changing + case KD_Changing:{ + sprintf((char*)Extra_Rect.s, "KD=%1.3f", mail->pars.f[0]); + Extra_Rect.cr = ChangingRectColor; + Extra_Rect.ct = ChangingTextColor; + R_T(&Extra_Rect); + break;}//case KD_Changing + case PWM_Changing:{ + sprintf((char*)Extra_Rect.s, "PL=%1.3f", mail->pars.f[0]); + Extra_Rect.cr = ChangingRectColor; + Extra_Rect.ct = ChangingTextColor; + R_T(&Extra_Rect); + break;}//case PWM_Changing + case KP_Selected:{ + sprintf((char*)Extra_Rect.s, "KP=%1.3f", mail->pars.f[0]); + Extra_Rect.cr = DefaultRectColor; + Extra_Rect.ct = DefaultTextColor; + R_T(&Extra_Rect); + break;}//case KP_Selected + case KI_Selected:{ + sprintf((char*)Extra_Rect.s, "KI=%1.3f", mail->pars.f[0]); + Extra_Rect.cr = DefaultRectColor; + Extra_Rect.ct = DefaultTextColor; + R_T(&Extra_Rect); + break;}//case KI_Selected + case KD_Selected:{ + sprintf((char*)Extra_Rect.s, "KD=%1.3f", mail->pars.f[0]); + Extra_Rect.cr = DefaultRectColor; + Extra_Rect.ct = DefaultTextColor; + R_T(&Extra_Rect); + break;}//case KD_Selected + case PWM_Selected:{ + sprintf((char*)Extra_Rect.s, "PL=%1.3f", mail->pars.f[0]); + Extra_Rect.cr = DefaultRectColor; + Extra_Rect.ct = DefaultTextColor; + R_T(&Extra_Rect); + break;}//case PWM_Selected + case TempS_Changing:{ + TempS_Rect.cr = ChangingRectColor; + TempS_Rect.ct = ChangingTextColor; + sprintf((char*)TempS_Rect.s, "Ttg=%3.0fC", mail->pars.f[0]); + R_T(&TempS_Rect); + break;}//case TempS_Changing + case TempS_Selected:{ + TempS_Rect.cr = DefaultRectColor; + TempS_Rect.ct = DefaultTextColor; + sprintf((char*)TempS_Rect.s, "Ttg=%3.0fC", mail->pars.f[0]); + R_T(&TempS_Rect); + break;}//case TempS_Selected + case dTdt_Changing:{ + dTdt_Rect.cr = ChangingRectColor; + dTdt_Rect.ct = ChangingTextColor; + sprintf((char*)dTdt_Rect.s, "dTdt%1.2f", dTdt); + R_T(&dTdt_Rect); + break;}//dTdt_Changing + case dTdt_Selected:{ + dTdt_Rect.cr = DefaultRectColor; + dTdt_Rect.ct = DefaultTextColor; + sprintf((char*)dTdt_Rect.s, "dTdt%1.2f", dTdt); + R_T(&dTdt_Rect); + break;}//dTdt_Selected + default: break; + }//switch + MsgMail.free(mail); + }//if (evt.status == osEventMail) + +// ThisThread::sleep_for(1); + }//while(1) +}//main + +/* +DigitalOut xx(PG_13);//зеленый светодиод LD3 DISCO + lcd.FillTriangle(45,45,80,142,177,157); +*/ \ No newline at end of file