X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=int%2Finterface.c;h=ba4446f92d087dd7c88ced1782df3c00ede0782e;hb=e09afe083f9077d63a8bd6c27ed8fa5da60430a8;hp=5c9b500a124766faf4b2e07491df0dbdeaaf84b6;hpb=fb5465ae10e39a9505634e0aaf8e1cab9710f5d7;p=mTask.git diff --git a/int/interface.c b/int/interface.c index 5c9b500..ba4446f 100644 --- a/int/interface.c +++ b/int/interface.c @@ -2,17 +2,16 @@ #include #include #include +#include #include "interface.h" #include "ch.h" #include "hal.h" -//char buf[1024]; - //Globals bool input_available(void) { - return qSizeX(&(&SD3)->iqueue) > 0; + return iqGetFullI(&(&SD3)->iqueue)>0; } uint8_t read_byte(void) @@ -25,22 +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) { - (void)i; - (void)a; + (void) i; + (void) a; } uint8_t read_apin(uint8_t i) @@ -65,6 +73,37 @@ void setup(void) sdStart(&SD3, NULL); } -void test(void) +void debug(char *fmt, ...) +{ + unsigned int i; + write_byte('m'); + for(i = 0; i