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
};
34 void write_dpin(uint8_t i
, bool b
)
36 palWriteLine(dpins
[i
], b
? PAL_HIGH
: PAL_LOW
);
39 bool read_dpin(uint8_t i
)
41 return palReadLine(dpins
[i
]) == PAL_HIGH
;
44 void write_apin(uint8_t i
, uint8_t a
)
50 uint8_t read_apin(uint8_t i
)
56 void led_on(uint8_t i
)
59 palWriteLine(LINE_LED1
, PAL_HIGH
);
61 palWriteLine(LINE_LED2
, PAL_HIGH
);
63 palWriteLine(LINE_LED3
, PAL_HIGH
);
67 void led_off(uint8_t i
)
70 palWriteLine(LINE_LED1
, PAL_LOW
);
72 palWriteLine(LINE_LED2
, PAL_LOW
);
74 palWriteLine(LINE_LED3
, PAL_LOW
);
79 return ST2MS(chVTGetSystemTime());
84 chThdSleepMilliseconds(ms
);
89 // palSetPadMode(GPIOG, 9, PAL_MODE_ALTERNATE(8)); // USART6 TX
90 // palSetPadMode(GPIOG, 14, PAL_MODE_ALTERNATE(8)); // USART6 RX
97 void debug(char *fmt
, ...)
100 for(unsigned int i
= 0; i
<strlen(fmt
); i
++){
112 void die(char *fmt
, ...)
114 palWriteLine(LINE_LED1
, PAL_HIGH
);
115 palWriteLine(LINE_LED2
, PAL_HIGH
);
116 palWriteLine(LINE_LED3
, PAL_HIGH
);