aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2017-04-15 16:35:41 -0400
committerRob Austein <sra@hactrn.net>2017-04-15 16:35:41 -0400
commitd0b87b7cc01270b3ed8a1e20a64482e1446f416b (patch)
tree289b5bba6f23194df5fa4593bb3b23434816ec23
parent108b532b9ae4c9138ad1a25e9ef437183711a05b (diff)
Logging implementation for Alpha hardware.
-rw-r--r--projects/hsm/hsm.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/projects/hsm/hsm.c b/projects/hsm/hsm.c
index 60e35fc..5e9d06e 100644
--- a/projects/hsm/hsm.c
+++ b/projects/hsm/hsm.c
@@ -257,6 +257,31 @@ void hal_critical_section_end(void)
}
#endif
+/* Logging */
+
+static hal_log_level_t current_log_level;
+
+void hal_log_set_level(const hal_log_level_t level)
+{
+ current_log_level = level;
+}
+
+void hal_log(const hal_log_level_t level, const char *format, ...)
+{
+ if (level < current_log_level)
+ return;
+
+ char buffer[2048];
+ va_list ap;
+
+ va_start(ap, format);
+ vsnprintf(buffer, sizeof(buffer), format, ap);
+ va_end(ap);
+
+ uart_send_string2(STM_UART_MGMT, buffer);
+ uart_send_string2(STM_UART_MGMT, "\r\n");
+}
+
/* The main thread. This does all the setup, and the worker threads handle
* the rest.
*/