New I2C devices
[owSlave2.git] / DS18B20_MAX44009_DS2438_SHT / DS18B20_DS2438.c
index e717ac4..4e8d28b 100644 (file)
@@ -1,5 +1,5 @@
 \r
-// Copyright (c) 2015, Tobias Mueller tm(at)tm3d.de\r
+// Copyright (c) 2017, Tobias Mueller tm(at)tm3d.de\r
 // All rights reserved.\r
 //\r
 // Redistribution and use in source and binary forms, with or without\r
@@ -49,8 +49,10 @@ extern void EXTERN_SLEEP();
 \r
 uint8_t owid1[8]={0x28, 0xA3, 0xD9, 0x84, 0x00, 0x16, 0x05, 0x18};/**/\r
 uint8_t owid2[8]={0x26, 0xA3, 0xD9, 0x84, 0x00, 0x16, 0x05, 0x67};/**/\r
-uint8_t config_info1[16]={0x03,0x04, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00};        \r
-uint8_t config_info2[16]={0x01,0x06, 0x05,0x08, 0x04,0x07, 0x00,0x00, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00};        \r
+uint8_t config_info1[26]={0x03,0x04, 0x00,0x00, 0x00,0x00, 0x00,0x00, 0x02,15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};\r
+uint8_t config_info2[26]={0x01,0x06, 0x05,0x08, 0x04,0x07, 0x00,0x00, 0x02,7,0x00,7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};\r
+\r
+\r
        \r
 #if (owid>128) \r
 #error "Variable not correct"\r
@@ -186,6 +188,7 @@ int main(void){
                config_info2[5]=7;\r
        }\r
        MCUSR=0;\r
+       sei();\r
        USI_TWI_Master_Initialise();\r
        if (checkMAX44009(0)) max_adr=0; else max_adr=1 ;\r
        SHT2x_SoftReset();\r
@@ -204,9 +207,9 @@ int main(void){
        sei();\r
        //DDRB|=(1<<PINB1);\r
     while(1)   {\r
-               if ((gcontrol==2)||(gcontrol==3)) {\r
+               if ((gcontrol&2)==2){\r
                        wdcounter=3;\r
-                       gcontrol=0;\r
+                       \r
                        \r
                }\r
                \r
@@ -237,7 +240,7 @@ int main(void){
                        wdcounter=0;\r
                }\r
        \r
-               if (gcontrol==1) {\r
+               if ((gcontrol&1)==1) {\r
                        gcontrol=0;\r
                        l=MAX44009getlux(max_adr);              \r
                        if (l<0.030) l=0.030; //Darf nicht 0 sein. minimum -35°C Sensor minimum 0.045\r