#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
char sendbuf[129];
float temp_lm73s = 5.5555, temp_lm73f = 7.7777, f_cold_junction_temperature = 22.2222, f_linearized_tc_temperature = 33.3333, rtd_temp = 44.4444;
bool bot_heat_state = false, top_heat_state = true;
uint8_t fans_rpm = 0xFF;
uint8_t var_tosend[] = {3, 4, 5, 6, 7}; // выход с парсера
int main(void) {
char temp_buf[129];
char tmp_str[10];
snprintf(temp_buf
, sizeof(temp_buf
), "<S:0,%3.3f;1,%3.3f;2,%u;", temp_lm73s
, temp_lm73f
, fans_rpm
);
for(uint8_t k = 0; k < (sizeof(var_tosend) / sizeof(var_tosend[0])); k++)
{
//if((!var_tosend[k]) && (!var_tosend[k+1])){break;}; // if current element of array and element that going after it == 0 -> exit
switch(var_tosend[k]){
case 3:
snprintf(tmp_str
, sizeof(tmp_str
), "3,%3.3f;", f_cold_junction_temperature
); break;
case 4:
snprintf(tmp_str
, sizeof(tmp_str
), "4,%3.3f;", f_linearized_tc_temperature
); break;
case 5:
snprintf(tmp_str
, sizeof(tmp_str
), "5,%3.3f;", rtd_temp
); break;
case 6:
snprintf(tmp_str
, sizeof(tmp_str
), "6,%d;", bot_heat_state
? 1 : 0); break;
case 7:
snprintf(tmp_str
, sizeof(tmp_str
), "7,%d;", top_heat_state
? 1 : 0); break;
}
}
if (res >= sizeof(sendbuf)) {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGludC5oPgojaW5jbHVkZSA8c3RkYm9vbC5oPgoKY2hhciAgc2VuZGJ1ZlsxMjldOwoKZmxvYXQgdGVtcF9sbTczcyA9IDUuNTU1NSwgdGVtcF9sbTczZiA9IDcuNzc3NywgZl9jb2xkX2p1bmN0aW9uX3RlbXBlcmF0dXJlID0gMjIuMjIyMiwgZl9saW5lYXJpemVkX3RjX3RlbXBlcmF0dXJlID0gMzMuMzMzMywgcnRkX3RlbXAgPSA0NC40NDQ0Owpib29sIGJvdF9oZWF0X3N0YXRlID0gZmFsc2UsIHRvcF9oZWF0X3N0YXRlID0gdHJ1ZTsKdWludDhfdCBmYW5zX3JwbSA9IDB4RkY7Cgp1aW50OF90IHZhcl90b3NlbmRbXSA9IHszLCA0LCA1LCA2LCA3fTsgLy8g0LLRi9GF0L7QtCDRgSDQv9Cw0YDRgdC10YDQsAoKaW50IG1haW4odm9pZCkgewoJCiAgY2hhciAgdGVtcF9idWZbMTI5XTsKICBjaGFyIHRtcF9zdHJbMTBdOwoKICBtZW1zZXQodGVtcF9idWYsIDAsIDEyOSk7CgogIHNucHJpbnRmKHRlbXBfYnVmLCBzaXplb2YodGVtcF9idWYpLCAiPFM6MCwlMy4zZjsxLCUzLjNmOzIsJXU7IiwgdGVtcF9sbTczcywgdGVtcF9sbTczZiwgZmFuc19ycG0pOwoKICBmb3IodWludDhfdCBrID0gMDsgayA8IChzaXplb2YodmFyX3Rvc2VuZCkgLyBzaXplb2YodmFyX3Rvc2VuZFswXSkpOyBrKyspCiAgewoJLy9pZigoIXZhcl90b3NlbmRba10pICYmICghdmFyX3Rvc2VuZFtrKzFdKSl7YnJlYWs7fTsgLy8gaWYgY3VycmVudCBlbGVtZW50IG9mIGFycmF5IGFuZCBlbGVtZW50IHRoYXQgZ29pbmcgYWZ0ZXIgaXQgPT0gMCAtPiBleGl0CgogICAgc3dpdGNoKHZhcl90b3NlbmRba10pewogICAgICBjYXNlIDM6CiAgICAJc25wcmludGYodG1wX3N0ciwgc2l6ZW9mKHRtcF9zdHIpLCAiMywlMy4zZjsiLCBmX2NvbGRfanVuY3Rpb25fdGVtcGVyYXR1cmUpOwogICAgCXN0cmNhdCh0ZW1wX2J1ZiwgdG1wX3N0cik7CiAgICAJYnJlYWs7CgogICAgICBjYXNlIDQ6CiAgICAJc25wcmludGYodG1wX3N0ciwgc2l6ZW9mKHRtcF9zdHIpLCAiNCwlMy4zZjsiLCBmX2xpbmVhcml6ZWRfdGNfdGVtcGVyYXR1cmUpOwogICAgCXN0cmNhdCh0ZW1wX2J1ZiwgdG1wX3N0cik7CiAgICAJYnJlYWs7CgogICAgICBjYXNlIDU6CiAgICAgICAgc25wcmludGYodG1wX3N0ciwgc2l6ZW9mKHRtcF9zdHIpLCAiNSwlMy4zZjsiLCBydGRfdGVtcCk7CiAgICAgICAgc3RyY2F0KHRlbXBfYnVmLCB0bXBfc3RyKTsKICAgICAgICBicmVhazsKCiAgICAgIGNhc2UgNjoKICAgIAlzbnByaW50Zih0bXBfc3RyLCBzaXplb2YodG1wX3N0ciksICI2LCVkOyIsIGJvdF9oZWF0X3N0YXRlID8gMSA6IDApOwogICAgCXN0cmNhdCh0ZW1wX2J1ZiwgdG1wX3N0cik7CiAgICAJYnJlYWs7CgogICAgICBjYXNlIDc6CiAgICAgICAgc25wcmludGYodG1wX3N0ciwgc2l6ZW9mKHRtcF9zdHIpLCAiNywlZDsiLCB0b3BfaGVhdF9zdGF0ZSA/IDEgOiAwKTsKICAgICAgICBzdHJjYXQodGVtcF9idWYsIHRtcF9zdHIpOwogICAgICAgIGJyZWFrOwogICAgfQogICAgbWVtc2V0KHRtcF9zdHIsIDAsIDEwKTsKICB9CiAgCiAgc3RyY2F0KHRlbXBfYnVmLCAiPiIpOwogIAogIGludCByZXMgPSBzdHJsZW4odGVtcF9idWYpOwogIGlmIChyZXMgPj0gc2l6ZW9mKHNlbmRidWYpKSB7CglwcmludGYoIkRhdGEgdHJ1bmNhdGVkLlxuIik7CiAgfQoKcHJpbnRmKCIlc1xuIiwgdGVtcF9idWYpOwoKCXJldHVybiAwOwp9Cg==