// (c) 2020 Aaron Taylor <ataylor at subgeniuskitty dot com>
// See License.txt file for copyright and license details.
while(!(GET(CONSXCSR
,SLUXCSR_XMTRDY
))) continue;
while(!(GET(CONSRCSR
,SLURCSR_RCVRDY
))) continue;
* Helper functions for use with console IO
print_string(const char * string
)
while (*string
!= '\0') {
digit_to_ascii(uint16_t digit
)
print_string("ERROR: Out of range in digit_to_ascii()\r\n");
// TODO: How do I want to handle runtime errors?
print_uint16_in_octal(uint16_t number
)
char output
[7]; // +6 for digits; +1 for null-term
for (int i
= 5; i
>= 0; i
--) {
output
[i
] = digit_to_ascii(number
% 8);
printf(const char * format
, ...)
char * s
= va_arg(ap
, char *);
uint16_t u
= va_arg(ap
, unsigned int);
print_uint16_in_octal(u
);
/* Put it back and look innocent. */
/* Maybe this escape wasn't meant for us. */