summaryrefslogtreecommitdiffhomepage
path: root/dev/DDK/KernelPrint.c
blob: 7eb893d06979f21ce5b3bffb40e87d1a5435ff13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* -------------------------------------------

	Copyright ZKA Technologies.

	Purpose: DDK Text I/O.

------------------------------------------- */

#include <DDK/KernelPrint.h>

DK_EXTERN void KernelPrintChar(const char ch)
{
	char assembled[2] = {0};
	assembled[0]	  = ch;
	assembled[1]	  = 0;

	KernelCall("WriteCharacter", 1, assembled, 1);
}

/// @brief print string to UART.
/// @param message UART to transmit.
DK_EXTERN void KernelPrintStr(const char* message)
{
	if (!message)
		return;
	if (*message == 0)
		return;

	size_t index = 0;
	size_t len	 = KernelStringLength(message);

	while (index < len)
	{
		KernelPrintChar(message[index]);
		++index;
	}
}