12 bool input_available(void)
14 //return iqGetFullI(&(&SD6)->iqueue)>0;
15 return iqGetFullI(&(&SD3
)->iqueue
)>0;
18 uint8_t read_byte(void)
20 return (uint8_t)sdGet(&SD3
);
21 //return (uint8_t)sdGet(&SD6);
24 void write_byte(uint8_t b
)
30 uint64_t dpins
[] = {LINE_ARD_D0
, LINE_ARD_D1
, LINE_ARD_D2
, LINE_ARD_D3
,
31 LINE_ARD_D4
, LINE_ARD_D5
, LINE_ARD_D6
, LINE_ARD_D7
, LINE_ARD_D8
,
32 LINE_ARD_D9
, LINE_ARD_D10
, LINE_ARD_D11
, LINE_ARD_D12
, LINE_ARD_D13
,
33 LINE_ARD_D14
, LINE_ARD_D15
};
35 void write_dpin(uint8_t i
, bool b
)
37 palWriteLine(dpins
[i
], b
? PAL_HIGH
: PAL_LOW
);
40 bool read_dpin(uint8_t i
)
42 debug("readpin: %d", i
);
43 return palReadLine(dpins
[i
]) == PAL_HIGH
;
46 void write_apin(uint8_t i
, uint8_t a
)
52 uint8_t read_apin(uint8_t i
)
58 void led_on(uint8_t i
)
61 palWriteLine(LINE_LED1
, PAL_HIGH
);
63 palWriteLine(LINE_LED2
, PAL_HIGH
);
65 palWriteLine(LINE_LED3
, PAL_HIGH
);
69 void led_off(uint8_t i
)
72 palWriteLine(LINE_LED1
, PAL_LOW
);
74 palWriteLine(LINE_LED2
, PAL_LOW
);
76 palWriteLine(LINE_LED3
, PAL_LOW
);
80 unsigned long getmillis(void){
81 return ST2MS(chVTGetSystemTime());
84 void msdelay(unsigned long ms
)
86 chThdSleepMilliseconds(ms
);
91 // palSetPadMode(GPIOG, 9, PAL_MODE_ALTERNATE(8)); // USART6 TX
92 // palSetPadMode(GPIOG, 14, PAL_MODE_ALTERNATE(8)); // USART6 RX
99 void debug(char *fmt
, ...)
102 for(unsigned int i
= 0; i
<strlen(fmt
); i
++){
114 void die(char *fmt
, ...)
116 palWriteLine(LINE_LED1
, PAL_HIGH
);
117 palWriteLine(LINE_LED2
, PAL_HIGH
);
118 palWriteLine(LINE_LED3
, PAL_HIGH
);