BSDified Makefile.
[kokare.git] / kokare.c
index 5393c8b..f63c642 100644 (file)
--- a/kokare.c
+++ b/kokare.c
@@ -34,24 +34,24 @@ uint8_t dsp[2] = {0, 0};
 char leda = 0;
 char ledc = 0;
 /* Timer */
-char of = 0;
-int oticks = 0;
+volatile char of = 0;
+volatile int oticks = 0;
 unsigned long mnow;
 /* Pulse counter */
-char pstate = 0;
+volatile char pstate = 0;
 char pval = 0;
 /* Switch */
-char sstate = 0;
+volatile char sstate = 0;
 int stime = 0;
 /* Temp sensor */
-char tstate = 0;
-char tlock = 0;
+volatile char tstate = 0;
+volatile char tlock = 0;
 unsigned long tstart;
 unsigned long ttime;
 unsigned long ttimea = 10000;
 char tavgok = 0;
 /* Zero-cross detector*/
-char zok = 0;
+volatile char zok = 0;
 unsigned long ztime;
 /* Triac */
 char trstate = 0;
@@ -320,6 +320,10 @@ int main(void)
            tron = !tron;
            sstate = 0;
        }
+       if(tron)
+           dsp[1] |= SEGP;
+       else
+           dsp[1] &= ~SEGP;
 #endif
 #if 0
        /*
@@ -341,6 +345,8 @@ int main(void)
        } else {
            display(cur);
        }
+       if(PINB & 4)
+           dsp[1] |= SEGP;
 #endif
     }
 }
@@ -374,11 +380,11 @@ ISR(SIG_OVERFLOW1)
 
 ISR(SIG_PIN_CHANGE0)
 {
-    if((sstate == 0) & ((PINB & 4) == 0)) {
+    if((sstate == 0) && !(PINB & 4)) {
        stime = oticks;
        sstate = 1;
     }
-    if((sstate == 1) & ((PINB & 4) == 1)) {
+    if((sstate == 1) && (PINB & 4)) {
        stime = oticks - stime;
        sstate = 2;
     }