X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=int%2Finterface.c;h=810694526ade5023cf51e8f6b90eb0c5a2f557f1;hb=f90517d738696125a067f113edf93f404873115b;hp=e94f11c1337721a0571f12e97ee065271ac5beb0;hpb=64f379e7446a716257f6030157f2cb254200aa7b;p=mTask.git diff --git a/int/interface.c b/int/interface.c index e94f11c..8106945 100644 --- a/int/interface.c +++ b/int/interface.c @@ -16,7 +16,7 @@ bool input_available(void) uint8_t read_byte(void) { - return sdGet(&SD3); + return (uint8_t)sdGet(&SD3); } void write_byte(uint8_t b) @@ -24,37 +24,27 @@ 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; + 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) @@ -63,6 +53,28 @@ uint8_t read_apin(uint8_t i) (void) i; } +void led_on(uint8_t i) +{ + if(i == 0){ + palWriteLine(LINE_LED1, PAL_HIGH); + } else if(i == 1){ + palWriteLine(LINE_LED2, PAL_HIGH); + } else if(i == 2){ + palWriteLine(LINE_LED3, PAL_HIGH); + } +} + +void led_off(uint8_t i) +{ + if(i == 0){ + palWriteLine(LINE_LED1, PAL_LOW); + } else if(i == 1){ + palWriteLine(LINE_LED2, PAL_LOW); + } else if(i == 2){ + palWriteLine(LINE_LED3, PAL_LOW); + } +} + long millis(void){ return ST2MS(chVTGetSystemTime()); } @@ -81,14 +93,12 @@ void setup(void) void debug(char *fmt, ...) { - unsigned int i; - write_byte('m'); - for(i = 0; i