Compare commits
No commits in common. "2_12_2m10" and "2_12_2m9t" have entirely different histories.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
FW/928/fw-mchf.bin
Normal file → Executable file
BIN
FW/928/fw-mchf.bin
Normal file → Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
194
README.md
194
README.md
|
|
@ -1,118 +1,82 @@
|
|||
# 📻 UHSDR
|
||||
<b>Ver: 2.12.2m9t Cq Contest Mod by Xav</b>
|
||||
<br/><br/>
|
||||
New screen boot on
|
||||
<br>
|
||||
<img src="http://xavier.debert.free.fr/MCHF/1629722823447.jpg" width="20%" border="0">
|
||||
In MENU select DEBUG
|
||||
<br>
|
||||
In end list have 2 new line CONTEST Yes or No for activation
|
||||
<br>
|
||||
And color for selection ex:Red
|
||||
<br>
|
||||
<img src="http://xavier.debert.free.fr/MCHF/1631858346843.jpg" width="20%" border="0">
|
||||
<br>
|
||||
For Have the new menu if Mod is actived, Switch push F3 for have CQ Contest
|
||||
<br>
|
||||
<img src="http://xavier.debert.free.fr/MCHF/1631858047458.jpg" width="20%" border="0">
|
||||
<br>
|
||||
The Mem saving a finish QSO
|
||||
<br>
|
||||
The Try saving a QSO no make for try later
|
||||
<br>
|
||||
The Cq switch list Mem or Try for switch one by one push same F3
|
||||
<br>
|
||||
Ex finish QSO
|
||||
<br>
|
||||
<img src="http://xavier.debert.free.fr/MCHF/1631858047460.jpg" width="20%" border="0">
|
||||
<br>
|
||||
<br>
|
||||
Video in English
|
||||
<br>
|
||||
|
||||
## 📌 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
|
||||
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)
|
||||
<br><img src="http://xavier.debert.free.fr/MCHF/1629722823447.jpg" width="20%" border="0"><br>
|
||||
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.
|
||||
<br><img src="http://xavier.debert.free.fr/MCHF/1631858346843.jpg" width="20%" border="0"><br>
|
||||
Lancer un CQ Contest :
|
||||
|
||||
Appuyez sur F3 pour afficher le menu CQ Contest.
|
||||
<br><img src="http://xavier.debert.free.fr/MCHF/1631858047458.jpg" width="20%" border="0"><br>
|
||||
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.
|
||||
<br><img src="http://xavier.debert.free.fr/MCHF/1631858047460.jpg" width="20%" border="0"><br>
|
||||
|
||||
<br>Vidéo<br>
|
||||
[](https://youtu.be/2OXR09mxWS4)
|
||||
|
||||
---
|
||||
<br>
|
||||
<br>
|
||||
<div align="center"><h1><b>The UHSDR Project</b></h1></div>
|
||||
|
||||
UHSDR stands for **U**niversal**H**am**S**oftware**D**efined**R**adio.
|
||||
The project provides the firmware to run standalone HAM transceivers.
|
||||
It currently supports STM32F4 and STM32F7 MCU based QSD designs. The
|
||||
current firmware provides receive and transmit for various analog modes
|
||||
(SSB,AM, FM) including modes like Synchronous AM, plus digital modes
|
||||
like FreeDV, RTTY and of course CW (including Iambic/Ultimatic keyer).
|
||||
An USB CAT and audio interface is part of the firmware as well. The
|
||||
bootloader, which is another part of the project, permits to update the
|
||||
firmware and bootloader using various means like USB disk or USB cable.
|
||||
|
||||
The base of the firmware was started by Chris, M0NKA, and Clint, KA7OEI
|
||||
as part of the [mcHF](http://www.m0nka.co.uk/) project. In February 2017
|
||||
both agreed to change firmware license to GPLv3. Because of this the mcHF
|
||||
firmware has been extended in this project with new functionality
|
||||
and also with support for use on different transceiver hardware. For
|
||||
clarifying different license models on mcHF hardware and mcHF firmware the
|
||||
name of the firmware changed to UHSDR.
|
||||
|
||||
The intent of this project is to give full support for mcHF [(and all
|
||||
other known and listed hardware platforms)](https://github.com/df8oe/UHSDR/wiki/Supported-Hardware) as long as there are
|
||||
contributors willing to support the given hardware.
|
||||
|
||||
So this is the best place to start with up-2-date developed firmware and
|
||||
bootloader for mcHF.
|
||||
|
||||
Binaries of actual development are available as "bleeding edge builds".
|
||||
Since 08-19-2017 all binaries which are populated are archived and can
|
||||
accessed at GitHub startup page (see link a few lines down).
|
||||
|
||||
If you want to see the recent progress of the project, have a look [at
|
||||
the commits here](https://github.com/df8oe/mchf-github/commits/active-devel).
|
||||
|
||||
You can find descriptions of menus and operating hints at [our WIKI](https://github.com/df8oe/UHSDR/wiki/)
|
||||
All this is bundled in [startup page](https://df8oe.github.io/UHSDR/).
|
||||
|
||||
Have fun - Open-Source opens possibilities!
|
||||
|
||||
M0NKA, Chris<br/>
|
||||
KA7OEI, Clint<br/>
|
||||
DF8OE, Andreas<br/>
|
||||
DB4PLE, Danilo<br/>
|
||||
DD4WH, Frank<br/>
|
||||
DL2FW, Michael<br/>
|
||||
SP9BSL, Slawek<br/>
|
||||
and the complete UHSDR community
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
Introduction
|
||||
|
||||
This directory contains SW4STM32 and CubeIDE compatible project that allows easy import to any
|
||||
of those tools
|
||||
|
||||
Import into SW4STM32 IDE
|
||||
|
||||
- In the File menu, select 'Import...'
|
||||
- Choose 'Existing Projects into Workspace' and click Next
|
||||
- Select root directory: "root\SW4STM32\mchf-uhsdr", do not tick any of the options
|
||||
- Click Finish
|
||||
|
||||
Import into STM32CubeIDE
|
||||
|
||||
- In the File menu, select 'Import...'
|
||||
- Chose 'Import ac6 System Workbench for STM32 Project' and click Next
|
||||
- Select root directory: "root\SW4STM32\mchf-uhsdr", 'Detect and configure project natures' selected
|
||||
- Click Finish
|
||||
|
||||
Troubleshooting
|
||||
|
||||
- Fix for functions with wrong inline definition - use optimization (O1 at least), more info:
|
||||
https://stackoverflow.com/questions/41218006/gcc-fails-to-inline-functions-without-o2
|
||||
|
||||
For any problems compiling under windows please open an issue report on the project GitHub page.
|
||||
|
||||
Thank you!
|
||||
|
||||
Krassi Atanassov, M0NKA
|
||||
|
||||
|
|
@ -1,145 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
|
||||
<storageModule moduleId="org.eclipse.cdt.core.settings">
|
||||
<cconfiguration id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.405185049">
|
||||
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.405185049" moduleId="org.eclipse.cdt.core.settings" name="Debug">
|
||||
<externalSettings/>
|
||||
<extensions>
|
||||
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
|
||||
</extensions>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<configuration artifactExtension="elf" artifactName="mchf-uhsdr" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.405185049" name="Debug" parent="fr.ac6.managedbuild.config.gnu.cross.exe.debug" postannouncebuildStep="Generating binary and Printing size information:" postbuildStep="arm-none-eabi-objcopy -O binary "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.bin" && arm-none-eabi-size "${BuildArtifactFileName}"">
|
||||
<folderInfo id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.405185049." name="/" resourcePath="">
|
||||
<toolChain id="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug.34469134" name="Ac6 STM32 MCU GCC" nonInternalBuilderId="fr.ac6.managedbuild.builder.gnu.cross" superClass="fr.ac6.managedbuild.toolchain.gnu.cross.exe.debug">
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.prefix.1763705716" name="Prefix" superClass="fr.ac6.managedbuild.option.gnu.cross.prefix" useByScannerDiscovery="false" value="arm-none-eabi-" valueType="string"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.mcu.1652299346" name="Mcu" superClass="fr.ac6.managedbuild.option.gnu.cross.mcu" useByScannerDiscovery="false" value="STM32F407VGTx" valueType="string"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.board.1426161387" name="Board" superClass="fr.ac6.managedbuild.option.gnu.cross.board" useByScannerDiscovery="false" value="STM32F4DISCOVERY" valueType="string"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.instructionSet.1452405993" name="Instruction Set" superClass="fr.ac6.managedbuild.option.gnu.cross.instructionSet" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.instructionSet.thumbII" valueType="enumerated"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.fpu.61061369" name="Floating point hardware" superClass="fr.ac6.managedbuild.option.gnu.cross.fpu" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.fpu.fpv4-sp-d16" valueType="enumerated"/>
|
||||
<option id="fr.ac6.managedbuild.option.gnu.cross.floatabi.601593623" name="Floating-point ABI" superClass="fr.ac6.managedbuild.option.gnu.cross.floatabi" useByScannerDiscovery="false" value="fr.ac6.managedbuild.option.gnu.cross.floatabi.hard" valueType="enumerated"/>
|
||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="fr.ac6.managedbuild.targetPlatform.gnu.cross.2033800313" isAbstract="false" osList="all" superClass="fr.ac6.managedbuild.targetPlatform.gnu.cross"/>
|
||||
<builder buildPath="${workspace_loc:/mchf-uhsdr}/Debug" id="fr.ac6.managedbuild.builder.gnu.cross.793754731" keepEnvironmentInBuildfile="false" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="fr.ac6.managedbuild.builder.gnu.cross"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.772390096" name="MCU GCC Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler">
|
||||
<option defaultValue="gnu.c.optimization.level.none" id="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level.777403713" name="Optimization Level" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" value="fr.ac6.managedbuild.gnu.c.optimization.level.more" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.debugging.level.132502211" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.include.paths.282795374" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Drivers/CMSIS/Device/ST/STM32F4xx/Include"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Drivers/STM32F4xx_HAL_Driver/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Drivers/CMSIS/Include"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Middlewares/ST/STM32_USB_Device_Library/Core/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Middlewares/ST/STM32_USB_Host_Library/Core/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Middlewares/Third_Party/FatFs/src"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Middlewares/Third_Party/FatFs/src/drivers"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/basesw/mcHF/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/hardware"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/hardware/board_configs"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/freedv"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/audio"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/ui/oscillator"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/ui"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/misc/v_eprom"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/ui/lcd"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/ui/encoder"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/audio/codec"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/audio/softdds"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/misc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/audio/cw"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/ui/menu"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/cat"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/audio/filters"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/src"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/src/bootloader"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/diag"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/usb/device/class/composite"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/usb/device/class/AUDIO/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/usb/device/class/CDC/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/usb/host/class/HID/Inc"/>
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/drivers/usb/app"/>
|
||||
</option>
|
||||
<option id="gnu.c.compiler.option.preprocessor.def.symbols.90444414" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols">
|
||||
<listOptionValue builtIn="false" value="USE_HAL_DRIVER"/>
|
||||
<listOptionValue builtIn="false" value="ARM_MATH_CM4"/>
|
||||
<listOptionValue builtIn="false" value="_GNU_SOURCE"/>
|
||||
<listOptionValue builtIn="false" value="CORTEX_M4"/>
|
||||
<listOptionValue builtIn="false" value="STM32F407xx"/>
|
||||
<listOptionValue builtIn="false" value="USE_FULL_ASSERT"/>
|
||||
<listOptionValue builtIn="false" value="__FPU_PRESENT=1U"/>
|
||||
<listOptionValue builtIn="false" value="UI_BRD_MCHF"/>
|
||||
<listOptionValue builtIn="false" value="RF_BRD_MCHF"/>
|
||||
<listOptionValue builtIn="false" value="FDV_ARM_MATH"/>
|
||||
</option>
|
||||
<option id="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other.858840287" name="Other flags" superClass="fr.ac6.managedbuild.gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-fmessage-length=0 -Wno-unused-variable -Wno-pointer-sign -Wno-main -Wno-format -Wno-address -Wno-unused-but-set-variable -Wno-strict-aliasing -Wno-parentheses -Wno-missing-braces" valueType="string"/>
|
||||
<option id="gnu.c.compiler.option.dialect.std.1769012353" name="Language standard" superClass="gnu.c.compiler.option.dialect.std" useByScannerDiscovery="true" value="gnu.c.compiler.dialect.default" valueType="enumerated"/>
|
||||
<option id="gnu.c.compiler.option.dialect.flags.483673750" name="Other dialect flags" superClass="gnu.c.compiler.option.dialect.flags" useByScannerDiscovery="true" value="" valueType="string"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.651324835" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1372381792"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.651324835" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s.1372381792" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.s"/>
|
||||
</tool>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler.880310674" name="MCU G++ Compiler" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.compiler">
|
||||
<option id="gnu.cpp.compiler.option.optimization.level.970004053" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
|
||||
<option id="gnu.cpp.compiler.option.debugging.level.1410256587" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
|
||||
</tool>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.1188646484" name="MCU GCC Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker">
|
||||
<option id="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script.1516209896" name="Linker Script (-T)" superClass="fr.ac6.managedbuild.tool.gnu.cross.c.linker.script" useByScannerDiscovery="false" value="../../../mchf-eclipse/linker/arm-gcc-link_f4_flash1024k.ld" valueType="string"/>
|
||||
<option id="gnu.c.link.option.libs.2086104375" name="Libraries (-l)" superClass="gnu.c.link.option.libs" useByScannerDiscovery="false"/>
|
||||
<option id="gnu.c.link.option.paths.1126963068" name="Library search path (-L)" superClass="gnu.c.link.option.paths" useByScannerDiscovery="false" valueType="libPaths">
|
||||
<listOptionValue builtIn="false" value="../../../mchf-eclipse/linker"/>
|
||||
</option>
|
||||
<option id="gnu.c.link.option.ldflags.1903642416" name="Linker flags" superClass="gnu.c.link.option.ldflags" useByScannerDiscovery="false" value="-specs=nosys.specs -specs=nano.specs" valueType="string"/>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.c.linker.input.1329019344" superClass="cdt.managedbuild.tool.gnu.c.linker.input">
|
||||
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
|
||||
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
|
||||
</inputType>
|
||||
</tool>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker.59611697" name="MCU G++ Linker" superClass="fr.ac6.managedbuild.tool.gnu.cross.cpp.linker"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.archiver.1988995727" name="MCU GCC Archiver" superClass="fr.ac6.managedbuild.tool.gnu.archiver"/>
|
||||
<tool id="fr.ac6.managedbuild.tool.gnu.cross.assembler.1193024950" name="MCU GCC Assembler" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler">
|
||||
<option id="gnu.both.asm.option.include.paths.2091638614" name="Include paths (-I)" superClass="gnu.both.asm.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""/>
|
||||
</option>
|
||||
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.951733050" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
|
||||
<inputType id="fr.ac6.managedbuild.tool.gnu.cross.assembler.input.1519122619" superClass="fr.ac6.managedbuild.tool.gnu.cross.assembler.input"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
<sourceEntries>
|
||||
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
|
||||
</sourceEntries>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
|
||||
</cconfiguration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
|
||||
<project id="STM32F4-Discovery.fr.ac6.managedbuild.target.gnu.cross.exe.454652357" name="Executable" projectType="fr.ac6.managedbuild.target.gnu.cross.exe"/>
|
||||
</storageModule>
|
||||
<storageModule moduleId="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
<scannerConfigBuildInfo instanceId="fr.ac6.managedbuild.config.gnu.cross.exe.debug.405185049;fr.ac6.managedbuild.config.gnu.cross.exe.debug.405185049.;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.772390096;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.651324835">
|
||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
<scannerConfigBuildInfo instanceId="fr.ac6.managedbuild.config.gnu.cross.exe.release.1349538643;fr.ac6.managedbuild.config.gnu.cross.exe.release.1349538643.;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.772390096;fr.ac6.managedbuild.tool.gnu.cross.c.compiler.input.c.651324835">
|
||||
<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId=""/>
|
||||
</scannerConfigBuildInfo>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
|
||||
<storageModule moduleId="refreshScope" versionNumber="2">
|
||||
<configuration configurationName="Debug">
|
||||
<resource resourceType="PROJECT" workspacePath="/mchf-uhsdr"/>
|
||||
</configuration>
|
||||
<configuration configurationName="Release">
|
||||
<resource resourceType="PROJECT" workspacePath="/mchf-uhsdr"/>
|
||||
</configuration>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
</cproject>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
/.settings/
|
||||
/Debug/
|
||||
/mchf-eclipse/
|
||||
/STM32F4DISCOVERY.xml
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -257,7 +257,7 @@ void correct_rate_K_vec(MODEL *model, float rate_K_vec[], float rate_K_sample_fr
|
|||
float cka = K;
|
||||
int k;
|
||||
for (k = 0; k < K; k++) {
|
||||
float a = fabs(rate_K_sample_freqs_kHz[k] - nasty_error_freq);
|
||||
float a = abs(rate_K_sample_freqs_kHz[k] - nasty_error_freq);
|
||||
|
||||
if (closest_k == -1 || a < cka) {
|
||||
closest_k = k;
|
||||
|
|
@ -295,8 +295,8 @@ void correct_rate_K_vec(MODEL *model, float rate_K_vec[], float rate_K_sample_fr
|
|||
for (m = 0; m < C2WB_K - 1; m++) {
|
||||
//[tmp st_m] = min(abs(Am_freqs_kHz - rate_K_prev_sample_kHz));
|
||||
//[tmp en_m] = min(abs(Am_freqs_kHz - rate_K_next_sample_kHz));
|
||||
int pa = fabs(Am_freqs_kHz[m] - rate_K_prev_sample_kHz);
|
||||
int na = fabs(fabs(Am_freqs_kHz[m] - rate_K_next_sample_kHz));
|
||||
int pa = abs(Am_freqs_kHz[m] - rate_K_prev_sample_kHz);
|
||||
int na = abs(abs(Am_freqs_kHz[m] - rate_K_next_sample_kHz));
|
||||
if (st == -1 || pa < st) {
|
||||
st = pa;
|
||||
st_m = m;
|
||||
|
|
|
|||
|
|
@ -708,5 +708,4 @@ void UiConfiguration_UpdateMacroCap(void);
|
|||
#define EEPROM_MEMS_MEMORY_ADDRESS 0x3F5C
|
||||
#define EEPROM_XVTR_MEMORY_ADDRESS 0x535D
|
||||
|
||||
|
||||
#endif /* DRIVERS_UI_UI_CONFIGURATION_H_ */
|
||||
|
|
|
|||
10247
UHSDR-active-devel/mchf-eclipse/drivers/ui/ui_driver (copie).c
Normal file
10247
UHSDR-active-devel/mchf-eclipse/drivers/ui/ui_driver (copie).c
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -1255,7 +1255,7 @@ void UiDriver_EncoderDisplay(const uint8_t row, const uint8_t column, const char
|
|||
|
||||
static uint8_t UiDriver_GetModeCode()
|
||||
{
|
||||
uint8_t mode=0;
|
||||
uint8_t mode;
|
||||
|
||||
switch(ts.dmod_mode)
|
||||
{
|
||||
|
|
@ -2029,7 +2029,7 @@ static inline void UiDriver_FButton_F4ActiveVFO()
|
|||
|
||||
static inline void UiDriver_FButton_F5Tune()
|
||||
{
|
||||
const char* cap="";
|
||||
const char* cap;
|
||||
// uint32_t color;
|
||||
// color = RadioManagement_IsTxDisabled() ? Grey1 : (ts.tune ? Red : White);
|
||||
uint32_t color = RadioManagement_IsTxDisabled() ? Grey1 : (ts.tune ? Red : White);
|
||||
|
|
|
|||
|
|
@ -341,7 +341,7 @@ static uint8_t UiVk_DSPVKeyInitTypeDraw(uint8_t KeyNum, uint32_t param)
|
|||
static uint8_t UiVk_ModeVKeyInitTypeDraw(uint8_t KeyNum, uint32_t param)
|
||||
{
|
||||
uint8_t Keystate = Vbtn_State_Normal;
|
||||
uint8_t mode_t=0;
|
||||
uint8_t mode_t;
|
||||
if(ts.dmod_mode == DEMOD_USB || ts.dmod_mode == DEMOD_LSB) { mode_t = ModeVK_SSB; }
|
||||
else if(ts.dmod_mode == DEMOD_AM) { mode_t = ModeVK_AM; }
|
||||
else if(ts.dmod_mode == DEMOD_SAM) { mode_t = ModeVK_SAM; }
|
||||
|
|
|
|||
|
|
@ -243,9 +243,9 @@ typedef struct {
|
|||
}
|
||||
keyer_mode_t;
|
||||
|
||||
static uint32_t mem_data[4][2][20];
|
||||
static uint32_t xvtr_data[4][3];
|
||||
static uint16_t bw_data[10][20];
|
||||
uint32_t mem_data[4][2][20];
|
||||
uint32_t xvtr_data[4][3];
|
||||
uint16_t bw_data[10][20];
|
||||
|
||||
typedef enum
|
||||
{
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@
|
|||
* the 192k ram / 512k flash STM32F4 machines. Unless you have such a machine, leave this disabled.
|
||||
*/
|
||||
//#define IS_SMALL_BUILD // ********************************** Small build (512k) Var. 1 (not good)
|
||||
#define R928_PLUS // ********************************** For R928 ets with Si5351a alone synthesizer
|
||||
//#define R928_PLUS // ********************************** For R928 ets with Si5351a alone synthesizer
|
||||
//#define OPEN_TX_OUTBAND // Open TX out of band (by Menu option) - not in use now
|
||||
//#define GREY_STYLE // ********************************** Monochrome display style
|
||||
//#define SEPIA_STYLE // ********************************** Monochrome display style
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
#define UHSDR_VER_MAJOR "2"
|
||||
#define UHSDR_VER_MINOR "12"
|
||||
#define UHSDR_VER_RELEASE "2m10"
|
||||
#define UHSDR_VER_RELEASE "2m9"
|
||||
|
||||
|
||||
#define UHSDR_BOOT_VERS "5.0.4m"
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 484 KiB |
Binary file not shown.
Binary file not shown.
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
# sudo apt install dfu-util
|
||||
dfu-util -d -R -a 0 0483:df11 -D fw-mchf.dfu
|
||||
exit 0
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 829 KiB |
Binary file not shown.
|
|
@ -1,35 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
VER=15:10.3-2021.10-9
|
||||
URL=https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
|
||||
echo "Creating gcc-arm-none-eabi debian package version $VER"
|
||||
|
||||
echo "Entering temporary directory..."
|
||||
cd /tmp
|
||||
|
||||
echo "Downloading..."
|
||||
curl -fSL -A "Mozilla/4.0" -o gcc-arm-none-eabi.tar "$URL"
|
||||
|
||||
echo "Extracting..."
|
||||
tar -xf gcc-arm-none-eabi.tar
|
||||
rm gcc-arm-none-eabi.tar
|
||||
|
||||
echo "Generating debian package..."
|
||||
mkdir gcc-arm-none-eabi
|
||||
mkdir gcc-arm-none-eabi/DEBIAN
|
||||
mkdir gcc-arm-none-eabi/usr
|
||||
echo "Package: gcc-arm-none-eabi" > gcc-arm-none-eabi/DEBIAN/control
|
||||
echo "Version: $VER" >> gcc-arm-none-eabi/DEBIAN/control
|
||||
echo "Architecture: amd64" >> gcc-arm-none-eabi/DEBIAN/control
|
||||
echo "Maintainer: maintainer" >> gcc-arm-none-eabi/DEBIAN/control
|
||||
echo "Description: Arm Embedded toolchain" >> gcc-arm-none-eabi/DEBIAN/control
|
||||
mv gcc-arm-none-eabi-*/* gcc-arm-none-eabi/usr/
|
||||
dpkg-deb --build --root-owner-group gcc-arm-none-eabi
|
||||
|
||||
echo "Installing..."
|
||||
sudo apt install ./gcc-arm-none-eabi.deb -y --allow-downgrades
|
||||
|
||||
echo "Removing temporary files..."
|
||||
rm -r gcc-arm-none-eabi*
|
||||
|
||||
echo "Done."
|
||||
Loading…
Reference in New Issue
Block a user