#include <stdint.h>
#include <stdlib.h>
#include <string.h>
+#include <stdarg.h>
#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)
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)
sdStart(&SD3, NULL);
}
-void test(void)
+void debug(char *fmt, ...)
+{
+ unsigned int i;
+ write_byte('m');
+ for(i = 0; i<strlen(fmt); i++){
+ write_byte((uint8_t)fmt[i]);
+ }
+ write_byte('\n');
+#ifdef DEBUG
+#endif
+ (void)fmt;
+}
+
+void pdie(char *s)
+{
+ (void)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;
}