Add debug log ring buffer with timestamps, log CLI subcommand

This commit is contained in:
Ian Gulliver
2026-04-07 09:18:43 +09:00
parent ffcbaf0665
commit d215ddc6f2
12 changed files with 128 additions and 9 deletions

View File

@@ -7,12 +7,14 @@
#include "usb_cdc.h"
#include "timer_queue.h"
#include "net.h"
#include "debug_log.h"
static timer_queue timers;
void dispatch_init() {
tusb_init();
net_init();
dlog("dispatch_init complete");
}
void dispatch_schedule_ms(uint32_t ms, std::function<void()> fn) {

View File

@@ -1,6 +1,7 @@
#include "handlers.h"
#include "pico/unique_id.h"
#include "net.h"
#include "debug_log.h"
std::vector<std::vector<uint8_t>> handle_picoboot(uint32_t message_id, std::span<const uint8_t>) {
return {encode_response(message_id, ResponsePICOBOOT{})};
@@ -17,3 +18,10 @@ std::vector<std::vector<uint8_t>> handle_info(uint32_t message_id, std::span<con
resp.firmware_name = firmware_name;
return {encode_response(message_id, resp)};
}
std::vector<std::vector<uint8_t>> handle_log(uint32_t message_id, std::span<const uint8_t>) {
ResponseLog resp;
for (auto& e : dlog_drain())
resp.entries.push_back(LogEntry{e.timestamp_us, std::move(e.message)});
return {encode_response(message_id, resp)};
}