CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
Console.cpp
Go to the documentation of this file.
1
5
7#include "cdc_log.h"
8#include <cstdio>
9#include <cstring>
10
11namespace cdc::serial {
12
13static bool s_initialized = false;
14
20 if (s_initialized) return;
21 // cdc_log console_init() is called by log_init()
22 s_initialized = true;
23}
24
30void Console::printf(const char* format, ...) {
31 va_list args;
32 va_start(args, format);
33 vprintf(format, args);
34 va_end(args);
35}
36
43void Console::vprintf(const char* format, va_list args) {
44 char buffer[256];
45 int len = vsnprintf(buffer, sizeof(buffer), format, args);
46 if (len > 0) {
47 print(buffer);
48 }
49}
50
56void Console::print(const char* str) {
57 if (!str) return;
58 console_print(str);
59}
60
66void Console::putchar(char c) {
68}
69
75 return console_getchar();
76}
77
84}
85
91 return console_available();
92}
93
99 print("> ");
100 flush();
101}
102
103} // namespace cdc::serial
CDC Log: logging over TinyUSB CDC and UART.
int console_getchar(void)
Reads one character from available console input source.
Definition cdc_log.cpp:282
bool console_available(void)
Returns whether any console input source has pending data.
Definition cdc_log.cpp:261
void console_print(const char *str)
Writes string to active console outputs.
Definition cdc_log.cpp:312
void console_flush(void)
Flushes buffered console output transports.
Definition cdc_log.cpp:393
void console_putchar(char c)
Writes single character to active console outputs.
Definition cdc_log.cpp:373
static void print(const char *str)
Prints raw string to console.
Definition Console.cpp:56
static void showPrompt()
Prints standard shell prompt.
Definition Console.cpp:98
static void static void vprintf(const char *format, va_list args)
Prints formatted text with explicit varargs list.
Definition Console.cpp:43
static void flush()
Flushes pending console output.
Definition Console.cpp:82
static void printf(const char *format,...) __attribute__((format(printf
Prints formatted text to console.
Definition Console.cpp:30
static bool available()
Checks whether console input is available.
Definition Console.cpp:90
static void putchar(char c)
Writes a single character to console.
Definition Console.cpp:66
static int getchar()
Reads one character from console input.
Definition Console.cpp:74
static void init()
Initializes console wrapper state.
Definition Console.cpp:19
static bool s_initialized
Definition Console.cpp:13