# 📻 UHSDR ## 📌 Description **UHSDR** (*Universal Ham Software Defined Radio*) est un firmware open-source pour les **transceivers radioamateurs autonomes**. Il supporte les microcontrôleurs **STM32F4 et STM32F7**, et propose : - Modes analogiques : **SSB, AM, FM, AM synchrone**. - Modes numériques : **FreeDV, RTTY, CW** (avec manipulateur Iambic/Ultimatic). - Interface **CAT et audio via USB**. - **Bootloader** pour les mises à jour via USB ou clé USB. > 💡 **Origine** : Basé sur le projet [mcHF](http://www.m0nka.co.uk/) de Chris (M0NKA) et Clint (KA7OEI), sous licence **GPLv3** depuis février 2017. M0NKA Chris, KA7OEI Clint, DF8OE Andreas, DB4PLE Danilo, DD4WH Frank, DL2FW Michael et SP9BSL Slawek --- --- ## 📦 Version 2.12.2m10 *Dernières améliorations par **Yuri** et **Xavier (Xav)**.* ### ✨ Nouveautés Version | Auteur | Modifications | |---------------|---------|----------------------------------------------------------------------------------------------------| | **2.12.2m10** | Yuri | Script `arm_non_eabi.sh` pour **installation automatique** sur les noyaux Linux **5.X** (mini). | | **2.12.2m9** | - | Corrections de compilation (GCC 10.X → 9.X). | | **2.12.2m8** | Xav | **Ajout du mode CQ Contest** (voir [section dédiée](#-cq-contest-mod)). | | **2.12.2m7** | Xav | **Nouvel écran de boot** au démarrage. | --- ## 🛠 Prérequis | Outil/Dépendance | Version | Description | |------------------------|---------------|-----------------------------------------------------------------------------| | **Git** | - | Pour cloner le dépôt. | | **GCC** | **9.X** | ⚠️ **Version 10.X non compatible** (problèmes de compilation). | | **Make** | - | Pour compiler le projet. | | **ARM Toolchain** | `arm-none-eabi-gcc` | Outil de compilation pour STM32. | --- ## 🚀 Installation ### 1️⃣ Récupérer le projet ```bash git clone http://fra1od.freeboxos.fr:3000/magnum88/UHSDR cd UHSDR ``` 2️⃣ Compiler le firmware Dans le répertoire mchf-eclipse : bash Copier ```bash make clean # Nettoie les anciennes compilations make all # Génère les fichiers .dfu, .bin et .elf make bootloader # Compile le bootloader (ex: v5.04) ``` ✅ Résultat : Les firmwares seront générés dans les formats : .dfu (pour mise à jour via USB) .bin (fichier binaire) .elf (pour débogage) ⚙️ Configuration Personnaliser la compilation Modifiez le fichier uhsdr_board_config.h pour adapter le firmware à votre matériel : Option Action Radio spécifique Décommentez #define R928_PLUS pour activer le support du RS928+. Mémoire limitée Décommentez #define IS_SMALL_BUILD pour les premiers 512 Ko (ex: mcHF v1). Style d'affichage Choisissez un thème : #define GREY_STYLE ou #define SEPIA_STYLE. 🔧 Corrections appliquées Problème GCC 10.X : La version 9.X est recommandée (moins stricte sur les en-têtes C/C++). Solution : Utilisez le script arm_non_eabi.sh pour une installation automatique. Erreurs de compilation : Dans uhsdr_board.h (lignes 246-248) : Remplacez var par static pour bw_data, mem_data et xvtr_data (évite les conflits de définition multiple). Dans freedv/c2wideband.c : Remplacez abs par fabs (2 occurrences) pour une meilleure précision. 🎯 CQ Contest Mod (depuis 2.12.2m8) Nouvelle fonctionnalité pour gérer les concours radioamateurs directement depuis l'interface. 📱 Menu et utilisation Activer le mode Contest : Allez dans MENU → DEBUG. Sélectionnez CONTEST: Yes (ou No pour désactiver). Couleur de sélection : Rouge par défaut. Lancer un CQ Contest : Appuyez sur F3 pour afficher le menu CQ Contest. Gestion des QSO : Mem : Sauvegarde un QSO terminé. Try : Sauvegarde un QSO en cours (à finaliser plus tard). Basculer entre Mem/Try : Appuyez sur F3 pour passer de l'un à l'autre. Exemple quand le QSO est fini. [![Watch the video](http://xavier.debert.free.fr/MCHF/uhsdr-logo.png)](https://youtu.be/2OXR09mxWS4) ---