Change Slave sends '0' during convert prozess on all DS18B20
[owSlave2.git] / DS18B20_MAX44009 / DS18B20_MAX44009.c
index f4bd316..3447b6b 100644 (file)
@@ -44,7 +44,7 @@
 
 extern void OWINIT();
 
-
+extern void EXTERN_SLEEP();
 
 
 uint8_t owid[8]={0x28, 0xA2, 0xD9, 0x84, 0x00, 0x16, 0x77, 0x6B};/**/
@@ -60,7 +60,7 @@ extern uint8_t reset_indicator;
 extern uint8_t alarmflag;
 
 
-
+uint8_t max_adr=0;
 
 typedef union {
        volatile uint8_t bytes[8];
@@ -101,14 +101,16 @@ int main(void){
 
        MCUSR=0;
        USI_TWI_Master_Initialise();
-       
+       if (checkMAX44009(0)) max_adr=0; else max_adr=1 ;
        
        gcontrol=1;
+       //DDRB|=(1<<PINB1);
        sei();
     while(1)   {
        
                if (gcontrol) {
-                       volatile double l=MAX44009getlux(1);            
+                       //PORTB|=(1<<PINB1); //Dauer 2.3ms
+                       volatile double l=MAX44009getlux(max_adr);              
                        if (l<0.030) l=0.030; //Darf nicht 0 sein. minimum -35°C Sensor minimum 0.045
                        //double l=1000;
                        l=log(l)*10*16;
@@ -121,8 +123,9 @@ int main(void){
                        pack.temp=w;
                        //pack.temp++;
                        alarmflag=af;
-                       sei();                  
-                       gcontrol=0;
+                       sei();  
+                       EXTERN_SLEEP();         
+                       //PORTB&=~(1<<PINB1);
                }