not working again.
[mTask.git] / int / interface.c
index e94f11c..ba4446f 100644 (file)
@@ -24,37 +24,31 @@ void write_byte(uint8_t b)
        sdPut(&SD3, b);
 }
 
+uint64_t dpins[] = {LINE_ARD_D0, LINE_ARD_D1, LINE_ARD_D2, LINE_ARD_D3,
+       LINE_ARD_D4, LINE_ARD_D5, LINE_ARD_D6, LINE_ARD_D7, LINE_ARD_D8,
+       LINE_ARD_D9, LINE_ARD_D10, LINE_ARD_D11, LINE_ARD_D12, LINE_ARD_D13,
+       LINE_ARD_D14, LINE_ARD_D15};
 void write_dpin(uint8_t i, bool b)
 {
-       (void) i;
-       (void) b;
+       if(i == 0){ palWriteLine(LINE_LED1, b ? PAL_HIGH : PAL_LOW);
+       } else if(i == 1){ palWriteLine(LINE_LED2, b ? PAL_HIGH : PAL_LOW);
+       } else if(i == 2){ palWriteLine(LINE_LED3, b ? PAL_HIGH : PAL_LOW);
+       }
+       palWriteLine(dpins[i], b ? PAL_HIGH : PAL_LOW);
 }
 
 bool read_dpin(uint8_t i)
 {
-       return 0;
-       (void) i;
+       if(i == 3){
+               return palReadLine(LINE_BUTTON) == PAL_HIGH;
+       }
+       return palReadLine(dpins[i]) == PAL_HIGH;
 }
 
 void write_apin(uint8_t i, uint8_t a)
 {
-       if(a){
-               if(i == 0){
-                       palSetLine(LINE_LED1);
-               } else if(i == 1){
-                       palSetLine(LINE_LED2);
-               } else if(i == 2){
-                       palSetLine(LINE_LED3);
-               }
-       } else {
-               if(i == 0){
-                       palClearLine(LINE_LED1);
-               } else if(i == 1){
-                       palClearLine(LINE_LED2);
-               } else if(i == 2){
-                       palClearLine(LINE_LED3);
-               }
-       }
+       (void) i;
+       (void) a;
 }
 
 uint8_t read_apin(uint8_t i)
@@ -92,6 +86,12 @@ void debug(char *fmt, ...)
        (void)fmt;
 }
 
+void debugi(int i)
+{
+       char m[10];
+       debug(itoa(i, m, 10));
+}
+
 void pdie(char *s)
 {
        (void)s;
@@ -99,5 +99,11 @@ void pdie(char *s)
 
 void die(char *fmt, ...)
 {
+       palWriteLine(LINE_LED1, PAL_HIGH);
+       palWriteLine(LINE_LED2, PAL_HIGH);
+       palWriteLine(LINE_LED3, PAL_HIGH);
+       while(1){
+               delay(100);
+       }
        (void)fmt;
 }