From 674fd32349d027320a1baecbbd8f16ffe2260963 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Sat, 6 Jan 2024 14:39:27 -0600 Subject: [PATCH] RP2040 Enter uf2 DFU mode (#3062) * Pico enter dfu mode * Ungaurd pico --- src/modules/AdminModule.cpp | 2 +- src/platform/rp2040/main-rp2040.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/modules/AdminModule.cpp b/src/modules/AdminModule.cpp index e2ec0c699..38799d58d 100644 --- a/src/modules/AdminModule.cpp +++ b/src/modules/AdminModule.cpp @@ -190,7 +190,7 @@ bool AdminModule::handleReceivedProtobuf(const meshtastic_MeshPacket &mp, meshta } case meshtastic_AdminMessage_enter_dfu_mode_request_tag: { LOG_INFO("Client is requesting to enter DFU mode.\n"); -#ifdef ARCH_NRF52 +#if defined(ARCH_NRF52) || defined(ARCH_RP2040) enterDfuMode(); #endif break; diff --git a/src/platform/rp2040/main-rp2040.cpp b/src/platform/rp2040/main-rp2040.cpp index 1d7f8fe70..3359263e9 100644 --- a/src/platform/rp2040/main-rp2040.cpp +++ b/src/platform/rp2040/main-rp2040.cpp @@ -35,4 +35,9 @@ void rp2040Setup() Taken from CPU cycle counter and ROSC oscillator, so should be pretty random. */ randomSeed(rp2040.hwrand32()); +} + +void enterDfuMode() +{ + reset_usb_boot(0, 0); } \ No newline at end of file