X-Git-Url: https://git.smho.de/gw/?p=owSlave2.git;a=blobdiff_plain;f=DS18B20_CDM7160%2FDS18B20_CDM7160.c;h=c9e90b39acb17d32ca50a37c5ff05baa94729a93;hp=b46797cceb74c6ad8fc2d5989da6ab537da9df94;hb=refs%2Fheads%2Fmaster;hpb=22b81b6c288ca56f58d064627c310e437f9453a4 diff --git a/DS18B20_CDM7160/DS18B20_CDM7160.c b/DS18B20_CDM7160/DS18B20_CDM7160.c index b46797c..c9e90b3 100644 --- a/DS18B20_CDM7160/DS18B20_CDM7160.c +++ b/DS18B20_CDM7160/DS18B20_CDM7160.c @@ -37,46 +37,23 @@ #include #include #include +#include "../common/owSlave_tools.h" #include "../common/I2C/USI_TWI_Master.h" #include "../common/I2C/CDM7160.h" -extern void OWINIT(); - -extern void EXTERN_SLEEP(); - +OWST_EXTERN_VARS uint8_t owid[8]={0x28, 0xA2, 0xD9, 0x84, 0x00, 0x16, 0x77, 0x6B};/**/ -uint8_t config_info[26]={10,13, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x02,16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; +uint8_t config_info[26]={10,21, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x02,16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; -#if (owid>128) -#error "Variable not correct" -#endif - -extern uint8_t mode; -extern uint8_t gcontrol; -extern uint8_t reset_indicator; -extern uint8_t alarmflag; -volatile uint8_t wdcounter=5; - -#if defined(__AVR_ATtiny24__)||defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) || defined(__AVR_ATtiny24A__)||defined(__AVR_ATtiny44A__) || defined(__AVR_ATtiny84A__) -ISR(WATCHDOG_vect) { -#else -ISR(WDT_vect) { -#endif - wdcounter++; - if (reset_indicator==1) reset_indicator++; - else if (reset_indicator==2) mode=0; - -} - -uint8_t max_adr=0; +OWST_WDT_ISR typedef union { volatile uint8_t bytes[8]; struct { - uint16_t temp; //0 + int16_t temp; //0 uint8_t TH; //2 uint8_t TL; //3 uint8_t config; //4 @@ -94,8 +71,10 @@ volatile pack_t pack; -int main(void){ - PRR|=(1<(PBR+1)) { wdcounter=0; //PORTB|=(1<>4; - uint8_t af=0; + volatile int16_t l=(int16_t)CDM7160getCO2()-1280; + int16_t w=l; + int8_t t8=w/16; + int8_t af=0; if (t8>pack.TH) af=1; if (t8<=pack.TL) af=1; cli(); @@ -163,22 +140,7 @@ int main(void){ } -#if defined(__AVR_ATtiny25__)||defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) - if (((TIMSK & (1<