#include "handlers.h" #include "pico/unique_id.h" #include "net.h" #include "debug_log.h" std::vector> handle_picoboot(uint32_t message_id, std::span) { return {encode_response(message_id, ResponsePICOBOOT{})}; } std::vector> handle_info(uint32_t message_id, std::span) { ResponseInfo resp; pico_unique_board_id_t uid; pico_get_unique_board_id(&uid); std::copy(uid.id, uid.id + 8, resp.board_id.begin()); auto& ns = net_get_state(); resp.mac = ns.mac; resp.ip = ns.ip; resp.firmware_name = firmware_name; return {encode_response(message_id, resp)}; } std::vector> handle_log(uint32_t message_id, std::span) { 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)}; }