UHSDR/README.md

121 lines
4.8 KiB
Markdown
Raw Normal View History

2026-06-26 15:19:11 +02:00
# 📻 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
2026-06-26 15:20:20 +02:00
```
2026-06-26 15:19:11 +02:00
2⃣ Compiler le firmware
Dans le répertoire mchf-eclipse :
bash
Copier
2026-06-26 15:20:20 +02:00
```bash
2026-06-26 15:19:11 +02:00
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)
2026-06-26 15:20:20 +02:00
```
2026-06-26 15:19:11 +02:00
✅ 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)
2022-11-08 16:13:55 +01:00
<img src="http://xavier.debert.free.fr/MCHF/1629722823447.jpg" width="20%" border="0">
2026-06-26 15:19:11 +02:00
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.
<img src="http://xavier.debert.free.fr/MCHF/1631858346843.jpg" width="20%" border="0">
Lancer un CQ Contest :
Appuyez sur F3 pour afficher le menu CQ Contest.
2022-11-08 16:13:55 +01:00
<img src="http://xavier.debert.free.fr/MCHF/1631858047458.jpg" width="20%" border="0">
2026-06-26 15:19:11 +02:00
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.
2022-11-08 16:13:55 +01:00
<img src="http://xavier.debert.free.fr/MCHF/1631858047460.jpg" width="20%" border="0">
[![Watch the video](http://xavier.debert.free.fr/MCHF/uhsdr-logo.png)](https://youtu.be/2OXR09mxWS4)
2026-06-26 15:19:11 +02:00
---