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
95 // sdStart(&SD6, NULL);
98 // sdPut(&SD3, sdGet(&SD6));
103 void debug(char *fmt
, ...)
113 void die(char *fmt
, ...)
115 palWriteLine(LINE_LED1
, PAL_HIGH
);
116 palWriteLine(LINE_LED2
, PAL_HIGH
);
117 palWriteLine(LINE_LED3
, PAL_HIGH
);