Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
doc:jroboplc:ups_devices:ups_nano_src [2018/06/26 10:49]
denis
doc:jroboplc:ups_devices:ups_nano_src [2018/07/27 13:21] (текущий)
denis
Строка 27: Строка 27:
 #define ADDR_T_OFF ​             4 #define ADDR_T_OFF ​             4
 #define ADDR_T_ON ​              6 #define ADDR_T_ON ​              6
 +#define ADDR_BEEP_MODE ​         8
  
 OneWire oneWire(pinInpT); ​ OneWire oneWire(pinInpT); ​
Строка 45: Строка 46:
 boolean manual_BatCtrl;​ boolean manual_BatCtrl;​
 boolean manual_Cooler;​ boolean manual_Cooler;​
 +int beep_mode;
  
 int timeBatCtrl;​ int timeBatCtrl;​
Строка 98: Строка 100:
   EEPROM.get(ADDR_T_OFF,​ Toff);   EEPROM.get(ADDR_T_OFF,​ Toff);
   EEPROM.get(ADDR_T_ON,​ Ton);   EEPROM.get(ADDR_T_ON,​ Ton);
 +  EEPROM.get(ADDR_BEEP_MODE,​ beep_mode);
  
   validate_vars();​   validate_vars();​
Строка 127: Строка 130:
   if(timeoutSerialConnected <= 0)   if(timeoutSerialConnected <= 0)
     timeoutSerialConnected = 1;     timeoutSerialConnected = 1;
 +
 +  if(beep_mode < 0  ||  beep_mode > 2)
 +    beep_mode = 0;
 } }
  
Строка 152: Строка 158:
       if( sercnt > 0  && ​ msdelta > REQUEST_TIMEOUT ) {       if( sercnt > 0  && ​ msdelta > REQUEST_TIMEOUT ) {
         sercnt = 0;         sercnt = 0;
 +        serConnected = false;
       }       }
       if( serConnected ​ && ​ (msdelta/​1000) >= timeoutSerialConnected ) {       if( serConnected ​ && ​ (msdelta/​1000) >= timeoutSerialConnected ) {
Строка 162: Строка 169:
           onSerRequest();​           onSerRequest();​
           sercnt = 0;           sercnt = 0;
-          ​serConnected = true;+//          ​serConnected = true;
         }         }
       }       }
Строка 244: Строка 251:
       //   1200 - normal tone       //   1200 - normal tone
       //     40 - debug tone (very low)       //     40 - debug tone (very low)
-      tone(pinOutBeep,​ 40, 1000); ​+      ​if( beep_mode == 0 ) 
 +        tone(pinOutBeep,​ 1200, 1000);  
 +      else if( beep_mode == 1 ) 
 +        ​tone(pinOutBeep,​ 40, 1000); ​
     else     else
       noTone(pinOutBeep);  ​       noTone(pinOutBeep);  ​
Строка 277: Строка 287:
  
 void onSerRequest() { void onSerRequest() {
 +  serConnected = false;
 +
   uint32_t cs1 = CRC32::​calculate(serbuf,​ REQUEST_LEN-4);​   uint32_t cs1 = CRC32::​calculate(serbuf,​ REQUEST_LEN-4);​
   uint32_t cs2 =    uint32_t cs2 = 
Строка 284: Строка 296:
           (uint32_t)serbuf[REQUEST_LEN-1];​           (uint32_t)serbuf[REQUEST_LEN-1];​
  
-  if( cs1 != cs2 )+  if( cs1 != cs2 ) {
     return;     return;
 +  }
  
   if( serbuf[0] != VERSION ) {   if( serbuf[0] != VERSION ) {
Строка 294: Строка 307:
   getSerbufValues();​   getSerbufValues();​
   sendGoodAnswer();​   sendGoodAnswer();​
 +
 +  serConnected = true;
 } }
  
Строка 366: Строка 381:
   if( manual_Cooler )   if( manual_Cooler )
     outCooler = (manuals & 0x8) > 0;     outCooler = (manuals & 0x8) > 0;
 +
 +  beep_mode = (manuals >> 4) & 0xF;
  
   validate_vars();​   validate_vars();​
Строка 373: Строка 390:
   EEPROM.put(ADDR_T_OFF,​ Toff);   EEPROM.put(ADDR_T_OFF,​ Toff);
   EEPROM.put(ADDR_T_ON,​ Ton);   EEPROM.put(ADDR_T_ON,​ Ton);
 +  EEPROM.put(ADDR_BEEP_MODE,​ beep_mode);
 } }
  
doc/jroboplc/ups_devices/ups_nano_src.1529999364.txt.gz · Последние изменения: 2018/06/26 10:49 — denis
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0