summaryrefslogtreecommitdiffhomepage
path: root/src/rv64/rv64-uart.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rv64/rv64-uart.c')
-rw-r--r--src/rv64/rv64-uart.c52
1 files changed, 22 insertions, 30 deletions
diff --git a/src/rv64/rv64-uart.c b/src/rv64/rv64-uart.c
index 0bc6517..a859add 100644
--- a/src/rv64/rv64-uart.c
+++ b/src/rv64/rv64-uart.c
@@ -1,6 +1,6 @@
/* -------------------------------------------
- Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved.
+ Copyright (C) 2024, Amlal EL Mahrouss, all rights reserved.
------------------------------------------- */
@@ -11,51 +11,43 @@
/* this file handles the UART */
-static uint8_t* cb_uart_ptr = (uint8_t*)CB_UART_BASE;
+static uint8_t* cb_uart_ptr = (uint8_t*) CB_UART_BASE;
-utf_char_t cb_get_char(void)
-{
- uintptr_t ptr = CB_UART_BASE;
+utf_char_t cb_get_char(void) {
+ uintptr_t ptr = CB_UART_BASE;
- while (!(*(((volatile uint8_t*)ptr) + 0x05) & 0x01))
- ;
+ while (!(*(((volatile uint8_t*) ptr) + 0x05) & 0x01));
- return (utf_char_t)*cb_uart_ptr;
+ return (utf_char_t) *cb_uart_ptr;
}
// we need that one, to avoid sending mutliple chars to UART.
static boolean cb_locked_put_char = no;
-void cb_put_char(utf_char_t ch)
-{
- int32_t timeout = 0;
+void cb_put_char(utf_char_t ch) {
+ int32_t timeout = 0;
- while (cb_locked_put_char)
- {
- ++timeout;
+ while (cb_locked_put_char) {
+ ++timeout;
- if (timeout > 1000000)
- break;
- }
+ if (timeout > 1000000) break;
+ }
- cb_locked_put_char = yes;
- *cb_uart_ptr = ch;
- cb_locked_put_char = no;
+ cb_locked_put_char = yes;
+ *cb_uart_ptr = ch;
+ cb_locked_put_char = no;
}
/// @brief UART put string
/// @param text the input text.
-size_t cb_put_string(const char* text)
-{
- if (text == nil)
- return 0;
+size_t cb_put_string(const char* text) {
+ if (text == nil) return 0;
- size_t i = 0;
+ size_t i = 0;
- for (; i < strlen(text); i++)
- {
- cb_put_char(text[i]);
- }
+ for (; i < strlen(text); i++) {
+ cb_put_char(text[i]);
+ }
- return i;
+ return i;
}