Many changes from 2018
[owSlave2.git] / DS2423_DS2413 / DS2423_DS2413.c
index 29800f8..bac5365 100644 (file)
@@ -42,7 +42,9 @@
 \r
 extern void OWINIT(void);\r
 extern void EXTERN_SLEEP(void);\r
-#define FHEM_PLATINE\r
+//#define FHEM_PLATINE\r
+//#define JOE_M\r
+#define W1DAQ\r
 \r
 volatile uint8_t owid1[8]={0x1D, 0x1D, 0xDA, 0x84, 0x00, 0x00, 0x05, 0xD9};/**/\r
 volatile uint8_t owid2[8]={0x3A, 0x3A, 0xDA, 0x84, 0x00, 0x00, 0x05, 0xB6};/**/\r
@@ -102,12 +104,28 @@ volatile uint8_t changefromeeprom;
 //LEDS\r#define LPIN_CH2 (1<<PINB0)\r#define LDD_CH2 DDRB\r#define LPORT_CH2 PORTB\r#define LPIN_CH3 (1<<PINA5)\r#define LDD_CH3 DDRA\r#define LPORT_CH3 PORTA\r#define LPIN_CH0 (1<<PINA7)\r#define LDD_CH0 DDRA\r#define LPORT_CH0 PORTA\r#define LPIN_CH1 (1<<PINB1)\r#define LDD_CH1 DDRB\r#define LPORT_CH1 PORTB\r
 \r
 #define LED2_ON LPORT_CH2|=LPIN_CH2;\r
-#else\r
+\r
+#endif\r
+\r
+#ifdef JOE_M\r
 #define LED2_ON\r
 #define PIN_CH2 (1<<PINA4)\r
 #define PIN_CH3 (1<<PINA5)\r
-#define PIN_PIOA (1<<PINA6)\r
-#define PIN_PIOB (1<<PINA7)\r
+#define PIN_CH0 (1<<PINA6)\r
+#define PIN_CH1 (1<<PINA7)\r
+#define PIN_PIOA PIN_CH0\r
+#define PIN_PIOB  PIN_CH1\r
+#endif\r
+\r
+#ifdef W1DAQ\r
+#define PIN_CH3 (1<<PINA1)\r
+#define PIN_CH2 (1<<PINA0)\r
+#define PIN_CH1 (1<<PINA7)\r
+#define PIN_CH0 (1<<PINA3)\r
+#define PIN_PIOA PIN_CH0\r
+#define PIN_PIOB  PIN_CH1\r
+//LEDS\r#define LPIN_CH0 (1<<PINB1)\r#define LDD_CH0 DDRB\r#define LPORT_CH0 PORTB\r#define LPIN_CH1 (1<<PINB1)\r#define LDD_CH1 DDRB\r#define LPORT_CH1 PORTB\r#define LPIN_CH2 (1<<PINB1)\r#define LDD_CH2 DDRB\r#define LPORT_CH2 PORTB\r#define LPIN_CH3 (1<<PINB1)\r#define LDD_CH3 DDRB\r#define LPORT_CH3 PORTB\r\r
+#define LED2_ON LPORT_CH2&=~LPIN_CH2;\r
 #endif\r
 \r
 #define TEST_TIMER  ((TIMSK0 & (1<<TOIE0))==0)\r
@@ -117,8 +135,8 @@ volatile uint8_t changefromeeprom;
 \r
 \r
 ISR(PCINT0_vect) {\r
-       if (((PIN_REG&PIN_CH2)==0)&&((istat&PIN_CH2)==PIN_CH2)) {       counters1.c32[2]++;     }\r
-       if (((PIN_REG&PIN_CH3)==0)&&((istat&PIN_CH3)==PIN_CH3)) {       counters1.c32[3]++;     }\r
+       if (((PIN_REG&PIN_CH2)==0)&&((istat&PIN_CH2)==PIN_CH2)) {       counters1.c32[2]++;     LED2_ON}\r
+       if (((PIN_REG&PIN_CH3)==0)&&((istat&PIN_CH3)==PIN_CH3)) {       counters1.c32[3]++;LED2_ON      }\r
        if ((PIN_REG&PIN_PIOA)==0)      pin_state&=~0x1; else pin_state|=0x01;\r
        if ((PIN_REG&PIN_PIOB)==0)      pin_state&=~0x4; else pin_state|=0x04;\r
        //Reset Switch on the FHEM_BOARD\r
@@ -152,6 +170,9 @@ ISR(ANA_COMP_vect) {
                        PORTB&=~(1<<PINB1);\r
                        CLKPR=0x80;\r
                        CLKPR=0;\r
+#ifdef FHEM_PLATINE\r
+                       LPORT_CH1|=LPIN_CH1;\r
+#endif\r
                        GIFR|=(1<<INTF0);\r
                }\r
        }\r
@@ -184,7 +205,7 @@ int main(void){
        PORTA&=~(PIN_CH2|PIN_CH3);\r
        #endif\r
 \r
-       #ifdef FHEM_PLATINE  //LEDs\r
+       #if defined(FHEM_PLATINE) || defined(W1DAQ)  //LEDs\r
        LDD_CH0|=LPIN_CH0;\r     LPORT_CH0&=~LPIN_CH0;\r  LDD_CH1|=LPIN_CH1;\r     LPORT_CH1&=~LPIN_CH1;\r  LDD_CH2|=LPIN_CH2;\r     LPORT_CH2&=~LPIN_CH2;\r  LDD_CH3|=LPIN_CH3;\r     LPORT_CH3&=~LPIN_CH3;\r
        #endif\r
 \r
@@ -237,7 +258,11 @@ int main(void){
 \r
        LPORT_CH0|=LPIN_CH0;\r   _delay_ms(500);\r        LPORT_CH0&=~LPIN_CH0;\r
 #endif\r
+#ifdef W1DAQ\r
+LPORT_CH0&=~LPIN_CH0;\r
+_delay_ms(500);\rLPORT_CH0|=LPIN_CH0;\r#endif\r
        pin_state=0x0F;\r
+       pin_set=0;\r
        sei();\r
        while(1)   {\r
 \r
@@ -260,6 +285,10 @@ int main(void){
 \r
 #ifdef FHEM_PLATINE\r
                if (LPORT_CH2&LPIN_CH2) {\r                      _delay_ms(50);\r                 LPORT_CH2&=~LPIN_CH2;\r          }\r
+               if (LPORT_CH1&LPIN_CH1) {\r                      _delay_ms(50);\r                 LPORT_CH1&=~LPIN_CH1;\r          }\r
+#endif\r
+#ifdef W1DAQ\r
+if ((LPORT_CH2&LPIN_CH2)==0) {\r        _delay_ms(50);\r LPORT_CH2|=LPIN_CH2;\r}\r
 #endif\r
 #ifndef FHEM_PLATINE\r
                if ((PINB&(1<<PORTB0))==0) {  //Jumper gesetzt ->Ruecksetzen\r