diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 000000000..fdb7dc9f4
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,12 @@
+# These are supported funding model platforms
+
+github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
+patreon: # Replace with a single Patreon username
+open_collective: # Replace with a single Open Collective username
+ko_fi: # Replace with a single Ko-fi username
+tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
+community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+liberapay: # Replace with a single Liberapay username
+issuehunt: # Replace with a single IssueHunt username
+otechie: # Replace with a single Otechie username
+custom: ['PayPal.Me/opentx']
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b2762bf4b..f0011a7aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,7 @@ set(VERSION_REVISION "8")
set(VERSION_SUFFIX $ENV{OPENTX_VERSION_SUFFIX})
set(VERSION_FAMILY ${VERSION_MAJOR}.${VERSION_MINOR})
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}${VERSION_SUFFIX})
-set(SDCARD_REVISION "0026")
+set(SDCARD_REVISION "0027")
set(SDCARD_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}V${SDCARD_REVISION})
cmake_minimum_required(VERSION 2.8)
diff --git a/CREDITS.txt b/CREDITS.txt
index a016b2c53..c3188bb7c 100644
--- a/CREDITS.txt
+++ b/CREDITS.txt
@@ -1719,3 +1719,7 @@ Karl Vetter
Johannes Janssen
François Blondé
Precision Aero
+Thomas Håkansson
+Gordon Evans
+Benny Simonsen
+George Kennedy
diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts
index 98fb5663a..c88f190f0 100644
--- a/companion/src/translations/companion_fr.ts
+++ b/companion/src/translations/companion_fr.ts
@@ -103,32 +103,32 @@
Profil de radio
-
+
Default Channel Order
Ordre des voies par défaut
-
+
Build Options
Options de compilation
-
+
Menu Language
Langue des menus
-
+
Default Stick Mode
Mode par défaut
-
+
Select Image
Sélectionner une image
-
+
Mode selection:
Mode 1:
@@ -169,452 +169,462 @@ Manche Droit: Profondeur, Direction
-
+
Mode 1 (RUD ELE THR AIL)
Mode 1 (DIR PROF GAZ AIL)
-
+
Mode 2 (RUD THR ELE AIL)
Mode 2 (DIR GAZ PROF AIL)
-
+
Mode 3 (AIL ELE THR RUD)
Mode 3 (AIL PROF GAZ DIR)
-
+
Mode 4 (AIL THR ELE RUD)
Mode 4 (AIL GAZ PROF DIR)
-
+
Splash Screen
Ecran d'accueil
-
-
+
+
The profile specific folder, if set, will override general Backup folder
Dossier de sauvegarde spécifique au profil courant, si défini remplace le paramètre de l'application
-
+
Backup folder
Dossier de sauvegarde
-
+
If set it will override the application general setting
Si défini, remplace le paramètre de l'application pour ce profil
-
+
if set, will override general backup enable
Si défini, remplace le paramètre de l'application pour ce profil
-
+
<html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html>
<html><head/><body><p>Ordre des voies</p><p><br/></p><p>Détermine l'ordre des mixages par défaut sur un nouveau modèle.</p></body></html>
-
+
R E T A
D P G A
-
+
R E A T
D P A G
-
+
R T E A
D G P A
-
+
R T A E
D G A P
-
+
R A E T
D A P G
-
+
R A T E
D A G P
-
+
E R T A
P D G A
-
+
E R A T
P D A G
-
+
E T R A
P G D A
-
+
E T A R
P G A D
-
+
E A R T
P A D G
-
+
E A T R
P A G D
-
+
T R E A
G D P A
-
+
T R A E
G D A P
-
+
T E R A
G P D A
-
+
T E A R
G P A D
-
+
T A R E
G A D P
-
+
T A E R
G A P D
-
+
A R E T
A D P G
-
+
A R T E
A D G P
-
+
A E R T
A P D G
-
+
A E T R
A P G D
-
+
A T R E
A G D P
-
+
A T E R
A G P D
-
-
-
-
-
-
+
+
+
+
+
+
Select Folder
Sélectionner dossier
-
+
Select Executable
Sélectionner exécutable
-
+
Release channel
Canal de version
-
+
Releases (stable)
Officiel (stable)
-
+
Release candidates (testing)
Candidate (test)
-
+
Nightly builds (unstable)
Nighlty (instable)
-
+
Simulator Volume Gain
Gain de volume du simulateur
-
+
+ Simulator controls
+ Commandes du simulateur
+
+
+
+ Save switch/pot positions on simulator exit
+ Enregistrer les positions des inters/pots à la sortie du simulateur
+
+
+
+ Clear saved positions
+ Effacer les positions enregistrées
+
+
+
Profile Name
Nom du profil
-
+
Clear Image
Effacer l'image
-
+
Append version number to FW file name
Ajouter le numéro de version au nom du fichier téléchargé
-
+
Offer to write FW to Tx after download
Proposer de transférer le firmware à la radio après téléchargement
-
+
Radio Type
Type de radio
-
+
Other Settings
Autres paramètres
-
+
General Settings
Paramètres généraux
-
+
SD Structure path
Chemin de la structure de la carte SD
-
+
Application Settings
Paramètres de l'application
-
+
Show splash screen when Companion starts
Afficher l'écran d'accueil au lancement de Companion
-
+
Automatic check for Companion updates
Vérifier la présence de mises à jour de Companion automatiquement
-
-
+
+
Enable automatic backup before writing firmware
Sauvegarder les paramètres et modèles automatiquement lors des transferts
-
+
Automatic check for OpenTX firmware updates
Vérifier la présence de mises à jour de firmware automatiquement
-
+
Splash Screen Library
Bibliothèque d'écrans d'accueil
-
+
Google Earth Executable
Exécutable Google Earth
-
+
Only show user splash images
Ne montrer que les images de l'utilisateur
-
+
Show user and companion splash images
Montrer les images de Companion et de l'utilisateur
-
+
User Splash Screens
Ecrans d'accueil personnalisés
-
+
Automatic Backup Folder
Dossier de sauvegardes automatiques
-
+
Simulator Settings
Paramètres du simulateur
-
+
Simulator BackLight
Rétroéclairage du simulateur
-
+
Enable
Actif
-
+
Action on New Model
Action par défaut "Ajout Modèle"
-
+
Use model wizard
Assistant
-
+
Open model editor
Éditer modèle
-
+
Just create the model
Créer modèle
-
+
<html><head/><body><p>This option maintains the behaviour from older OpenTx versions where empty model slots are preserved when a model is deleted or moved. </p><p>When this option is de-selected, the other models may be re-arranged to fill the gap left by the removed model.</p></body></html>
<html><head/><body><p><b><u>/!\</u> Uniquement pour les radios sans catégories <u>/!\</u></b></p><p>Cette option maintient le comportement des anciennes versions d’OpenTx où les emplacements des modèles vides sont conservés lorsqu'un modèle est supprimé ou déplacé.</p><p>Lorsque cette option est désélectionnée, les autres modèles peuvent être réarrangés pour combler l'écart laissé par le modèle supprimé.</p></body></html>
-
+
most recently used files
fichiers récemment utilisés
-
+
Startup Settings
Paramètres de démarrage
-
+
Remember
Mémoriser
-
+
Output Logs Folder
Dossier des logs sauvegardés
-
+
Remove empty model slots when deleting models (only applies for radios w/out categories)
Supprimer les emplacements vides lors de la suppression de modèles
-
+
Debug Output Logging
Log les messages de debug
-
+
<html><head/><body><p>Keep a log of all debugging messages generated by the desktop Companion/Simulator applications. An OpenTX developer may request this to help diagnose an issue.</p></body></html>
<html><head/><body><p>Garder un log de tous les messages de débogage générés par les applications Companion/Simulateur. Un développeur OpenTX peut demander ce log afin d'aider à diagnostiquer un problème.</p></body></html>
-
+
Application (Companion/Simulator)
Application (Companion/Simulateur)
-
+
<html><head/><body><p>Keep a log of all messages generated by the radio firmware when running in Simulator. This is the same information one would also see in the Simulator <span style=" font-style:italic;">Debug Output</span> window.</p></body></html>
<html><head/><body><p>Conserver un log de tous les messages générés par le firmware radio lors de l'exécution du Simulateur. C'est la même information visible depuis le Simulateur dans la <span style=" font-style:italic;">Fenêtre de débogage</span>.</p></body></html>
-
+
Radio Firmware (in Simulator)
Firmware radio (Simulateur)
-
+
Blue
Bleu
-
+
Green
Vert
-
+
Red
Rouge
-
+
Orange
Orange
-
+
Yellow
Jaune
-
+
Screenshot capture folder
Dossier des captures d'écran
-
+
Joystick
-
+
Calibrate
Calibrer
-
+
Only capture to clipboard
Capturer dans le presse-papiers uniquement
-
-
- Remember simulator switch values
- Mémoriser les positions des inters du simulateur
-
My Radio
@@ -637,7 +647,7 @@ Manche Droit: Profondeur, Direction
-
+
No joysticks found
Aucun Joystick trouvé
@@ -678,17 +688,17 @@ Manche Droit: Profondeur, Direction
Sélectionner l'emplacement de l'exécutable Google Earth
-
+
Select the folder replicating your SD structure
Sélectionner un dossier contenant une copie des dossiers de la carte SD
-
+
Open Image to load
Ouvrir l'image à charger
-
+
Images (%1)
Images (%1)
@@ -2109,23 +2119,23 @@ Si vous avez un fichier de sauvegarde des paramètres, vous pouvez l'import
La source %1 n'est pas supportée sur cette plateforme !
-
+
OpenTX only accepts %1 points in all curves
OpenTX n'accepte que %1 points au maximum entre toutes les courbes
-
+
OpenTx only accepts %1 points in all curves
OpenTX n'accepte que %1 points au maximum entre toutes les courbes
-
-
+
+
OpenTX on this board doesn't accept this function
OpenTX ne supporte pas cette fonction sur cette carte
-
+
OpenTX doesn't accept this radio protocol
OpenTX ne supporte pas ce protocole radio
@@ -2888,19 +2898,19 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont
-
+
Disable HELI menu and cyclic mix support
Supprimer le menu HELICO et les mixages cycliques
-
+
Disable Global variables
Supprimer le support des variables globales
-
+
Enable Lua custom scripts screen
Activer l'écran des scripts Lua personnalisés
@@ -2916,6 +2926,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont
+
Disable RAS (SWR)
Désactiver le RAS (SWR). Utile uniquement pour les X9D+ avec un RAS/SWR non fonctionnel
@@ -2940,86 +2951,81 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont
-
+
Haptic module installed
Module vibreur installé
-
+
FrSky Taranis X9E
-
+
Confirmation before radio shutdown
Confirmation avant l'arrêt de la radio
-
+
Horus gimbals installed (Hall sensors)
Manches Horus à effet HALL installés
-
+
FrSky Taranis X9-Lite
-
+
FrSky Taranis X9-Lite S
-
+
FrSky Taranis X7 / X7S
-
+
FrSky Taranis X7 / X7S Access
-
+
FrSky Taranis X-Lite S/PRO
-
+
FrSky Taranis X-Lite
-
+
FrSky Horus X10 / X10S
-
-
+
+
Support for ACCESS internal module replacement
Prise en charge du module de remplacement interne ACCESS
-
+
FrSky Horus X10 Express / X10S Express
-
+
FrSky Horus X12S
-
+
Use ONLY with first DEV pcb version
Exclusivement pour les Horus DEV
-
-
- Enable non certified R9M firmwares
- Activer les firmwares R9M non certifiés
-
@@ -3028,17 +3034,11 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont
-
Support for bluetooth module
Prise en charge du module Bluetooth
-
- Radiomaster TX16S
-
-
-
-
+
Turnigy 9XR-PRO
@@ -3083,17 +3083,17 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont
Ne pas mettre les lignes actives en gras
-
+
Turnigy 9XR with m128 chip
Turnigy 9XR avec une puce m128
-
+
Turnigy 9XR
-
+
9X with stock board
9X avec carte mère d'origine
@@ -3103,17 +3103,17 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont
Permet la remise à zéro des valeurs en pressant haut-bas en même temps, valeur min avec gauche/bas, valeur max avec haut/droite, inversion avec gauche/droite
-
+
9X with stock board and m128 chip
Carte 9x avec un chip m128
-
+
9X with AR9X board
9X avec carte AR9X
-
+
Jumper T12 / T12 Pro
@@ -3123,17 +3123,17 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont
-
+
9X with Sky9x board
9X avec carte Sky9x
-
+
9X with Gruvin9x board
9X avec carte Gruvin9x
-
+
DIY MEGA2560 radio
Radio DIY à base de MEGA2560
@@ -3608,6 +3608,16 @@ Vous utilisez actuellement:
Switch
Interrupteur
+
+
+ trim6
+
+
+
+
+ trim5
+
+
FlightModeData
@@ -3620,52 +3630,52 @@ Vous utilisez actuellement:
FlightModePanel
-
+
Rotary Encoder %1
Sélecteur Rotatif %1
-
+
Name
Nom
-
+
Value source
Source valeur
-
+
Value
Valeur
-
+
Unit
-
+
Prec
-
+
Min
Min
-
+
Max
Max
-
+
GVAR%1
VG%1
-
+
Popup enabled
Indication activée
@@ -3675,49 +3685,49 @@ Vous utilisez actuellement:
Menu contextuel disponible
-
+
Trim disabled
Trim désactivé
-
+
Own Trim
Valeur indépendante
-
+
Use Trim from Flight mode %1
Utiliser le trim de la phase de vol %1
-
+
Use Trim from Flight mode %1 + Own Trim as an offset
Utiliser le trim de la phase de vol %1 + une valeur indépendante additionnée
-
+
0._
-
+
0.0
-
-
+
+
&Clear
&Effacer
-
-
+
+
Clear
Effacer
-
+
Clear all current Flight Mode properties?
Effacer tout les modes de vols ?
@@ -3725,17 +3735,17 @@ Vous utilisez actuellement:
FlightModesPanel
-
+
Flight Mode %1
Phase de vol %1
-
+
(%1)
-
+
(default)
(par défaut)
@@ -4408,11 +4418,6 @@ Mode 4:
Owner Registration ID
Enregistrement ID du propriétaire
-
-
- aaaaaaAA
-
-
R E T A
@@ -4730,6 +4735,11 @@ Plage de valeurs: 5v...10v
Si différent de 0, émission d'un bip sonore régulier si aucune action n'a été effectuée sur l'émetteur depuis le temps spécifié (en minutes).
Réinitialisation en agissant sur n'importe lequel des manches / touches de navigation.
+
+
+ nnnnnnNN
+
+
min
@@ -8170,7 +8180,7 @@ Mixage actif par défaut si non-renseigné.
Extended Limits
- Débattements étendus
+ Limites étendues
@@ -8977,12 +8987,12 @@ Mixage actif par défaut si non-renseigné.
ModuleData
-
+
Positive
-
+
Negative
Négative
@@ -9605,7 +9615,7 @@ Mixage actif par défaut si non-renseigné.
DÉFAUT
-
+
Custom - proto %1)
Personnaliser - proto %1)
@@ -10859,7 +10869,12 @@ E
secondes
-
+
+ ml/minute
+
+
+
+
TELE
@@ -11009,7 +11024,7 @@ E
Extended Limits
- Débattements étendus
+ Limites étendues
@@ -11830,12 +11845,12 @@ La valeur par défaut est configurée dans le profil radio sélectionné.Impossible d'accéder au Joystick, Joystick désactivé
-
+
Radio firmware error: %1
Erreur firmware radio: %1
-
+
- Flight Mode %1 (#%2)
- Phase de Vol %1 (#%2)
@@ -12538,104 +12553,104 @@ Trop d'erreurs, abandon.
TelemetryPanel
-
+
FrSky S.PORT
-
+
FrSky D
-
+
FrSky D (cable)
FrSky D (câble)
-
+
Telemetry screen %1
Ecran de télémesure %1
-
+
Source
-
+
Low Alarm
Alarme basse
-
+
Critical Alarm
Alarme critique
-
+
Winged Shadow How High
-
+
Winged Shadow How High (not supported)
Winged Shadow How High (non supporté)
-
+
Alti
Alt
-
+
Alti+
Alt+
-
+
VSpeed
Vitesse verticale
-
-
-
+
+
+
A1
-
-
-
+
+
+
A2
-
-
+
+
A3
-
-
+
+
A4
-
-
+
+
FAS
-
+
Cells
Velm
-
+
---
@@ -12648,274 +12663,284 @@ Trop d'erreurs, abandon.
Formulaire
-
+
+ TELE##
+
+
+
+
Custom
Prédéfini
-
+
Calculated
Calculé
-
+
Id
-
+
Instance
-
+
Rx
-
+
Add
Addition
-
+
Average
Moyenne
-
+
Min
-
+
Max
-
+
Multiply
Multiplication
-
+
Totalize
Totalisation
-
+
Cell
Element LiPo
-
+
Consumption
Consommation
-
+
Dist
Distance
-
+
Cells Sensor :
Capteur d'éléments:
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
---
-
+
GPS Sensor :
Capteur GPS:
-
+
Alt. Sensor :
Capteur d'altitude:
-
+
Sensor :
Capteur:
-
+
V
-
+
A
-
+
mA
-
+
kt
-
+
m/s
-
+
ft/s
-
+
km/h
-
+
mph
-
+
m
-
+
ft
-
+
°C
-
+
°F
-
+
%
-
+
mAh
-
+
W
-
+
mW
-
+
dBm
-
+
g
-
+
°
-
+
Rad
-
+
mL
-
+
US fl.Oz.
-
+
Raw (-)
Chiffres bruts (-)
-
+
RPM
Tours/minute
-
+
+ ml/min
+
+
+
+
Precision
Précision
-
+
Ratio
-
+
Blades
Pales
-
+
Offset
Décalage
-
+
Multiplier
Multiplicateur
-
+
Auto Offset
Offset auto
-
+
Filter
Filtre
-
+
Persistent
Persistant
-
+
Positive
-
+
Logs
@@ -12923,25 +12948,70 @@ Trop d'erreurs, abandon.
TelemetrySensorPanel
-
+
+ TELE%1
+
+
+
+
+ Popup menu available
+ Menu contextuel disponible
+
+
+
Lowest
Min
-
+
Cell %1
Elém. %1
-
+
Highest
Max
-
+
Delta
+
+
+ Copy
+ Copier
+
+
+
+ Cut
+ Couper
+
+
+
+ Paste
+ Coller
+
+
+
+ Clear
+ Effacer
+
+
+
+ Clear All
+ Effacer Tout
+
+
+
+ Clear Telemetry Sensor. Are you sure?
+ Effacer le capteur de télémétrie. Êtes-vous sûr?
+
+
+
+ Clear all Telemetry Sensors. Are you sure?
+ Effacez tous les capteurs de télémétrie. Êtes-vous sûr?
+
TelemetrySimulator
@@ -14303,120 +14373,4 @@ Cliquer sur Annuler pour interrompre la calibration sans sauvegarder.Calibration incomplète, sauvegarder tout de même ?
-
- preferencesDialog
-
-
-
- ...
-
-
-
-
- Enable
- Actif
-
-
-
- Remember simulator switches
- Mémoriser les positions des inters du simulateur
-
-
-
- Calibrate
- Calibrer
-
-
-
-
- Open Folder
- Ouvrir le dossier
-
-
-
- Custom TX splash screen
- Personnaliser l'écran d'accueil
-
-
-
- Simulator capture folder
- Dossier des captures d'écran
-
-
-
- Use clipboard only
- Utiliser le presse-papiers
-
-
-
- Simu BackLight
- Rétroéclairage simu
-
-
-
- Blue
- Blu
- Bleu
-
-
-
- Green
- Vert
-
-
-
- Red
- Rouge
-
-
-
- Orange
-
-
-
-
- Yellow
- Jaune
-
-
-
- Personal splash library
- Librairie d'écran d'accueil personnalisé
-
-
-
- Splash library behaviour
- Utilisation de la librairie d'écran d'accueil
-
-
-
- Include companion splashes
- Inclure les écrans d'accueil de Companion
-
-
-
- Only user defined splashes
- Seulement les écrans d'accueil personnalisé
-
-
-
- Joystick
-
-
-
-
- Open Image
- Charger une image
-
-
-
- Invert Pixels
- Inverser les couleurs
-
-
-
- Preferences
- Préférences
-
-
diff --git a/jumpertx-t16-2.3.8.bin b/jumpertx-t16-2.3.8.bin
deleted file mode 100644
index 25865937a..000000000
Binary files a/jumpertx-t16-2.3.8.bin and /dev/null differ
diff --git a/radio/sdcard/horus/SCRIPTS/TOOLS/MultiChannelsUpdater.lua b/radio/sdcard/horus/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
index 73b667b81..2bd2e1a73 100644
--- a/radio/sdcard/horus/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
+++ b/radio/sdcard/horus/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
@@ -133,7 +133,7 @@ local Protocols = {
{17, 4, "MT99XX", "FY805", { "Flip", "n-a", "n-a", "n-a", "HLess" }, 1 },
{44, 0, "NCC1701", "Std", { "Warp" }, 1 },
{51, 0, "Potensic", "A20", { "TakLan", "Emerg", "Mode", "HLess" }, 1 },
- {56, 0, "Propel", "74-Z", { "LEDs", "RollCW", "RolCCW", "Fire", "Weapon", "Calib", "AltHol", "TakeOf", "Land", "Train" }, 1 },
+ {66, 0, "Propel", "74-Z", { "LEDs", "RollCW", "RolCCW", "Fire", "Weapon", "Calib", "AltHol", "TakeOf", "Land", "Train" }, 1 },
{29, 0, "Q2x2", "Q222", { "Flip", "LED", "Mod2", "Mod1", "HLess", "RTH", "XCal", "YCal" }, 1 },
{29, 1, "Q2x2", "Q242", { "Flip", "LED", "Pict", "Video", "HLess", "RTH", "XCal", "YCal" }, 1 },
{29, 2, "Q2x2", "Q282", { "Flip", "LED", "Pict", "Video", "HLess", "RTH", "XCal", "YCal" }, 1 },
@@ -166,6 +166,7 @@ local Protocols = {
{65,1, "FrSkyR9", "R9_868", { "CH5", "CH6", "CH7", "CH8", "CH9", "CH10", "CH11", "CH12", "CH13", "CH14", "CH15", "CH16" }, 0 },
{65,2, "FrSkyR9", "R9_915_8CH", { "CH5", "CH6", "CH7", "CH8" }, 0 },
{65,3, "FrSkyR9", "R9_968_8CH", { "CH5", "CH6", "CH7", "CH8" }, 0 },
+ {56, 0, "Flysky2A RX", "RX", { "CH5", "CH6", "CH7", "CH8", "CH9", "CH10", "CH11", "CH12", "CH13", "CH14" }, 0 },
-- Need first 4 channels changed...
{19, 0, "Shenqi", "Cycle", { }, 1 },
@@ -293,7 +294,7 @@ local function Multi_Draw_LCD()
line = line + 1
end
if protocol_name == nil or sub_protocol_name == nil then
- lcd.drawText(x_pos, y_pos+y_inc*line,"Unknown protocol/sub_protocol...", lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,"Unknown protocol "..tostring(protocol).."/"..tostring(sub_protocol).." ...", lcd_opt)
else if LCD_W > 128 then
lcd.drawText(x_pos, y_pos+y_inc*line,"Protocol: " .. protocol_name .. " / SubProtocol: " .. sub_protocol_name, lcd_opt)
line = line + 1
@@ -331,25 +332,27 @@ local function Multi_Draw_LCD()
lcd.drawText(x_pos, y_pos+y_inc*line,"Setting channel names.", lcd_opt)
line = line + 1
local output, nbr
- for i,v in ipairs(channel_names) do
- output = model.getOutput(i-1)
- output["name"] = v
- model.setOutput(i-1,output)
- nbr = i
- end
- for i = nbr, 15 do
- output = model.getOutput(i)
- output["name"] = "n-a"
- model.setOutput(i,output)
- end
- if bind_ch == 1 then
- output = model.getOutput(15)
- output["name"] = "BindCH"
- model.setOutput(15,output)
+ if done == 0 then
+ for i,v in ipairs(channel_names) do
+ output = model.getOutput(i-1)
+ output["name"] = v
+ model.setOutput(i-1,output)
+ nbr = i
+ end
+ for i = nbr, 15 do
+ output = model.getOutput(i)
+ output["name"] = "n-a"
+ model.setOutput(i,output)
+ end
+ if bind_ch == 1 then
+ output = model.getOutput(15)
+ output["name"] = "BindCH"
+ model.setOutput(15,output)
+ end
+ done = 1
end
lcd.drawText(x_pos, y_pos+y_inc*line,"Done!", lcd_opt)
line = line + 1
- done = 1
end
end
@@ -363,15 +366,12 @@ local function Multi_Run(event)
error("Cannot be run as a model script!")
return 2
else
- if done == 0 then
- Multi_Draw_LCD()
- else
- if event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT then
- return 2
- end
+ Multi_Draw_LCD()
+ if event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT then
+ return 2
end
- return 0
end
+ return 0
end
return { init=Multi_Init, run=Multi_Run }
diff --git a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/MultiChannelsUpdater.lua b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
index 675b25e15..2bd2e1a73 100644
--- a/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
+++ b/radio/sdcard/taranis-x7/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
@@ -133,7 +133,7 @@ local Protocols = {
{17, 4, "MT99XX", "FY805", { "Flip", "n-a", "n-a", "n-a", "HLess" }, 1 },
{44, 0, "NCC1701", "Std", { "Warp" }, 1 },
{51, 0, "Potensic", "A20", { "TakLan", "Emerg", "Mode", "HLess" }, 1 },
- {56, 0, "Propel", "74-Z", { "LEDs", "RollCW", "RolCCW", "Fire", "Weapon", "Calib", "AltHol", "TakeOf", "Land", "Train" }, 1 },
+ {66, 0, "Propel", "74-Z", { "LEDs", "RollCW", "RolCCW", "Fire", "Weapon", "Calib", "AltHol", "TakeOf", "Land", "Train" }, 1 },
{29, 0, "Q2x2", "Q222", { "Flip", "LED", "Mod2", "Mod1", "HLess", "RTH", "XCal", "YCal" }, 1 },
{29, 1, "Q2x2", "Q242", { "Flip", "LED", "Pict", "Video", "HLess", "RTH", "XCal", "YCal" }, 1 },
{29, 2, "Q2x2", "Q282", { "Flip", "LED", "Pict", "Video", "HLess", "RTH", "XCal", "YCal" }, 1 },
@@ -166,6 +166,7 @@ local Protocols = {
{65,1, "FrSkyR9", "R9_868", { "CH5", "CH6", "CH7", "CH8", "CH9", "CH10", "CH11", "CH12", "CH13", "CH14", "CH15", "CH16" }, 0 },
{65,2, "FrSkyR9", "R9_915_8CH", { "CH5", "CH6", "CH7", "CH8" }, 0 },
{65,3, "FrSkyR9", "R9_968_8CH", { "CH5", "CH6", "CH7", "CH8" }, 0 },
+ {56, 0, "Flysky2A RX", "RX", { "CH5", "CH6", "CH7", "CH8", "CH9", "CH10", "CH11", "CH12", "CH13", "CH14" }, 0 },
-- Need first 4 channels changed...
{19, 0, "Shenqi", "Cycle", { }, 1 },
@@ -286,16 +287,16 @@ local function Multi_Draw_LCD()
end
end
- lcd.drawText(x_pos, y_pos+y_inc*line,module_pos .. " Multi detected.",lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,module_pos .. " Multi detected.", lcd_opt)
line = line + 1
if (ch_order == -1) then
- lcd.drawText(x_pos, y_pos+y_inc*line,"Channels order can't be read from Multi...",lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,"Channels order can't be read from Multi...", lcd_opt)
line = line + 1
end
if protocol_name == nil or sub_protocol_name == nil then
- lcd.drawText(x_pos, y_pos+y_inc*line,"Unknown protocol/sub_protocol...",lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,"Unknown protocol "..tostring(protocol).."/"..tostring(sub_protocol).." ...", lcd_opt)
else if LCD_W > 128 then
- lcd.drawText(x_pos, y_pos+y_inc*line,"Protocol: " .. protocol_name .. " / SubProtocol: " .. sub_protocol_name,lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,"Protocol: " .. protocol_name .. " / SubProtocol: " .. sub_protocol_name, lcd_opt)
line = line + 1
else
lcd.drawText(x_pos, y_pos+y_inc*line,"Protocol: " .. protocol_name, lcd_opt)
@@ -321,35 +322,37 @@ local function Multi_Draw_LCD()
end
end
if LCD_W > 128 then
- lcd.drawText(x_pos, y_pos+y_inc*line,"Channels: " .. text1,lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,"Channels: " .. text1, lcd_opt)
line = line + 1
if text2 ~= "" then
- lcd.drawText(x_pos*9, y_pos+y_inc*line,text2,lcd_opt)
+ lcd.drawText(x_pos*9, y_pos+y_inc*line,text2, lcd_opt)
line = line + 1
end
end
- lcd.drawText(x_pos, y_pos+y_inc*line,"Setting channel names.",lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,"Setting channel names.", lcd_opt)
line = line + 1
local output, nbr
- for i,v in ipairs(channel_names) do
- output = model.getOutput(i-1)
- output["name"] = v
- model.setOutput(i-1,output)
- nbr = i
+ if done == 0 then
+ for i,v in ipairs(channel_names) do
+ output = model.getOutput(i-1)
+ output["name"] = v
+ model.setOutput(i-1,output)
+ nbr = i
+ end
+ for i = nbr, 15 do
+ output = model.getOutput(i)
+ output["name"] = "n-a"
+ model.setOutput(i,output)
+ end
+ if bind_ch == 1 then
+ output = model.getOutput(15)
+ output["name"] = "BindCH"
+ model.setOutput(15,output)
+ end
+ done = 1
end
- for i = nbr, 15 do
- output = model.getOutput(i)
- output["name"] = "n-a"
- model.setOutput(i,output)
- end
- if bind_ch == 1 then
- output = model.getOutput(15)
- output["name"] = "BindCH"
- model.setOutput(15,output)
- end
- lcd.drawText(x_pos, y_pos+y_inc*line,"Done!",lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,"Done!", lcd_opt)
line = line + 1
- done = 1
end
end
@@ -363,15 +366,12 @@ local function Multi_Run(event)
error("Cannot be run as a model script!")
return 2
else
- if done == 0 then
- Multi_Draw_LCD()
- else
- if event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT then
- return 2
- end
+ Multi_Draw_LCD()
+ if event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT then
+ return 2
end
- return 0
end
+ return 0
end
return { init=Multi_Init, run=Multi_Run }
diff --git a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/MultiChannelsUpdater.lua b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
index 73b667b81..2bd2e1a73 100644
--- a/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
+++ b/radio/sdcard/taranis-x9/SCRIPTS/TOOLS/MultiChannelsUpdater.lua
@@ -133,7 +133,7 @@ local Protocols = {
{17, 4, "MT99XX", "FY805", { "Flip", "n-a", "n-a", "n-a", "HLess" }, 1 },
{44, 0, "NCC1701", "Std", { "Warp" }, 1 },
{51, 0, "Potensic", "A20", { "TakLan", "Emerg", "Mode", "HLess" }, 1 },
- {56, 0, "Propel", "74-Z", { "LEDs", "RollCW", "RolCCW", "Fire", "Weapon", "Calib", "AltHol", "TakeOf", "Land", "Train" }, 1 },
+ {66, 0, "Propel", "74-Z", { "LEDs", "RollCW", "RolCCW", "Fire", "Weapon", "Calib", "AltHol", "TakeOf", "Land", "Train" }, 1 },
{29, 0, "Q2x2", "Q222", { "Flip", "LED", "Mod2", "Mod1", "HLess", "RTH", "XCal", "YCal" }, 1 },
{29, 1, "Q2x2", "Q242", { "Flip", "LED", "Pict", "Video", "HLess", "RTH", "XCal", "YCal" }, 1 },
{29, 2, "Q2x2", "Q282", { "Flip", "LED", "Pict", "Video", "HLess", "RTH", "XCal", "YCal" }, 1 },
@@ -166,6 +166,7 @@ local Protocols = {
{65,1, "FrSkyR9", "R9_868", { "CH5", "CH6", "CH7", "CH8", "CH9", "CH10", "CH11", "CH12", "CH13", "CH14", "CH15", "CH16" }, 0 },
{65,2, "FrSkyR9", "R9_915_8CH", { "CH5", "CH6", "CH7", "CH8" }, 0 },
{65,3, "FrSkyR9", "R9_968_8CH", { "CH5", "CH6", "CH7", "CH8" }, 0 },
+ {56, 0, "Flysky2A RX", "RX", { "CH5", "CH6", "CH7", "CH8", "CH9", "CH10", "CH11", "CH12", "CH13", "CH14" }, 0 },
-- Need first 4 channels changed...
{19, 0, "Shenqi", "Cycle", { }, 1 },
@@ -293,7 +294,7 @@ local function Multi_Draw_LCD()
line = line + 1
end
if protocol_name == nil or sub_protocol_name == nil then
- lcd.drawText(x_pos, y_pos+y_inc*line,"Unknown protocol/sub_protocol...", lcd_opt)
+ lcd.drawText(x_pos, y_pos+y_inc*line,"Unknown protocol "..tostring(protocol).."/"..tostring(sub_protocol).." ...", lcd_opt)
else if LCD_W > 128 then
lcd.drawText(x_pos, y_pos+y_inc*line,"Protocol: " .. protocol_name .. " / SubProtocol: " .. sub_protocol_name, lcd_opt)
line = line + 1
@@ -331,25 +332,27 @@ local function Multi_Draw_LCD()
lcd.drawText(x_pos, y_pos+y_inc*line,"Setting channel names.", lcd_opt)
line = line + 1
local output, nbr
- for i,v in ipairs(channel_names) do
- output = model.getOutput(i-1)
- output["name"] = v
- model.setOutput(i-1,output)
- nbr = i
- end
- for i = nbr, 15 do
- output = model.getOutput(i)
- output["name"] = "n-a"
- model.setOutput(i,output)
- end
- if bind_ch == 1 then
- output = model.getOutput(15)
- output["name"] = "BindCH"
- model.setOutput(15,output)
+ if done == 0 then
+ for i,v in ipairs(channel_names) do
+ output = model.getOutput(i-1)
+ output["name"] = v
+ model.setOutput(i-1,output)
+ nbr = i
+ end
+ for i = nbr, 15 do
+ output = model.getOutput(i)
+ output["name"] = "n-a"
+ model.setOutput(i,output)
+ end
+ if bind_ch == 1 then
+ output = model.getOutput(15)
+ output["name"] = "BindCH"
+ model.setOutput(15,output)
+ end
+ done = 1
end
lcd.drawText(x_pos, y_pos+y_inc*line,"Done!", lcd_opt)
line = line + 1
- done = 1
end
end
@@ -363,15 +366,12 @@ local function Multi_Run(event)
error("Cannot be run as a model script!")
return 2
else
- if done == 0 then
- Multi_Draw_LCD()
- else
- if event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT then
- return 2
- end
+ Multi_Draw_LCD()
+ if event == EVT_VIRTUAL_ENTER or event == EVT_VIRTUAL_EXIT then
+ return 2
end
- return 0
end
+ return 0
end
return { init=Multi_Init, run=Multi_Run }
diff --git a/radio/src/fonts/480x272/font_dblsize.png b/radio/src/fonts/480x272/font_dblsize.png
index 174c70f9b..65f5a60fe 100644
Binary files a/radio/src/fonts/480x272/font_dblsize.png and b/radio/src/fonts/480x272/font_dblsize.png differ
diff --git a/radio/src/fonts/480x272/font_dblsize.specs b/radio/src/fonts/480x272/font_dblsize.specs
index 07d83c610..e3ec4d016 100644
--- a/radio/src/fonts/480x272/font_dblsize.specs
+++ b/radio/src/fonts/480x272/font_dblsize.specs
@@ -1 +1 @@
-0,4,14,25,45,64,89,111,117,129,141,157,175,184,197,207,220,239,258,277,296,315,334,353,372,391,410,420,429,446,465,483,500,513,536,557,579,601,620,639,662,686,696,715,737,755,784,808,831,853,876,897,918,939,961,983,1012,1033,1054,1074,1084,1100,1110,1125,1141,1153,1171,1190,1208,1227,1245,1258,1277,1296,1305,1314,1333,1342,1371,1390,1409,1428,1447,1460,1477,1489,1508,1525,1550,1568,1585,1602,1624,1633,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1651,1669,1687,1705,1717,1735,1758,1776,1799,1818,1840,1859,1880,1898,1915,1933,1947,1964,1981,1999,2011,2029,2048,2067,2086,2105,2129,2144,2163,2184,2206,2227,2247,2268,2291,2303,2322,2346,2369,2391,2413,2435,2456,2480,2499,2517,2535,2554,2577,2600,2623,2641,2660,2678,2696,2714,2725,2744,2763,2780,2797,2814,2837,2859,2878,2897,2921,2944,2965,2985,3005,3023,3041,3060,3083,3106,3129
\ No newline at end of file
+0,4,14,25,45,64,89,111,117,129,141,157,175,184,197,207,221,240,259,278,297,316,335,354,373,392,411,421,430,447,466,484,501,514,537,558,580,602,621,640,663,687,697,716,738,756,785,809,832,854,877,898,919,940,962,984,1013,1034,1055,1075,1085,1101,1111,1126,1142,1154,1172,1191,1209,1228,1246,1259,1278,1297,1306,1317,1336,1345,1374,1393,1412,1431,1450,1463,1480,1492,1511,1528,1553,1571,1589,1606,1628,1637,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1655,1673,1691,1709,1723,1741,1764,1782,1805,1824,1846,1865,1886,1904,1921,1939,1953,1970,1988,2006,2018,2036,2055,2074,2093,2112,2135,2150,2169,2190,2212,2233,2253,2274,2297,2309,2328,2352,2375,2397,2419,2441,2462,2486,2505,2528,2546,2565,2583,2595,2607,2630,2649,2671,2690,2708,2726,2745,2768,2791,2814,2832,2851,2869,2887,2905,2916,2935,2954,2971,2988,3005,3028,3050,3069,3088,3112,3135,3156,3176,3196,3219,3237,3260,3278,3301,3319,3342,3360,3382,3400,3419,3437,3456,3474,3486,3498,3521,3540,3563,3582,3605,3624,3646,3665
\ No newline at end of file
diff --git a/radio/src/fonts/480x272/font_midsize.png b/radio/src/fonts/480x272/font_midsize.png
index 3391516af..0dc081f81 100644
Binary files a/radio/src/fonts/480x272/font_midsize.png and b/radio/src/fonts/480x272/font_midsize.png differ
diff --git a/radio/src/fonts/480x272/font_midsize.specs b/radio/src/fonts/480x272/font_midsize.specs
index 9e98f5af3..466a5a1a5 100644
--- a/radio/src/fonts/480x272/font_midsize.specs
+++ b/radio/src/fonts/480x272/font_midsize.specs
@@ -1 +1 @@
-0,4,11,20,36,50,69,85,90,99,108,119,134,140,148,155,166,180,194,208,222,236,250,264,278,292,306,313,319,332,346,360,372,382,399,415,432,449,464,478,495,513,521,535,552,566,588,606,624,640,658,674,689,704,721,737,759,775,791,806,814,825,832,843,855,863,877,891,905,920,934,944,958,972,979,986,1000,1007,1029,1043,1058,1072,1087,1096,1109,1118,1132,1145,1164,1177,1189,1202,1219,1226,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1240,1254,1268,1282,1290,1304,1321,1335,1353,1368,1385,1399,1414,1428,1441,1455,1465,1478,1490,1504,1512,1526,1540,1555,1569,1583,1599,1609,1624,1639,1656,1672,1687,1703,1720,1729,1744,1762,1780,1797,1814,1831,1846,1864,1878,1892,1906,1921,1938,1955,1973,1987,2001,2015,2029,2043,2051,2065,2080,2093,2106,2119,2136,2153,2168,2182,2200,2218,2233,2248,2263,2277,2291,2306,2323,2340,2358
\ No newline at end of file
+0,4,11,20,36,50,69,85,90,99,108,119,134,140,148,155,166,180,194,208,222,236,250,264,278,292,306,313,319,332,346,360,372,382,399,415,432,449,464,478,495,513,521,535,552,566,588,606,624,640,658,674,689,704,721,737,759,775,791,806,814,825,832,843,855,863,877,891,905,920,934,944,958,972,979,987,1001,1008,1030,1044,1059,1073,1088,1097,1110,1119,1133,1146,1165,1178,1191,1204,1221,1228,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1242,1256,1270,1284,1293,1307,1324,1338,1356,1371,1388,1402,1417,1431,1444,1458,1468,1481,1494,1508,1516,1530,1544,1559,1573,1587,1604,1614,1629,1644,1661,1677,1692,1708,1725,1733,1748,1766,1784,1801,1818,1835,1850,1868,1882,1899,1913,1928,1942,1950,1958,1976,1991,2008,2022,2036,2050,2065,2082,2099,2117,2131,2145,2159,2173,2187,2195,2209,2224,2237,2250,2263,2280,2297,2312,2326,2344,2362,2377,2392,2407,2424,2438,2455,2469,2486,2500,2517,2531,2548,2562,2577,2591,2606,2620,2628,2636,2654,2669,2687,2702,2720,2735,2752,2766
\ No newline at end of file
diff --git a/radio/src/fonts/480x272/font_smlsize.png b/radio/src/fonts/480x272/font_smlsize.png
index 30aef1915..e19a1a13f 100644
Binary files a/radio/src/fonts/480x272/font_smlsize.png and b/radio/src/fonts/480x272/font_smlsize.png differ
diff --git a/radio/src/fonts/480x272/font_smlsize.specs b/radio/src/fonts/480x272/font_smlsize.specs
index 8802a9945..55bac8f44 100644
--- a/radio/src/fonts/480x272/font_smlsize.specs
+++ b/radio/src/fonts/480x272/font_smlsize.specs
@@ -1 +1 @@
-0,4,8,13,22,30,41,51,54,60,66,73,81,85,90,94,100,108,116,124,132,141,149,157,165,173,181,185,189,197,205,213,220,226,236,245,254,264,272,280,290,300,305,313,323,331,343,353,363,372,382,391,400,409,418,427,440,449,458,467,472,479,483,489,496,501,509,517,525,533,541,547,555,563,567,571,579,583,595,603,611,619,627,633,641,646,654,661,672,680,687,695,705,709,717,717,717,717,717,717,717,717,717,717,717,717,717,717,717,717,717,717,717,717,717,717,725,733,741,746,754,764,772,782,790,799,807,816,824,832,840,846,854,861,869,874,882,890,898,906,914,924,931,939,948,957,966,975,984,994,999,1007,1017,1027,1036,1045,1055,1064,1074,1082,1090,1098,1106,1116,1126,1136,1144,1152,1160,1168,1176,1181,1189,1197,1205,1213,1221,1231,1240,1248,1256,1266,1276,1285,1294,1303,1311,1319,1327,1337,1347,1357
\ No newline at end of file
+0,4,8,13,22,30,41,51,54,60,66,73,81,85,90,94,100,108,116,124,132,141,149,157,165,173,181,185,189,197,205,213,220,226,236,245,254,264,272,280,290,300,305,313,323,331,343,353,363,372,382,391,400,409,418,428,441,450,459,468,473,480,484,490,497,502,510,518,526,534,542,548,556,564,568,573,581,585,597,605,613,621,629,635,643,648,656,664,675,683,690,698,708,712,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,720,728,736,744,750,758,768,776,786,794,803,811,820,828,836,844,850,858,865,873,878,886,894,902,910,918,928,934,942,951,960,969,978,987,997,1002,1010,1020,1030,1039,1048,1058,1067,1077,1085,1095,1103,1111,1119,1124,1129,1139,1147,1156,1164,1172,1180,1188,1198,1208,1218,1226,1234,1242,1250,1258,1263,1271,1279,1287,1295,1303,1313,1322,1330,1338,1348,1358,1367,1376,1385,1395,1403,1413,1421,1431,1439,1449,1457,1466,1474,1482,1490,1498,1506,1511,1516,1526,1534,1544,1552,1562,1570,1579,1587
\ No newline at end of file
diff --git a/radio/src/fonts/480x272/font_stdsize.png b/radio/src/fonts/480x272/font_stdsize.png
index e173a61af..afd1e98b5 100644
Binary files a/radio/src/fonts/480x272/font_stdsize.png and b/radio/src/fonts/480x272/font_stdsize.png differ
diff --git a/radio/src/fonts/480x272/font_stdsize.specs b/radio/src/fonts/480x272/font_stdsize.specs
index 4b75e6d0d..3534008a7 100644
--- a/radio/src/fonts/480x272/font_stdsize.specs
+++ b/radio/src/fonts/480x272/font_stdsize.specs
@@ -1 +1 @@
-0,4,9,15,26,36,49,60,64,71,78,86,96,100,106,111,119,129,139,149,159,169,179,189,199,209,219,224,228,237,247,256,265,272,284,295,306,318,328,338,350,362,367,377,389,399,414,426,438,449,461,472,483,494,505,516,531,542,553,564,570,578,583,591,600,606,616,626,635,645,654,661,671,681,686,691,701,706,721,731,741,751,761,767,776,782,792,801,814,823,832,841,853,858,867,880,893,906,919,932,945,958,971,984,999,1014,1029,1044,1059,1074,1089,1104,1119,1134,1149,1164,1173,1182,1192,1198,1207,1219,1229,1241,1251,1262,1272,1283,1292,1301,1310,1317,1326,1335,1345,1351,1360,1370,1380,1390,1400,1412,1419,1429,1440,1451,1462,1473,1484,1496,1502,1512,1524,1536,1547,1558,1570,1581,1593,1603,1613,1623,1633,1645,1657,1669,1679,1689,1699,1708,1717,1723,1733,1743,1752,1761,1770,1782,1793,1803,1813,1825,1837,1848,1859,1870,1880,1890,1900,1912,1924,1936
\ No newline at end of file
+0,4,9,15,26,36,49,60,64,71,78,86,96,100,106,111,119,129,139,149,159,169,179,189,199,209,219,224,228,237,247,256,265,272,284,295,306,318,328,338,350,362,367,377,389,399,414,426,438,449,461,472,483,494,505,516,531,542,553,564,570,578,583,591,600,606,616,626,635,645,654,661,671,681,686,692,702,707,722,732,742,752,762,769,778,784,794,803,816,825,834,843,855,860,869,882,895,908,921,934,947,960,973,986,1001,1016,1031,1046,1061,1076,1091,1106,1121,1136,1151,1166,1175,1184,1194,1201,1210,1222,1232,1244,1254,1265,1275,1286,1295,1304,1313,1320,1329,1338,1348,1354,1363,1373,1383,1393,1403,1415,1422,1432,1443,1454,1465,1476,1487,1499,1505,1515,1527,1539,1550,1561,1573,1584,1596,1606,1618,1628,1638,1647,1653,1659,1671,1681,1692,1702,1712,1722,1732,1744,1756,1768,1778,1788,1798,1807,1816,1822,1832,1842,1851,1860,1869,1881,1892,1902,1912,1924,1936,1947,1958,1969,1981,1991,2003,2013,2025,2035,2047,2057,2068,2077,2087,2096,2106,2115,2121,2127,2139,2149,2161,2171,2183,2193,2204,2214
\ No newline at end of file
diff --git a/radio/src/fonts/480x272/font_stdsizebold.png b/radio/src/fonts/480x272/font_stdsizebold.png
index 5dfd2a49b..6af34b96a 100644
Binary files a/radio/src/fonts/480x272/font_stdsizebold.png and b/radio/src/fonts/480x272/font_stdsizebold.png differ
diff --git a/radio/src/fonts/480x272/font_stdsizebold.specs b/radio/src/fonts/480x272/font_stdsizebold.specs
index ac4ebc21b..d7c4b278a 100644
--- a/radio/src/fonts/480x272/font_stdsizebold.specs
+++ b/radio/src/fonts/480x272/font_stdsizebold.specs
@@ -1 +1 @@
-0,4,9,15,26,36,49,61,65,72,79,88,98,103,110,116,123,133,143,153,163,173,183,193,203,213,223,229,234,243,253,262,271,278,290,301,312,323,333,343,355,367,373,383,395,405,420,432,444,455,467,478,489,500,512,524,539,550,561,572,578,587,592,600,609,615,625,635,644,654,664,671,681,691,696,701,711,716,731,741,751,761,771,778,787,793,803,812,825,835,844,853,864,869,878,891,904,917,930,943,956,969,982,995,1010,1025,1040,1055,1070,1085,1100,1115,1130,1145,1160,1175,1185,1195,1205,1211,1220,1232,1242,1254,1264,1276,1286,1297,1307,1316,1325,1332,1341,1350,1360,1366,1376,1386,1396,1406,1416,1428,1436,1446,1457,1468,1479,1490,1501,1513,1519,1529,1541,1553,1565,1577,1588,1599,1611,1621,1631,1641,1651,1663,1675,1687,1697,1707,1717,1726,1736,1742,1752,1762,1771,1780,1789,1801,1812,1822,1832,1844,1856,1867,1878,1889,1899,1909,1919,1931,1943,1955
\ No newline at end of file
+0,4,9,15,26,36,49,61,65,72,79,88,98,103,110,116,124,134,144,154,164,174,184,194,204,214,224,230,235,244,254,263,272,279,291,302,313,324,334,344,356,368,374,384,396,406,421,433,445,456,468,479,490,501,513,525,540,551,562,573,579,588,593,601,610,616,626,636,645,655,665,672,682,692,697,703,713,718,733,743,753,763,773,780,789,796,806,815,828,838,848,857,868,873,882,895,908,921,934,947,960,973,986,999,1014,1029,1044,1059,1074,1089,1104,1119,1134,1149,1164,1179,1189,1199,1209,1217,1226,1238,1248,1260,1270,1282,1292,1303,1313,1322,1331,1339,1348,1358,1368,1375,1385,1395,1405,1415,1425,1437,1445,1455,1466,1477,1488,1499,1510,1522,1529,1539,1551,1563,1575,1587,1598,1609,1621,1631,1643,1653,1663,1673,1680,1687,1699,1709,1721,1731,1741,1751,1761,1773,1785,1797,1807,1817,1827,1836,1846,1852,1862,1872,1881,1890,1899,1911,1922,1932,1942,1954,1966,1977,1988,1999,2011,2021,2033,2043,2055,2065,2077,2087,2098,2107,2117,2127,2137,2147,2154,2161,2173,2183,2195,2205,2217,2227,2239,2249
\ No newline at end of file
diff --git a/radio/src/fonts/480x272/font_tinsize.png b/radio/src/fonts/480x272/font_tinsize.png
index 66a09bd54..8f2456ce2 100644
Binary files a/radio/src/fonts/480x272/font_tinsize.png and b/radio/src/fonts/480x272/font_tinsize.png differ
diff --git a/radio/src/fonts/480x272/font_tinsize.specs b/radio/src/fonts/480x272/font_tinsize.specs
index 1f6806bfc..4152878fe 100644
--- a/radio/src/fonts/480x272/font_tinsize.specs
+++ b/radio/src/fonts/480x272/font_tinsize.specs
@@ -1 +1 @@
-0,4,7,11,18,24,32,39,42,46,50,55,61,64,68,71,76,82,88,94,100,106,112,118,124,130,136,139,142,148,154,160,165,169,176,183,190,197,203,209,216,223,226,232,239,245,254,261,268,275,282,289,295,302,309,316,325,332,339,346,350,355,358,363,369,373,379,385,391,397,403,408,414,420,423,426,432,435,444,450,456,462,468,472,478,482,488,493,501,507,513,519,526,529,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,535,541,547,553,557,563,570,576,583,589,596,602,608,614,620,626,631,637,643,649,653,659,665,671,677,683,690,695,701,707,714,721,728,735,742,746,752,759,766,773,780,787,794,801,807,813,819,825,832,839,846,852,858,864,870,876,880,886,892,898,904,910,917,924,930,936,943,950,956,963,970,976,982,988,995,1002,1009
\ No newline at end of file
+0,4,7,11,18,24,32,39,42,46,50,55,61,64,68,71,76,82,88,94,100,106,112,118,124,130,136,139,142,148,154,160,165,169,176,183,190,197,203,209,216,223,226,232,239,245,254,261,268,275,282,289,295,302,309,316,325,332,339,346,350,355,358,363,369,373,379,385,391,397,403,408,414,420,423,427,433,436,445,451,457,463,469,473,479,483,489,495,503,509,515,521,528,531,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,543,549,555,560,566,573,579,586,592,599,605,611,617,623,629,634,640,646,652,656,662,668,674,680,686,693,698,704,710,717,724,731,738,745,749,755,762,769,776,783,790,797,804,810,817,823,829,835,839,843,850,856,863,869,875,881,887,894,901,908,914,920,926,932,938,942,948,954,960,966,972,979,986,992,998,1005,1012,1018,1025,1032,1039,1045,1052,1058,1065,1071,1078,1084,1091,1097,1103,1109,1115,1121,1125,1129,1136,1142,1149,1155,1162,1168,1175,1181
\ No newline at end of file
diff --git a/radio/src/fonts/480x272/font_xxlsize.png b/radio/src/fonts/480x272/font_xxlsize.png
index c9a16dfe4..4de2330ff 100644
Binary files a/radio/src/fonts/480x272/font_xxlsize.png and b/radio/src/fonts/480x272/font_xxlsize.png differ
diff --git a/radio/src/fonts/480x272/font_xxlsize.specs b/radio/src/fonts/480x272/font_xxlsize.specs
index ac4d4eb30..3343a5bb3 100644
--- a/radio/src/fonts/480x272/font_xxlsize.specs
+++ b/radio/src/fonts/480x272/font_xxlsize.specs
@@ -1 +1 @@
-0,4,22,44,83,121,169,212,223,246,270,300,336,353,379,399,424,462,500,538,576,614,652,690,728,766,804,823,841,875,913,947,980,1006,1050,1092,1135,1178,1215,1251,1296,1342,1362,1399,1442,1478,1535,1581,1626,1668,1713,1755,1795,1836,1879,1922,1979,2021,2062,2102,2121,2151,2170,2199,2229,2251,2286,2323,2357,2394,2430,2454,2492,2529,2547,2565,2601,2619,2675,2712,2749,2786,2823,2847,2881,2904,2941,2974,3022,3056,3089,3123,3166,3183,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3217,3253,3289,3324,3346,3380,3424,3459,3504,3541,3584,3621,3662,3698,3732,3766,3793,3827,3860,3895,3917,3953,3990,4027,4064,4101,4146,4174,4211,4251,4294,4336,4376,4417,4461,4484,4521,4567,4612,4655,4698,4741,4782,4828,4865,4900,4935,4972,5016,5060,5105,5140,5177,5212,5246,5282,5303,5340,5377,5411,5445,5479,5523,5566,5603,5640,5686,5731,5771,5811,5851,5886,5921,5958,6002,6046,6091
\ No newline at end of file
+0,4,22,44,83,121,169,212,223,246,270,300,336,353,379,399,425,463,501,539,577,615,653,691,729,767,805,824,842,876,914,948,981,1007,1051,1093,1136,1179,1216,1252,1297,1343,1363,1400,1443,1479,1536,1582,1627,1669,1714,1756,1796,1837,1880,1923,1980,2022,2063,2103,2122,2152,2171,2200,2230,2252,2287,2324,2358,2395,2431,2455,2493,2530,2548,2569,2605,2623,2679,2716,2753,2790,2827,2851,2885,2908,2945,2978,3026,3060,3094,3128,3171,3188,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3222,3258,3294,3329,3355,3389,3433,3468,3513,3550,3593,3630,3671,3707,3741,3775,3802,3836,3870,3905,3927,3963,4000,4037,4074,4111,4156,4184,4221,4261,4304,4346,4386,4427,4471,4493,4530,4576,4621,4664,4707,4750,4791,4837,4874,4918,4953,4990,5026,5048,5070,5115,5152,5195,5232,5267,5302,5339,5383,5427,5472,5507,5544,5579,5613,5649,5670,5707,5744,5778,5812,5846,5890,5933,5970,6007,6053,6098,6138,6178,6218,6262,6297,6341,6376,6420,6455,6499,6534,6577,6611,6648,6684,6721,6757,6779,6801,6846,6883,6928,6965,7010,7047,7090,7127
\ No newline at end of file
diff --git a/radio/src/fonts/sqt5/font_es_04x06.png b/radio/src/fonts/sqt5/font_es_04x06.png
index 23425282a..64c5040a8 100644
Binary files a/radio/src/fonts/sqt5/font_es_04x06.png and b/radio/src/fonts/sqt5/font_es_04x06.png differ
diff --git a/radio/src/fonts/sqt5/font_es_05x07.png b/radio/src/fonts/sqt5/font_es_05x07.png
index d23e8b850..55ec15e4f 100644
Binary files a/radio/src/fonts/sqt5/font_es_05x07.png and b/radio/src/fonts/sqt5/font_es_05x07.png differ
diff --git a/radio/src/fonts/sqt5/font_es_08x10.png b/radio/src/fonts/sqt5/font_es_08x10.png
index 6f520ee2a..c2c9b9465 100644
Binary files a/radio/src/fonts/sqt5/font_es_08x10.png and b/radio/src/fonts/sqt5/font_es_08x10.png differ
diff --git a/radio/src/fonts/sqt5/font_es_10x14.png b/radio/src/fonts/sqt5/font_es_10x14.png
index d66da4460..bfaa3b87e 100644
Binary files a/radio/src/fonts/sqt5/font_es_10x14.png and b/radio/src/fonts/sqt5/font_es_10x14.png differ
diff --git a/radio/src/fonts/std/font_es_04x06.png b/radio/src/fonts/std/font_es_04x06.png
index 876bc5b7a..b3cff8c78 100644
Binary files a/radio/src/fonts/std/font_es_04x06.png and b/radio/src/fonts/std/font_es_04x06.png differ
diff --git a/radio/src/fonts/std/font_es_05x07.png b/radio/src/fonts/std/font_es_05x07.png
index 50a64fe6c..066e7cab5 100644
Binary files a/radio/src/fonts/std/font_es_05x07.png and b/radio/src/fonts/std/font_es_05x07.png differ
diff --git a/radio/src/fonts/std/font_es_08x10.png b/radio/src/fonts/std/font_es_08x10.png
index d88578f1f..78a166085 100644
Binary files a/radio/src/fonts/std/font_es_08x10.png and b/radio/src/fonts/std/font_es_08x10.png differ
diff --git a/radio/src/fonts/std/font_es_10x14.png b/radio/src/fonts/std/font_es_10x14.png
index 72383b448..05411cc13 100644
Binary files a/radio/src/fonts/std/font_es_10x14.png and b/radio/src/fonts/std/font_es_10x14.png differ
diff --git a/radio/src/gui/480x272/layouts/layout2x1.cpp b/radio/src/gui/480x272/layouts/layout2x1.cpp
index 3c06d7079..81e196d63 100644
--- a/radio/src/gui/480x272/layouts/layout2x1.cpp
+++ b/radio/src/gui/480x272/layouts/layout2x1.cpp
@@ -45,7 +45,7 @@ class Layout2x1: public Layout
virtual unsigned int getZonesCount() const
{
- return 4;
+ return 2;
}
virtual Zone getZone(unsigned int index) const
diff --git a/radio/src/gui/480x272/lcd.cpp b/radio/src/gui/480x272/lcd.cpp
index e77fb66c5..34e8831d8 100644
--- a/radio/src/gui/480x272/lcd.cpp
+++ b/radio/src/gui/480x272/lcd.cpp
@@ -49,24 +49,24 @@ uint8_t getMappedChar(uint8_t c)
result = 127 + c - 0x80;
}
#elif defined(TRANSLATIONS_ES)
- else if (c >= 0x80 && c <= 0x81) {
+ else if (c >= 0x80 && c <= 0x80+12) {
result = 157 + c - 0x80;
}
#elif defined(TRANSLATIONS_FI) || defined(TRANSLATIONS_SE)
else if (c >= 0x80 && c <= 0x85) {
- result = 159 + c - 0x80;
+ result = 169 + c - 0x80;
}
#elif defined(TRANSLATIONS_IT)
else if (c >= 0x80 && c <= 0x81) {
- result = 165 + c - 0x80;
+ result = 175 + c - 0x80;
}
#elif defined(TRANSLATIONS_PL)
else if (c >= 0x80 && c <= 0x80+17) {
- result = 167 + c - 0x80;
+ result = 177 + c - 0x80;
}
#elif defined(TRANSLATIONS_PT)
else if (c >= 0x80 && c <= 0x80+21) {
- result = 185 + c - 0x80;
+ result = 195 + c - 0x80;
}
#endif
else if (c < 0xC0)
diff --git a/radio/src/gui/480x272/screens_setup.cpp b/radio/src/gui/480x272/screens_setup.cpp
index c1f251460..e73afed68 100644
--- a/radio/src/gui/480x272/screens_setup.cpp
+++ b/radio/src/gui/480x272/screens_setup.cpp
@@ -346,7 +346,7 @@ bool menuWidgetsSetup(event_t event)
currentScreen->refresh();
- for (int i=currentContainer->getZonesCount()-1; i>=0; i--) {
+ for (int i = currentContainer->getZonesCount() - 1; i >= 0; i--) {
Zone zone = currentContainer->getZone(i);
LcdFlags color;
int padding, thickness;
diff --git a/radio/src/gui/common/colorlcd/draw_functions.cpp b/radio/src/gui/common/colorlcd/draw_functions.cpp
index 1854c0057..c75ae824e 100644
--- a/radio/src/gui/common/colorlcd/draw_functions.cpp
+++ b/radio/src/gui/common/colorlcd/draw_functions.cpp
@@ -18,6 +18,7 @@
* GNU General Public License for more details.
*/
+#include
#include "opentx.h"
void drawStringWithIndex(coord_t x, coord_t y, const char * str, int idx, LcdFlags flags, const char * prefix, const char * suffix)
diff --git a/radio/src/tests/fonts_480x272.png b/radio/src/tests/fonts_480x272.png
index da2ac09d3..3ba0dcbaf 100644
Binary files a/radio/src/tests/fonts_480x272.png and b/radio/src/tests/fonts_480x272.png differ
diff --git a/radio/src/tests/primitives_480x272.png b/radio/src/tests/primitives_480x272.png
index ae3f0b94f..68bb2f886 100644
Binary files a/radio/src/tests/primitives_480x272.png and b/radio/src/tests/primitives_480x272.png differ
diff --git a/radio/src/tests/transparency_480x272.png b/radio/src/tests/transparency_480x272.png
index b8fec6660..2b0588eb9 100644
Binary files a/radio/src/tests/transparency_480x272.png and b/radio/src/tests/transparency_480x272.png differ
diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt
index 4f83ac5b3..3fbe10531 100644
--- a/radio/src/translations/es.h.txt
+++ b/radio/src/translations/es.h.txt
@@ -63,9 +63,9 @@
#define LEN_AUX_SERIAL_MODES "\015"
#if defined(CLI) || defined(DEBUG)
-#define TR_AUX_SERIAL_MODES "Debug\0 ""Telem Mirror\0""Telemetria\0 ""Entrenador SBUS""LUA\0 "
+#define TR_AUX_SERIAL_MODES "Debug\0 ""Telem Mirror\0""Telemetría\0 ""Entrenador SBUS""LUA\0 "
#else
-#define TR_AUX_SERIAL_MODES "OFF\0 ""Telem Mirror\0""Telemetria\0 ""Entrenador SBUS""LUA\0 "
+#define TR_AUX_SERIAL_MODES "OFF\0 ""Telem Mirror\0""Telemetría\0 ""Entrenador SBUS""LUA\0 "
#endif
#define LEN_SWTYPES "\007"
@@ -84,7 +84,7 @@
#define TR_VPERSISTENT "OFF\0 ""Vuelo\0 ""Reset manual"
#define LEN_COUNTRYCODES TR("\002", "\007")
-#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japon\0 ""Europa\0")
+#define TR_COUNTRYCODES TR("US""JP""EU", "América""Japón\0 ""Europa\0")
#define LEN_USBMODES "\010"
#define TR_USBMODES "Pregunta""Joystick""SDCard\0 ""Serie\0 "
@@ -199,7 +199,7 @@
#define TR_PLAY_VALUE "[OirValor]"
#endif
-#define TR_SF_BG_MUSIC "BgMusica\0 ""BgMusica||"
+#define TR_SF_BG_MUSIC "BgMúsica\0 ""BgMúsica||"
#if defined(SDCARD)
#define TR_SDCLOGS "SD Logs\0 "
@@ -234,10 +234,10 @@
#define TR_SF_SCREENSHOT "Captura"
#define TR_SF_RESERVE "[reserv.]\0"
-#define TR_VFSWFUNC TR_SF_SAFETY "Entrenador""Inst. Trim""Reset\0 ""Ajuste \0 " TR_ADJUST_GVAR "Volumen\0 " "Failsafe\0 " "CheckRango" "Enl.Modulo" TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_SF_RESERVE TR_SF_PLAY_SCRIPT TR_SF_RESERVE TR_SF_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Luz Fondo\0" TR_SF_SCREENSHOT TR_SF_TEST
+#define TR_VFSWFUNC TR_SF_SAFETY "Entrenador""Inst. Trim""Reset\0 ""Ajuste \0 " TR_ADJUST_GVAR "Volumen\0 " "Failsafe\0 " "CheckRango" "Enl.módulo" TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_SF_RESERVE TR_SF_PLAY_SCRIPT TR_SF_RESERVE TR_SF_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Luz Fondo\0" TR_SF_SCREENSHOT TR_SF_TEST
#define LEN_VFSWRESET TR("\004", "\012")
-#define TR_FSW_RESET_TELEM TR("Telm", "Telemetria")
+#define TR_FSW_RESET_TELEM TR("Telm", "Telemetría")
#if LCD_W >= 212
#define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 "
@@ -258,7 +258,7 @@
#define SPEED_UNIT_METR "kmh"
#define LEN_VUNITSSYSTEM "\010"
-#define TR_VUNITSSYSTEM "Metrico\0""Imperial"
+#define TR_VUNITSSYSTEM "Métrico\0""Imperial"
#define LEN_VTELEMUNIT "\003"
#define TR_VTELEMUNIT "-\0 ""V\0 ""A\0 ""mA\0""kts""m/s""f/s""kmh""mph""m\0 ""ft\0""@C\0""@F\0""%\0 ""mAh""W\0 ""mW\0""dB\0""rpm""g\0 ""@\0 ""rad""ml\0""fOz"
@@ -266,7 +266,7 @@
#define STR_A (STR_VTELEMUNIT+4)
#define LEN_VTELEMSCREENTYPE "\007"
-#define TR_VTELEMSCREENTYPE "Nada\0 ""Numeros""Barras\0""Script\0"
+#define TR_VTELEMSCREENTYPE "Nada\0 ""Números""Barras\0""Script\0"
#define LEN_GPSFORMAT "\004"
#define TR_GPSFORMAT "HMS NMEA"
@@ -350,8 +350,8 @@
#define LEN_VTRAINERMODES "\022"
#define TR_VTRAINER_MASTER_JACK "Master/Jack\0 "
#define TR_VTRAINER_SLAVE_JACK "Esclav/Jack\0 "
-#define TR_VTRAINER_MASTER_SBUS_MODULE "Master/Modulo SBUS"
-#define TR_VTRAINER_MASTER_CPPM_MODULE "Master/Modulo CPPM"
+#define TR_VTRAINER_MASTER_SBUS_MODULE "Master/Módulo SBUS"
+#define TR_VTRAINER_MASTER_CPPM_MODULE "Master/Módulo CPPM"
#define TR_VTRAINER_MASTER_BATTERY "Master/Serie\0 "
#define TR_VTRAINER_BLUETOOTH TR("Master/BT\0 ""Esclavo/BT\0 ", "Master/Bluetooth\0 ""Esclavo/Bluetooth\0")
#define TR_VTRAINER_MULTI "Master/Multi"
@@ -364,7 +364,7 @@
#define TR_VSENSORTYPES "Custom\0 ""Calculado"
#define LEN_VFORMULAS "\011"
-#define TR_VFORMULAS "Suma\0 ""Media\0 ""Min\0 ""Max\0 ""Multipl. ""Total\0 ""Cell\0 ""Consumo\0 ""Distancia"
+#define TR_VFORMULAS "Suma\0 ""Media\0 ""Min\0 ""Máx\0 ""Multipl. ""Total\0 ""Cell\0 ""Consumo\0 ""Distancia"
#define LEN_VPREC "\004"
#define TR_VPREC "0.--""0.0 ""0.00"
@@ -426,7 +426,7 @@
#define TR_EXPONAME TR("Nom.", "Nombre expo")
#define TR_BITMAP "Imagen modelo"
#define TR_TIMER TR("Timer", "Timer ")
-#define TR_ELIMITS TR("E.Limite", "Ampliar limites")
+#define TR_ELIMITS TR("E.Límite", "Ampliar límites")
#define TR_ETRIMS TR("E.Trims", "Ampliar trims")
#define TR_TRIMINC "Paso trim"
#define TR_DISPLAY_TRIMS "Ver trims"
@@ -450,14 +450,14 @@
#define TR_DEFAULT "(defecto)"
#define TR_CHECKTRIMS CENTER "\006Check\012Trims"
#define OFS_CHECKTRIMS CENTER_OFS+(9*FW)
-#define TR_SWASHTYPE "Tipo ciclico"
+#define TR_SWASHTYPE "Tipo cíclico"
#define TR_COLLECTIVE TR("Colectivo", "Fuente colectivo")
#define TR_AILERON TR("Col. lateral", "Fuente col. lateral")
#define TR_ELEVATOR TR("Col. long. ", "Fuente col. longitudinal")
#define TR_SWASHRING "Ciclico"
-#define TR_ELEDIRECTION TR("ELE Direccion", "Largo cyc. direccion")
-#define TR_AILDIRECTION TR("AIL Direccion", "Lateral cyc. direccion")
-#define TR_COLDIRECTION TR("PIT Direccion", "Coll. pitch direccion")
+#define TR_ELEDIRECTION TR("ELE Dirección", "Largo cyc. dirección")
+#define TR_AILDIRECTION TR("AIL Dirección", "Lateral cyc. dirección")
+#define TR_COLDIRECTION TR("PIT Dirección", "Coll. pitch dirección")
#define TR_MODE "Modo"
#define TR_SUBTYPE INDENT "Subtipo"
#define TR_NOFREEEXPO "No expo libre!"
@@ -476,7 +476,7 @@
#define TR_MIXWARNING "Aviso"
#define TR_OFF "OFF"
#define TR_ANTENNA "Antena"
-#define TR_NO_INFORMATION TR("Sin info", "Sin informacion")
+#define TR_NO_INFORMATION TR("Sin info", "Sin información")
#define TR_MULTPX "Multipx"
#define TR_DELAYDOWN "Atraso bajar"
#define TR_DELAYUP "Atraso subir"
@@ -495,17 +495,17 @@
#define TR_SCREEN "Pant. "
#define TR_SOUND_LABEL "Sonido"
#define TR_LENGTH INDENT"Longitud"
-#define TR_BEEP_LENGTH INDENT "Duracion Beep"
+#define TR_BEEP_LENGTH INDENT "Duración Beep"
#define TR_SPKRPITCH INDENT"Tono"
#define TR_HAPTIC_LABEL "Haptic"
#define TR_HAPTICSTRENGTH INDENT"Intensidad"
#define TR_GYRO_LABEL "Gyro"
#define TR_GYRO_OFFSET "Offset"
-#define TR_GYRO_MAX "Max"
+#define TR_GYRO_MAX "Máx"
#define TR_CONTRAST "Contraste"
#define TR_ALARMS_LABEL "Alarmas"
-#define TR_BATTERY_RANGE TR("Rango bateria", "Rango medidor bateria")
-#define TR_BATTERYWARNING INDENT"Bateria baja"
+#define TR_BATTERY_RANGE TR("Rango batería", "Rango medidor batería")
+#define TR_BATTERYWARNING INDENT"Batería baja"
#define TR_INACTIVITYALARM INDENT"Inactividad"
#define TR_MEMORYWARNING INDENT"Memoria baja"
#define TR_ALARMWARNING INDENT"Sin sonido"
@@ -516,10 +516,10 @@
#define TR_THROTTLE_LABEL "Potencia"
#define TR_THROTTLEREVERSE TR("Invert acel", INDENT "Invertir acel.")
#define TR_MINUTEBEEP TR("Minuto", "Cada minuto")
-#define TR_BEEPCOUNTDOWN TR(INDENT"Cta. atras", INDENT"Cuenta atras")
+#define TR_BEEPCOUNTDOWN TR(INDENT"Cta. atrás", INDENT"Cuenta atrás")
#define TR_PERSISTENT TR(INDENT"Persisten.", INDENT"Persistente")
#define TR_BACKLIGHT_LABEL "Luz fondo"
-#define TR_BLDELAY INDENT"Duracion"
+#define TR_BLDELAY INDENT"Duración"
#define TR_BLONBRIGHTNESS INDENT"MAS brillo"
#define TR_BLOFFBRIGHTNESS INDENT"MENOS brillo"
#define TR_BLCOLOR INDENT "Color"
@@ -560,7 +560,7 @@
#define TR_ACCEL "Acc:"
#define TR_NODATA CENTER "SIN DATOS"
#define TR_US "us"
-#define TR_TMIXMAXMS "Tmix max"
+#define TR_TMIXMAXMS "Tmix máx"
#define TR_FREE_STACK "Stack libre"
#define TR_MENUTORESET TR_ENTER "Resetear"
#define TR_PPM_TRAINER "TR"
@@ -574,20 +574,20 @@
#define TR_THROTTLENOTIDLE "Aceler. Activado"
#define TR_ALARMSDISABLED "Alarmas Desact."
#define TR_PRESSANYKEY TR("\010Pulsa una tecla", "Pulsa una tecla")
-#define TR_BADEEPROMDATA "Error datos EEprom"
+#define TR_BADEEPROMDATA "Error datos EEPROM"
#define TR_BAD_RADIO_DATA "Error datos radio"
#define TR_EEPROMFORMATTING "Formateo EEPROM"
-#define TR_STORAGE_FORMAT "Preparacion alamacenamiento"
+#define TR_STORAGE_FORMAT "Preparación alamacenamiento"
#define TR_EEPROMOVERFLOW "Desborde EEPROM"
-#define TR_MENURADIOSETUP "CONFIGURACION"
+#define TR_MENURADIOSETUP "CONFIGURACIÓN"
#define TR_MENUDATEANDTIME "FECHA Y HORA"
#define TR_MENUTRAINER "ENTRENADOR"
#define TR_MENUSPECIALFUNCS "FUNCIONES GLOBALES"
-#define TR_MENUVERSION "VERSION"
+#define TR_MENUVERSION "VERSIÓN"
#define TR_MENU_RADIO_SWITCHES TR("INTERUPTS", "TEST INTERRUPTORES")
-#define TR_MENU_RADIO_ANALOGS TR("ANALOGICOS", "TEST ANALOGICOS")
-#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST"
-#define TR_MENUCALIBRATION "CALIBRACION"
+#define TR_MENU_RADIO_ANALOGS TR("ANALÓGICOS", "TEST ANALÓGICOS")
+#define TR_MENUCALIBRATION "CALIBRACIÓN"
+#define TR_MENU_RADIO_TOUCH "TOUCHSCREEN TEST"
#if defined(COLORLCD)
#define TR_TRIMS2OFFSETS "Trims => Offsets"
#else
@@ -595,11 +595,11 @@
#endif
#define TR_CHANNELS2FAILSAFE "Canales=>Failsafe"
#define TR_CHANNEL2FAILSAFE "Canal=>Failsafe"
-#define TR_MENUMODELSEL TR("MODELOS", "SELECCION MODELO")
-#define TR_MENUSETUP TR("CONFIG. MODELO", "CONFIGURACION MODELO")
+#define TR_MENUMODELSEL TR("MODELOS", "SELECCIÓN MODELO")
+#define TR_MENUSETUP TR("CONFIG. MODELO", "CONFIGURACIÓN MODELO")
#define TR_MENUFLIGHTMODE "MODO DE VUELO"
#define TR_MENUFLIGHTMODES "MODOS DE VUELO"
-#define TR_MENUHELISETUP "CONFIGURACION HELI"
+#define TR_MENUHELISETUP "CONFIGURACIÓN HELI"
// Alignment
@@ -609,22 +609,22 @@
#define TR_MENULIMITS "SERVOS"
#else
#define TR_MENUINPUTS "DR/EXPO"
- #define TR_MENULIMITS "LIMITES"
+ #define TR_MENULIMITS "LÍMITES"
#endif
#define TR_MENUCURVES "CURVAS"
#define TR_MENUCURVE "CURVA"
-#define TR_MENULOGICALSWITCH "INTERRUP.LOGICO"
-#define TR_MENULOGICALSWITCHES TR3("INTERRUP. LOGICOS", "INTERRUP. LOGICOS", "INTERRUPTORES LOGICOS")
+#define TR_MENULOGICALSWITCH "INTERRUP.LÓGICO"
+#define TR_MENULOGICALSWITCHES TR3("INTERRUP. LÓGICOS", "INTERRUP. LÓGICOS", "INTERRUPTORES LÓGICOS")
#define TR_MENUCUSTOMFUNC TR("FUNCIONES", "FUNCIONES ESPECIALES")
#define TR_MENUCUSTOMSCRIPTS "CUSTOM SCRIPTS"
-#define TR_MENUTELEMETRY "TELEMETRIA"
+#define TR_MENUTELEMETRY "TELEMETRÍA"
#define TR_MENUTEMPLATES "PLANTILLAS"
-#define TR_MENUSTAT TR("ESTAD.", "ESTADISTICAS")
+#define TR_MENUSTAT TR("ESTAD.", "ESTADÍSTICAS")
#define TR_MENUDEBUG "DEBUG"
#define TR_MONITOR_CHANNELS1 "MONITOR CANALES 1/8"
#define TR_MONITOR_CHANNELS2 "MONITOR CANALES 9/16"
-#define TR_MONITOR_SWITCHES "MONITOR INTERRP LOGICOS"
+#define TR_MONITOR_SWITCHES "MONITOR INTERRP LÓGICOS"
#define TR_MONITOR_CHANNELS3 "MONITOR CANALES 17/24"
#define TR_MONITOR_CHANNELS4 "MONITOR CANALES 25/32"
#define TR_MONITOR_OUTPUT_DESC "SALIDAS"
@@ -632,27 +632,27 @@
#define TR_RECEIVER_NUM TR("Num Rx", "Receptor No.")
#define TR_RECEIVER "Receptor"
#define TR_MULTI_RFTUNE TR("Sint.freq.", "RF Freq. sint.fina")
-#define TR_MULTI_TELEMETRY "Telemetria"
-#define TR_MULTI_VIDFREQ TR("Freq. Vid.", "Frecuencia Video")
+#define TR_MULTI_TELEMETRY "Telemetría"
+#define TR_MULTI_VIDFREQ TR("Freq.vídeo", "Frecuencia vídeo")
#define TR_RFPOWER "RF Power"
#define TR_MULTI_FIXEDID TR("ID Fijo", "ID Fijo")
-#define TR_MULTI_OPTION TR("Opcion", "Valor opcion")
+#define TR_MULTI_OPTION TR("Opción", "Valor opción")
#define TR_MULTI_AUTOBIND TR(INDENT "Emp Cnl",INDENT "Emparejar en canal")
#define TR_DISABLE_CH_MAP TR("No ch map", "Desactivar mapa cnl")
#define TR_DISABLE_TELEM TR("No telem", "Desactivar telem.")
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetectar formato")
#define TR_MULTI_LOWPOWER TR(INDENT "Baja poten.", INDENT "Modo de baja poten.")
-#define TR_MULTI_LNA_DISABLE INDENT "LNA disable"
+#define TR_MULTI_LNA_DISABLE INDENT "LNA desact."
#define TR_MODULE_TELEMETRY TR(INDENT "S.Port", INDENT "S.Port link")
#define TR_MODULE_TELEM_ON TR("ON", "Activado")
-#define TR_DISABLE_INTERNAL TR("Desac.RF int", "Desact. mod. int. RF")
+#define TR_DISABLE_INTERNAL TR("Desac.RF int", "Desact. mód. int. RF")
#define TR_MODULE_NO_SERIAL_MODE TR("No modo serie", "No en modo serie")
-#define TR_MODULE_NO_INPUT TR("Sin señal", "Sin señal")
-#define TR_MODULE_NO_TELEMETRY TR3( "No telemetria", "No MULTI_TELEMETRY", "No telemetria (activa MULTI_TELEMETRY)")
+#define TR_MODULE_NO_INPUT "Sin señal"
+#define TR_MODULE_NO_TELEMETRY TR3( "No telemetría", "No MULTI_TELEMETRY", "No telemetría (activa MULTI_TELEMETRY)")
#define TR_MODULE_WAITFORBIND "Emparejar con protocolo"
#define TR_MODULE_BINDING "Emparejando"
-#define TR_MODULE_UPGRADE_ALERT TR3("Actualizar", "Actualizar modulo", "Actualizar\nmodulo")
-#define TR_MODULE_UPGRADE TR("Act recom", "Actualizar modulo recomendado")
+#define TR_MODULE_UPGRADE_ALERT TR3("Actualizar", "Actualizar módulo", "Actualizar\nmódulo")
+#define TR_MODULE_UPGRADE TR("Act recom", "Actualizar módulo recomendado")
#define TR_REBIND "Reemparejar "
#define TR_REG_OK "Registro ok"
#define TR_BIND_OK "Emparejado ok"
@@ -660,32 +660,32 @@
#define TR_BINDING_CH1_8_TELEM_OFF "Ch1-8 Telem OFF"
#define TR_BINDING_CH9_16_TELEM_ON "Ch9-16 Telem ON"
#define TR_BINDING_CH9_16_TELEM_OFF "Ch9-16 Telem OFF"
-#define TR_PROTOCOL_INVALID TR("Prot. invalido", "Protocolo invalido")
-#define TR_MODULE_STATUS TR(INDENT "Estado", INDENT "Estado modulo")
+#define TR_PROTOCOL_INVALID TR("Prot. inválido", "Protocolo inválido")
+#define TR_MODULE_STATUS TR(INDENT "Estado", INDENT "Estado módulo")
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Estado proto sync")
#define TR_MULTI_SERVOFREQ TR("V ref serv", "Vel. refr. servo")
-#define TR_MULTI_MAX_THROW TR("Max. Throw", "Activar max. throw")
+#define TR_MULTI_MAX_THROW TR("Máx. Throw", "Activar máx. throw")
#define TR_MULTI_RFCHAN TR("Canal RF", "Selecciona canal RF")
#define TR_SYNCMENU "Sync " TR_ENTER
-#define TR_LIMIT INDENT"Limite"
+#define TR_LIMIT INDENT"Límite"
#define TR_MINRSSI "Min Rssi"
#define TR_LATITUDE "Latitud"
#define TR_LONGITUDE "Longitud"
#define TR_GPSCOORD TR("Coords GPS", INDENT "Formato coordenadas")
-#define TR_VARIO TR("Vario", "Variometro")
+#define TR_VARIO TR("Vario", "Variómetro")
#define TR_PITCH_AT_ZERO INDENT "Pitch en cero"
-#define TR_PITCH_AT_MAX INDENT "Pitch en max"
+#define TR_PITCH_AT_MAX INDENT "Pitch en máx"
#define TR_REPEAT_AT_ZERO TR(INDENT "Repet. en cero", INDENT "Repetir en cero")
#define TR_SHUTDOWN "APAGANDO"
#define TR_SAVEMODEL "Grabando modelo"
-#define TR_BATT_CALIB TR("Calib.bat.", "Calibracion bateria")
+#define TR_BATT_CALIB TR("Calib.bat.", "Calibración batería")
#define TR_CURRENT_CALIB "Calib. actual"
#define TR_VOLTAGE INDENT"Voltaje"
#define TR_CURRENT INDENT"Actual"
#define TR_SELECT_MODEL TR("Selec. modelo", "Seleccionar modelo")
-#define TR_CREATE_CATEGORY "Crear categoria"
-#define TR_RENAME_CATEGORY "Renombrar categoria"
-#define TR_DELETE_CATEGORY "Borrar categoria"
+#define TR_CREATE_CATEGORY "Crear categoría"
+#define TR_RENAME_CATEGORY "Renombrar categoría"
+#define TR_DELETE_CATEGORY "Borrar categoría"
#define TR_CREATE_MODEL "Crear modelo"
#define TR_DUPLICATE_MODEL "Duplicar modelo"
#define TR_COPY_MODEL "Copiar modelo"
@@ -694,7 +694,7 @@
#define TR_DELETE_MODEL "Borrar modelo"
#define TR_RESTORE_MODEL "Restaurar modelo"
#define TR_DELETE_ERROR "Error de borrado"
-#define TR_CAT_NOT_EMPTY "Categoria no esta vacia"
+#define TR_CAT_NOT_EMPTY "Categoría no esta vacía"
#define TR_SDCARD_ERROR "Error SDCARD"
#define TR_NO_SDCARD "No SDCARD"
#define TR_WAITING_FOR_RX "Esperando a RX..."
@@ -706,28 +706,28 @@
#define TR_CONNECTED "Conectado"
#define TR_FLEX_915 "Flex 915MHz"
#define TR_FLEX_868 "Flex 868MHz"
-#define TR_16CH_WITHOUT_TELEMETRY TR("16CH sin telem.", "16CH sin telemetria")
-#define TR_16CH_WITH_TELEMETRY TR("16CH con telem.", "16CH con telemetria")
-#define TR_8CH_WITH_TELEMETRY TR("8CH con telem.", "8CH con telemetria")
+#define TR_16CH_WITHOUT_TELEMETRY TR("16CH sin telem.", "16CH sin telemetría")
+#define TR_16CH_WITH_TELEMETRY TR("16CH con telem.", "16CH con telemetría")
+#define TR_8CH_WITH_TELEMETRY TR("8CH con telem.", "8CH con telemetría")
#define TR_EXT_ANTENNA "Antena ext."
#define TR_PIN "Pin"
#define TR_UPDATE_RX_OPTIONS "Actualizar opciones RX?"
#define TR_UPDATE_TX_OPTIONS "Actualizar opciones TX?"
-#define TR_MODULES_RX_VERSION "Modulos / version RX"
-#define TR_MENU_MODULES_RX_VERSION "MODULOS / VERSION RX"
+#define TR_MODULES_RX_VERSION "Módulos / versión RX"
+#define TR_MENU_MODULES_RX_VERSION "MÓDULOS / VERSIÓN RX"
#define TR_MENU_FIRM_OPTIONS "OPCIONES FIRMWARE"
#define TR_GYRO "Gyro"
#define TR_STICKS_POTS_SLIDERS "Sticks/Pots/Sliders"
#define TR_PWM_STICKS_POTS_SLIDERS "PWM Sticks/Pots/Sliders"
#define TR_RF_PROTOCOL "Protocolo RF"
-#define TR_MODULE_OPTIONS "Opciones modulo"
+#define TR_MODULE_OPTIONS "Opciones módulo"
#define TR_POWER "Potencia"
#define TR_NO_TX_OPTIONS "Sin opciones TX"
-#define TR_RTC_BATT TR("Bat. RTC", "Bateria RTC")
+#define TR_RTC_BATT TR("Bat. RTC", "Batería RTC")
#define TR_POWER_METER_EXT "Medidor potencia(EXT)"
#define TR_POWER_METER_INT "Medidor potencia(INT)"
-#define TR_SPECTRUM_ANALYSER_EXT "Spectro (EXT)"
-#define TR_SPECTRUM_ANALYSER_INT "Spectro (INT)"
+#define TR_SPECTRUM_ANALYSER_EXT "Espectro (EXT)"
+#define TR_SPECTRUM_ANALYSER_INT "Espectro (INT)"
#define TR_SDCARD_FULL "SD Card llena"
#define TR_NEEDS_FILE "NECESITA ARCHIVO"
#define TR_EXT_MULTI_SPEC "opentx-inv"
@@ -743,11 +743,11 @@
#define TR_FAILSAFEWARN "FAILSAFE"
#define TR_TEST_WARNING TR("TESTING", "TEST BUILD")
#define TR_TEST_NOTSAFE "Usar solo para test"
-#define TR_WRONG_SDCARDVERSION TR("Ver esperada: ", "Version esperada: ")
-#define TR_WARN_RTC_BATTERY_LOW "Bateria RTC baja"
+#define TR_WRONG_SDCARDVERSION TR("Ver esperada: ", "Versión esperada: ")
+#define TR_WARN_RTC_BATTERY_LOW "Batería RTC baja"
#define TR_WARN_MULTI_LOWPOWER "Modo baja potencia"
-#define TR_BATTERY "BATERIA"
-#define TR_WRONG_PCBREV "Placa PCB erronea"
+#define TR_BATTERY "BATERÍA"
+#define TR_WRONG_PCBREV "Placa PCB errónea"
#define TR_EMERGENCY_MODE "MODO EMERGENCIA"
#define TR_PCBREV_ERROR "Error PCB"
#define TR_NO_FAILSAFE "Failsafe no fijado"
@@ -763,16 +763,16 @@
#define TR_COPROC_TEMP "MB Temp. \016>"
#define TR_CAPAWARNING INDENT "Capacidad baja"
#define TR_TEMPWARNING INDENT "Sobrecalent"
-#define TR_FUNC "Funcion"
+#define TR_FUNC "Función"
#define TR_V1 "V1"
#define TR_V2 "V2"
-#define TR_DURATION "Duracion"
+#define TR_DURATION "Duración"
#define TR_DELAY "Atraso"
#define TR_SD_CARD "SD CARD"
#define TR_SDHC_CARD "SD-HC CARD"
#define TR_NO_SOUNDS_ON_SD "Sin sonidos en SD"
#define TR_NO_MODELS_ON_SD "Sin modelos en SD"
-#define TR_NO_BITMAPS_ON_SD "Sin imagenes en SD"
+#define TR_NO_BITMAPS_ON_SD "Sin imágenes en SD"
#define TR_NO_SCRIPTS_ON_SD "No scripts en SD"
#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error"
#define TR_SCRIPT_PANIC "Script panic"
@@ -786,27 +786,27 @@
#define TR_ASSIGN_SPLASH "Pant. bienvenida"
#define TR_EXECUTE_FILE "Ejecutar"
#define TR_REMOVED "Borrado"
-#define TR_SD_INFO "Informacion"
+#define TR_SD_INFO "Información"
#define TR_SD_FORMAT "Formatear"
#define TR_NA "N/A"
#define TR_HARDWARE "COMPONENTES"
#define TR_FORMATTING "Formateando.."
#define TR_TEMP_CALIB "Temp. Calib"
#define TR_TIME "Hora"
-#define TR_MAXBAUDRATE "Max bauds"
+#define TR_MAXBAUDRATE "Máx bauds"
#define TR_BLUETOOTH "Bluetooth"
#define TR_BLUETOOTH_DISC "Buscar"
#define TR_BLUETOOTH_INIT "Init"
#define TR_BLUETOOTH_DIST_ADDR "Dir. remota"
#define TR_BLUETOOTH_LOCAL_ADDR "Dir. local"
-#define TR_BLUETOOTH_PIN_CODE "Codigo PIN"
+#define TR_BLUETOOTH_PIN_CODE "Código PIN"
#define TR_BAUDRATE "Velocidad BT"
#define LEN_BLUETOOTH_MODES "\012"
#if defined(PCBX9E)
#define TR_BLUETOOTH_MODES "---\0 ""Activo\0 "
#else
-#define TR_BLUETOOTH_MODES "---\0 ""Telemetria""Entrenador"
+#define TR_BLUETOOTH_MODES "---\0 ""Telemetría""Entrenador"
#endif
#define TR_SD_INFO_TITLE "SD INFO"
#define TR_SD_TYPE "Tipo:"
@@ -831,24 +831,24 @@
#define TR_FLASH_RECEIVER_OTA "Flash RX OTA"
#define TR_FLASH_RECEIVER_OTA_BY_EXTERNAL "Flash RX por ext. OTA"
#define TR_FLASH_RECEIVER_OTA_BY_INTERNAL "Flash RX por int. OTA"
-#define TR_FLASH_BLUETOOTH_MODULE TR("Flash modulo BT", "Flash modulo bluetooth")
+#define TR_FLASH_BLUETOOTH_MODULE TR("Flash módulo BT", "Flash módulo bluetooth")
#define TR_FLASH_POWER_MANAGEMENT_UNIT "Flash unid. pwr mngt"
-#define TR_CURRENT_VERSION TR("Vers. actual", "Version actual: ")
-#define TR_FLASH_INTERNAL_MODULE TR("Flash modulo int", "Flash modulo interno")
+#define TR_CURRENT_VERSION TR("Vers. actual", "Versión actual: ")
+#define TR_FLASH_INTERNAL_MODULE TR("Flash módulo int", "Flash módulo interno")
#define TR_FLASH_INTERNAL_MULTI TR("Flash Multi int", "Flash Multi interno")
-#define TR_FLASH_EXTERNAL_MODULE TR("Flash modulo ext", "Flash modulo externo")
+#define TR_FLASH_EXTERNAL_MODULE TR("Flash módulo ext", "Flash módulo externo")
#define TR_FLASH_EXTERNAL_MULTI TR("Flash Multi ext", "Flash Multi externo")
#define TR_FIRMWARE_UPDATE_ERROR TR("Error act FW", "Error actualiz. firmware")
#define TR_FIRMWARE_UPDATE_SUCCESS "Flash ok"
#define TR_WRITING "Escribiendo..."
#define TR_CONFIRM_FORMAT "Confirmar formato?"
#define TR_INTERNALRF "RF interna"
-#define TR_INTERNAL_MODULE TR("Modulo int", "Modulo interno")
-#define TR_EXTERNAL_MODULE TR("Modulo ext", "Modulo externo")
+#define TR_INTERNAL_MODULE TR("Módulo int", "Módulo interno")
+#define TR_EXTERNAL_MODULE TR("Módulo ext", "Módulo externo")
#define TR_OPENTX_UPGRADE_REQUIRED "Actualiz. OpenTX requerida"
#define TR_TELEMETRY_DISABLED "Telem. inactiva"
-#define TR_MORE_OPTIONS_AVAILABLE "Mas opciones disp."
-#define TR_NO_MODULE_INFORMATION "Sin informacion modulo"
+#define TR_MORE_OPTIONS_AVAILABLE "Más opciones disp."
+#define TR_NO_MODULE_INFORMATION "Sin información módulo"
#define TR_EXTERNALRF "RF externa"
#define TR_FAILSAFE INDENT"Failsafe"
#define TR_FAILSAFESET "AJUSTES FAILSAFE"
@@ -870,14 +870,14 @@
#define TR_MENU_SPECTRUM_ANALYSER "ANALIZADOR DE ESPECTRO"
#define TR_MENU_POWER_METER "MEDIDOR POTENCIA"
#define TR_SENSOR "SENSOR"
-#define TR_COUNTRYCODE "Codigo Pais"
+#define TR_COUNTRYCODE "Código país"
#define TR_USBMODE "Modo USB"
#define TR_JACKMODE "Modo Jack"
#define TR_VOICELANG "Idioma voces"
#define TR_UNITSSYSTEM "Unidades"
#define TR_EDIT "Editar"
#define TR_INSERT_BEFORE "Insertar antes"
-#define TR_INSERT_AFTER "Insertar despues"
+#define TR_INSERT_AFTER "Insertar después"
#define TR_COPY "Copiar"
#define TR_MOVE "Mover"
#define TR_PASTE "Pegar"
@@ -887,8 +887,8 @@
#define TR_RESET_TIMER1 "Reset Reloj 1"
#define TR_RESET_TIMER2 "Reset Reloj 2"
#define TR_RESET_TIMER3 "Reset Reloj 3"
-#define TR_RESET_TELEMETRY "Reset Telemetria"
-#define TR_STATISTICS "Estadisticas"
+#define TR_RESET_TELEMETRY "Reset Telemetría"
+#define TR_STATISTICS "Estadísticas"
#define TR_ABOUT_US "Nosotros"
#define TR_USB_JOYSTICK "Joystick USB (HID)"
#define TR_USB_MASS_STORAGE "Almaz. USB (SD)"
@@ -924,15 +924,15 @@
#define TR_ANALOGS_BTN BUTTON(TR("Analog","Analogs"))
#define TR_TOUCH_NOTFOUND "Touch hardware not found"
#define TR_TOUCH_EXIT "Touch screen to exit"
-#define TR_CALIBRATION "Calibracion"
+#define TR_CALIBRATION "Calibración"
#define TR_SET "[Ajuste]"
#define TR_TRAINER "Entrenador"
#define TR_CHANS "Chans"
#define TR_ANTENNAPROBLEM CENTER "Problema antena TX!"
#define TR_MODELIDUSED TR("ID en uso", "ID modelo en uso")
-#define TR_MODULE "Modulo"
+#define TR_MODULE "Módulo"
#define TR_RX_NAME "Nombre Rx"
-#define TR_TELEMETRY_TYPE TR("Tipo", "Tipo telemetria")
+#define TR_TELEMETRY_TYPE TR("Tipo", "Tipo telemetría")
#define TR_TELEMETRY_SENSORS "Sensores"
#define TR_VALUE "Valor"
#define TR_TOPLCDTIMER "Timer LCD superior"
@@ -949,22 +949,22 @@
#endif
#define TR_USE_INTERNAL_ANTENNA TR("Usa antena int.", "Usa antena interna")
#define TR_USE_EXTERNAL_ANTENNA TR("Use antena ext.", "Usa antena externa")
-#define TR_ANTENNACONFIRM2 TR("Revisa antena", "Revisa que la antena este instalada!")
+#define TR_ANTENNACONFIRM2 TR("Revisa antena", "Revisa que la antena esté instalada!")
#define TR_MODULE_PROTOCOL_FLEX_WARN_LINE1 "No requerido"
#define TR_MODULE_PROTOCOL_FCC_WARN_LINE1 "Requiere FCC"
#define TR_MODULE_PROTOCOL_EU_WARN_LINE1 "Requiere EU"
#define TR_MODULE_PROTOCOL_WARN_LINE2 "firmware certificado"
#define TR_LOWALARM INDENT "Alarma baja"
-#define TR_CRITICALALARM INDENT "Alarma critica"
+#define TR_CRITICALALARM INDENT "Alarma crítica"
#define TR_RSSIALARM_WARN TR("RSSI", "TELEMETRY RSSI")
-#define TR_NO_RSSIALARM TR(INDENT "Alarmas desact.", INDENT "Alarmas telemetria desact.")
+#define TR_NO_RSSIALARM TR(INDENT "Alarmas desact.", INDENT "Alarmas telemetría desact.")
#define TR_DISABLE_ALARM TR(INDENT "Desact. alarmas", INDENT "Desact. alarmas telem.")
#define TR_ENABLE_POPUP "Activa Popup"
#define TR_DISABLE_POPUP "Desactiva Popup"
#define TR_POPUP "Popup"
#define TR_MIN "Min"
-#define TR_MAX "Max"
+#define TR_MAX "Máx"
#define TR_CURVE_PRESET "Preset..."
#define TR_PRESET "Preset"
#define TR_MIRROR "Mirror"
@@ -976,7 +976,7 @@
#define TR_PTS "pts"
#define TR_SMOOTH TR3("Suaviz.", "Suaviz.", "Suavizado")
#define TR_COPY_STICKS_TO_OFS TR("Copia stick->subtr", "Copia Sticks a Offset")
-#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Copia min/max a sal", "Copia min/max/ctr a salidas")
+#define TR_COPY_MIN_MAX_TO_OUTPUTS TR("Copia min/máx a sal", "Copia min/máx/ctr a salidas")
#define TR_COPY_TRIMS_TO_OFS TR("Copia trim->subtr", "Copia trims a subtrim")
#define TR_INCDEC "Inc/Decrement"
#define TR_GLOBALVAR "Var global"
@@ -984,7 +984,7 @@
#define TR_CONSTANT "Constante"
#define TR_PERSISTENT_MAH INDENT "Valor mAh"
#define TR_PREFLIGHT "Chequeos prevuelo"
-#define TR_CHECKLIST TR(INDENT "Lista verif", INDENT "Lista verificacion")
+#define TR_CHECKLIST TR(INDENT "Lista verif", INDENT "Lista verificación")
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_AUX_SERIAL_MODE "Puerto serie"
#define TR_SCRIPT "Script"
@@ -997,7 +997,7 @@
#define TR_SPORT_UPDATE_POWER_MODE "SP Power"
#define LEN_SPORT_UPDATE_POWER_MODES "\004"
#define TR_SPORT_UPDATE_POWER_MODES "AUTO""ON\0 "
-#define TR_NO_TELEMETRY_SCREENS TR("No hay pant. telemetria", "No hay pantallas de telemetria")
+#define TR_NO_TELEMETRY_SCREENS TR("No hay pant. telemetría", "No hay pantallas de telemetría")
// Horus and Taranis column headers
#define TR_PHASES_HEADERS_NAME "Nombre"
@@ -1005,26 +1005,26 @@
#define TR_PHASES_HEADERS_RUD_TRIM "Trim timon"
#define TR_PHASES_HEADERS_ELE_TRIM "Trim elevador"
#define TR_PHASES_HEADERS_THT_TRIM "Trim potencia"
-#define TR_PHASES_HEADERS_AIL_TRIM "Trim aleron"
+#define TR_PHASES_HEADERS_AIL_TRIM "Trim alerón"
#define TR_PHASES_HEADERS_CH5_TRIM "Trim 5"
#define TR_PHASES_HEADERS_CH6_TRIM "Trim 6"
#define TR_PHASES_HEADERS_FAD_IN "Aparecer"
#define TR_PHASES_HEADERS_FAD_OUT "Desparecer"
#define TR_LIMITS_HEADERS_NAME "Nombre"
-#define TR_LIMITS_HEADERS_SUBTRIM "Compensacion"
+#define TR_LIMITS_HEADERS_SUBTRIM "Compensación"
#define TR_LIMITS_HEADERS_MIN "Min"
-#define TR_LIMITS_HEADERS_MAX "Max"
-#define TR_LIMITS_HEADERS_DIRECTION "Direccion"
+#define TR_LIMITS_HEADERS_MAX "Máx"
+#define TR_LIMITS_HEADERS_DIRECTION "Dirección"
#define TR_LIMITS_HEADERS_CURVE "Curva"
#define TR_LIMITS_HEADERS_PPMCENTER "Centrado PPM"
-#define TR_LIMITS_HEADERS_SUBTRIMMODE "Simetrica"
+#define TR_LIMITS_HEADERS_SUBTRIMMODE "Simétrica"
-#define TR_LSW_HEADERS_FUNCTION "Funcion"
+#define TR_LSW_HEADERS_FUNCTION "Función"
#define TR_LSW_HEADERS_V1 "V1"
#define TR_LSW_HEADERS_V2 "V2"
#define TR_LSW_HEADERS_ANDSW "Interrup. AND"
-#define TR_LSW_HEADERS_DURATION "Duracion"
+#define TR_LSW_HEADERS_DURATION "Duración"
#define TR_LSW_HEADERS_DELAY "Retardo"
#define TR_GVAR_HEADERS_NAME "Nombre"
@@ -1039,7 +1039,7 @@
#define TR_GVAR_HEADERS_FM8 "Valor en FM8"
// Horus footer descriptions
-#define TR_LSW_DESCRIPTIONS { "Tipo de comparacion o funcion", "Primera variable", "Segunda variable o constante", "Segunda variable o constante", "Condicion adicional para activar linea", "Duracion minima de switch logico", "Duracion minima TRUE para activar switch logico" }
+#define TR_LSW_DESCRIPTIONS { "Tipo de comparación o función", "Primera variable", "Segunda variable o constante", "Segunda variable o constante", "Condición adicional para activar línea", "Duración mínima de switch lógico", "Duración mínima TRUE para activar switch lógico" }
// Horus layouts and widgets
#define TR_FIRST_CHANNEL "Primer canal"
@@ -1064,7 +1064,7 @@
#define TR_ABOUT_OPENTX_1 "OpenTX es open source, no-"
#define TR_ABOUT_OPENTX_2 "comercial y viene sin "
#define TR_ABOUT_OPENTX_3 "garantias. Fue desarrollado"
-#define TR_ABOUT_OPENTX_4 "libremente. Ayudas a traves"
+#define TR_ABOUT_OPENTX_4 "libremente. Ayudas a través"
#define TR_ABOUT_OPENTX_5 "de donaciones son bienvenidas!"
#define TR_ABOUT_BERTRAND_1 "Bertrand Songis"
@@ -1072,7 +1072,7 @@
#define TR_ABOUT_BERTRAND_3 "Companion codesarrollador"
#define TR_ABOUT_MIKE_1 "Mike Blandford"
-#define TR_ABOUT_MIKE_2 "Guru de codigo y drivers"
+#define TR_ABOUT_MIKE_2 "Gurú de codigo y drivers"
#define TR_ABOUT_MIKE_3 "Seguramente uno de los"
#define TR_ABOUT_MIKE_4 "mejores inspiradores"
@@ -1082,7 +1082,7 @@
#define TR_ABOUT_ANDRE_1 "Andre Bernet"
#define TR_ABOUT_ANDRE_2 "Funcionalidad, usabilidad,"
-#define TR_ABOUT_ANDRE_3 "depurado, documentacion"
+#define TR_ABOUT_ANDRE_3 "depurado, documentación"
#define TR_ABOUT_ROB_1 "Rob Thomson"
#define TR_ABOUT_ROB_2 "openrcforums webmaster"
@@ -1093,7 +1093,7 @@
#define TR_ABOUT_KJELL_4 "Colaborador Companion"
#define TR_ABOUT_MARTIN_1 "Martin Hotar"
-#define TR_ABOUT_MARTIN_2 "Dise\201o grafico"
+#define TR_ABOUT_MARTIN_2 "Dise\201o gráfico"
#if defined(PCBTARANIS)
#define TR_ABOUT_HARDWARE_1 "FrSky"
@@ -1123,11 +1123,11 @@
#define TR_TOP_BAR "Panel superior"
#define TR_FLASH_ERASE "Borrar flash..."
#define TR_FLASH_WRITE "Escribir flash..."
-#define TR_OTA_UPDATE "Actualizacion OTA..."
-#define TR_MODULE_RESET "Reset modulo..."
+#define TR_OTA_UPDATE "Actualización OTA..."
+#define TR_MODULE_RESET "Reset módulo..."
#define TR_UNKNOWN_RX "RX desconocido"
#define TR_UNSUPPORTED_RX "RX no soportado"
-#define TR_OTA_UPDATE_ERROR "Error actualizacion OTA"
+#define TR_OTA_UPDATE_ERROR "Error actualización OTA"
#define TR_DEVICE_RESET "Reset dispositivo..."
#define TR_ALTITUDE INDENT "Altitud"
#define TR_SCALE "Escala"
@@ -1137,9 +1137,9 @@
#define TR_MODS_FORBIDDEN "Modificaciones prohibidas"
#define TR_UNLOCKED "Desbloqueado"
#define TR_ID "ID"
-#define TR_PRECISION "Precision"
+#define TR_PRECISION "Precisión"
#define TR_RATIO "Ratio"
-#define TR_FORMULA "Formula"
+#define TR_FORMULA "Fórmula"
#define TR_CELLINDEX "Cell index"
#define TR_LOGS "Logs"
#define TR_OPTIONS "Opciones"
@@ -1152,7 +1152,7 @@
#define TR_AUTOOFFSET "Auto offset"
#define TR_ONLYPOSITIVE "Positivo"
#define TR_FILTER "Filtro"
-#define TR_TELEMETRYFULL TR("Telem. llena!", "Todas las entradas de telemetria llenas!")
+#define TR_TELEMETRYFULL TR("Telem. llena!", "Todas las entradas de telemetría llenas!")
#define TR_SERVOS_OK "Servos OK"
#define TR_SERVOS_KO "Servos KO"
#define TR_INVERTED_SERIAL INDENT "Invertir"
@@ -1168,7 +1168,7 @@
#define TR_SETUP_WIDGETS "Config. widgets"
#define TR_USER_INTERFACE "Interfaz"
#define TR_THEME "Tema"
-#define TR_SETUP "Configuracion"
+#define TR_SETUP "Configuración"
#define TR_MAINVIEWX "Vista pral. X"
#define TR_LAYOUT "Diseño"
#define TR_ADDMAINVIEW "Añadir vista pral."
@@ -1181,20 +1181,20 @@
#define TR_MENU_STICKS "\307Sticks"
#define TR_MENU_POTS "\310Pots"
#define TR_MENU_MAX "\315MAX"
-#define TR_MENU_HELI "\316Ciclico"
+#define TR_MENU_HELI "\316Cíclico"
#define TR_MENU_TRIMS "\313Trims"
#define TR_MENU_SWITCHES "\312Interruptores"
-#define TR_MENU_LOGICAL_SWITCHES TR("\312Interr. logicos", "\312Interruptores logicos")
+#define TR_MENU_LOGICAL_SWITCHES TR("\312Interr. lógicos", "\312Interruptores lógicos")
#define TR_MENU_TRAINER "\317Entrenador"
#define TR_MENU_CHANNELS "\320Canales"
#define TR_MENU_GVARS "\311GVars"
-#define TR_MENU_TELEMETRY "\321Telemetria"
+#define TR_MENU_TELEMETRY "\321Telemetría"
#define TR_MENU_DISPLAY "MONITOR"
#define TR_MENU_OTHER "Otros"
#define TR_MENU_INVERT "Invertir"
#define TR_JITTER_FILTER "Filtro ADC"
#define TR_RTC_CHECK TR("Check RTC", "Check RTC voltaje")
-#define TR_AUTH_FAILURE "Fallo " LCDW_128_480_LINEBREAK "autentificacion"
+#define TR_AUTH_FAILURE "Fallo " LCDW_128_480_LINEBREAK "autentificación"
#define ZSTR_FLR "FLR"
#define ZSTR_RSSI "RSSI"
diff --git a/radio/util/font2png.py b/radio/util/font2png.py
index e734cc0a6..169b6b63f 100755
--- a/radio/util/font2png.py
+++ b/radio/util/font2png.py
@@ -10,7 +10,7 @@ chars_en = u""" !"#$%&'()*+,-./0123456789:;<=>?°ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
chars_fr = u"""éèàîç"""
chars_de = u"""ÄäÖöÜüß"""
chars_cz = u"""ěščřžýáíéňóůúďťĚŠČŘŽÝÁÍÉŇÓÚŮĎŤ"""
-chars_es = u"""Ññ"""
+chars_es = u"""ÑñÁáÉéÍíÓóÚú"""
chars_fi = u"""åäöÅÄÖ"""
chars_it = u"""àù"""
chars_pl = u"""ąćęłńóśżźĄĆĘŁŃÓŚŻŹ"""
@@ -19,7 +19,7 @@ chars_pt = u"""ÁáÂâÃãÀàÇçÉéÊêÍíÓóÔôÕõÚú"""
COUNT_EXTRA_CHARS = 21
chars_extra = u"".join([chr(1+i) for i in range(COUNT_EXTRA_CHARS)])
-chars = chars_en + chars_extra + chars_fr + chars_de + chars_cz + chars_es + chars_fi + chars_it + chars_pl
+chars = chars_en + chars_extra + chars_fr + chars_de + chars_cz + chars_es + chars_fi + chars_it + chars_pl + chars_pt
def createFontBitmap(filename, fontname, fontsize, fontoffset, foreground, background, coordsfile=True):
diff --git a/radio/util/translate.py b/radio/util/translate.py
index 53e113ca7..58525c969 100755
--- a/radio/util/translate.py
+++ b/radio/util/translate.py
@@ -70,7 +70,17 @@ translations = {'cz_reduced': [('\\200', u'á'),
('\\206', u'ß')],
'es': [('\\200', u'Ñ'),
- ('\\201', u'ñ')],
+ ('\\201', u'ñ'),
+ ('\\202', u'Á'),
+ ('\\203', u'á'),
+ ('\\204', u'É'),
+ ('\\205', u'é'),
+ ('\\206', u'Í'),
+ ('\\207', u'í'),
+ ('\\210', u'Ó'),
+ ('\\211', u'ó'),
+ ('\\212', u'Ú'),
+ ('\\213', u'ú')],
'fi': [('\\200', u'å'),
('\\201', u'ä'),