#include "handlers.h" #include "pico/stdlib.h" #include "pico/bootrom.h" #include "pico/unique_id.h" #include "w6300.h" void handle_picoboot(usb_cdc& usb, uint32_t message_id) { usb.send(encode_response(message_id, ResponsePICOBOOT{})); sleep_ms(100); reset_usb_boot(0, 1); } void handle_info(usb_cdc& usb, uint32_t message_id) { 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 ninfo = w6300::get_net_info(); resp.mac = ninfo.mac; resp.link_local = ninfo.lla; resp.firmware_name = firmware_name; usb.send(encode_response(message_id, resp)); }