const char WireSensorName[][18] PROGMEM = {"Dvere", "Zvonek", "Vypadek napajeni", "Obnoveni napajeni", "Teplota"};
uint8_t WireSensorTimer[5];
struct RFSENSOR {
uint8_t code[4];
char name[18];
uint8_t timer;
};
RFSENSOR RFsensor[4];
uint8_t RFsensors = 4;
char TestChars[] = "Zvonek";
uint32_t Timer60Start;
const uint16_t Timer60 = 2000;
void UpdateTimers();
void setup() {
Serial.begin(115200);
WireSensorTimer[1] = 200;
WireSensorTimer[2] = 210;
RFsensor[3].timer = 19;
RFsensor[2].timer = 35;
Serial.println(WireSensorTimer[1]);
Serial.println(RFsensor[3].timer);
Serial.println(Timer60Start);
/* strcat_P(RFsensor[0].name, PSTR("Kourove cidlo"));
Serial.println((__FlashStringHelper*) WireSensorName[0]);
Serial.println(WireSensorName[0]);
Serial.println(WireSensorTimer[0]);
Serial.println(strcmp_PF(TestChars, WireSensorName[1]));
Serial.println(RFsensor[0].name);
Serial.println(Timer60Start);
Serial.println(Timer60); */
}
void loop() {
UpdateTimers();
}
void UpdateTimers() {
if (millis() - Timer60Start > Timer60) {
for (uint8_t i = 0; i < 5; i++) {
if (WireSensorTimer[i] > 0) {
WireSensorTimer[i]--;
if (WireSensorTimer[i] == 194) {
WireSensorTimer[i] = 0;
}
Serial.print("Wired sensor No. ");
Serial.print(i);
Serial.print(" changed to value ");
Serial.println(WireSensorTimer[i]);
}
}
for (uint8_t i = 0; i < RFsensors; i++) {
if (RFsensor[i].timer > 0) {
RFsensor[i].timer--;
if (RFsensor[i].timer == 194) {
RFsensor[i].timer = 0;
}
Serial.print("RF sensor No. ");
Serial.print(i);
Serial.print(" changed to value ");
Serial.println(RFsensor[i].timer);
}
}
Timer60Start = millis();
}
}