Beispiel #1
0
void pok_fatal (const char* message)
{
  pok_write ("FATAL ERROR: \n", 13);
  pok_write (message , debug_strlen(message));

  POK_DEBUG_PRINT_CURRENT_STATE
  pok_arch_idle ();
}
Beispiel #2
0
void debug_printf(const char* fmt, ...)
{
	va_list list;
	int i;
	const char* str;

	if (!uart_isInit())
		return;

	va_start(list, fmt);

	for (const char* ptr = fmt; *ptr != '\0'; ptr++)
	{
		if (*ptr != '%')
		{
			uart_send(ptr, 1);
		}
		else
		{
			ptr++;
			switch (*ptr)
			{
				case 0:
					return;
				case 'i':
					i = va_arg(list, int);
					itoa(i, strBuf, 10);
					uart_send(strBuf, debug_strlen(strBuf));
					break;
				case 'x':
					i = va_arg(list, int);
					itoa(i, strBuf, 16);
					uart_send(strBuf, debug_strlen(strBuf));
					break;
				case 's':
					str = va_arg(list, const char*);
					uart_send(str, debug_strlen(str));
					break;
			}
		}
	}

	va_end(list);
}