From 284f452ff047f6e1f7f55ad244ffb155559ea6a1 Mon Sep 17 00:00:00 2001 From: RocketGod <57732082+RocketGod-git@users.noreply.github.com> Date: Wed, 10 Dec 2025 20:07:24 -0800 Subject: [PATCH] Autodetect external cc1101 GPIO for external antenna support --- dist/proto_pirate.fap | Bin 69256 -> 72060 bytes protopirate_app.c | 17 ++++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/dist/proto_pirate.fap b/dist/proto_pirate.fap index c3d84a2931b6acc9b483099ae60ece222a7978ae..d205f7b178793f3b5a8990342c07672559ee0a7a 100644 GIT binary patch literal 72060 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 WFoog6J2q$%0sU5A`wv9eqv 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 NQRRF`&0Cr7{|Ds>p+^7! delta 31684 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

G5Z*wC+a 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 twF_SUb~h5G7LHXgsv)K-pJsTaoA+`~PT$VJrXu diff --git a/protopirate_app.c b/protopirate_app.c index b384545..55fed4b 100644 --- a/protopirate_app.c +++ b/protopirate_app.c @@ -126,9 +126,20 @@ ProtoPirateApp *protopirate_app_alloc() // Initialize SubGhz devices subghz_devices_init(); - // Use internal radio - app->txrx->radio_device = - radio_device_loader_set(app->txrx->radio_device, SubGhzRadioDeviceTypeInternal); + // Try external CC1101 first, fallback to internal + app->txrx->radio_device = + radio_device_loader_set(NULL, SubGhzRadioDeviceTypeExternalCC1101); + + if(!app->txrx->radio_device) { + FURI_LOG_W(TAG, "External CC1101 not found, using internal CC1101."); + app->txrx->radio_device = + radio_device_loader_set(NULL, SubGhzRadioDeviceTypeInternal); + if(!app->txrx->radio_device) { + FURI_LOG_E(TAG, "Failed to initialize internal CC1101."); + } + } else { + FURI_LOG_I(TAG, "External CC1101 detected and initialized."); + } if (!app->txrx->radio_device) {