Nos belehackeltem a logikát a processOTGW függvénybe. Lefordul de most nem állok már neki tesztelni.
void processOTGW(const char * buf, int len)
{
static float TrSetCurr = 0.0;
static float TrSetCH2Curr = 0.0;
bool SPChanged = false;
// ...
case TrSet:
{
OTdataObject.TrSet = print_f88();
if(buf[0] == 'T')
{
SPChanged = true;
TrSetCurr = OTdataObject.TrSet;
}
break;
}
case TrSetCH2:
{
OTdataObject.TrSetCH2 = print_f88();
if(buf[0] == 'T')
{
SPChanged = true;
TrSetCH2Curr = OTdataObject.TrSetCH2;
}
break;
}
// ...
if(SPChanged)
{
float SetPoint = TrSetCurr;
if(TrSetCH2Curr > TrSetCurr)
{
SetPoint = TrSetCH2Curr;
}
char CommandBuff[32];
snprintf(CommandBuff, 32, "CS=%.1f", SetPoint);
sendOTGW(CommandBuff, strlen(CommandBuff));
}
}
Nekem CH parancsot nem kell manuálisan küldenem?