Widget pour TX16S affichant la valeur d'une seule cellule d'un pack.
4 participants
Page 1 sur 1
Widget pour TX16S affichant la valeur d'une seule cellule d'un pack.
Bonjour tous.
Ci-dessous et en image, ce que je vous propose, regardez bien en haut à droite de la barre de tâche.
Explications :
Je souhaitais en utilisant un capteur de tension de pack de propulsion, avoir la valeur moyenne d'un seul élément visible rapidement sans devoir faire un calcul mental.
Je n'ai pas trouvé de solution simple, j'ai donc codé un petit widget qui affiche cette tension moyenne et la tension minimale atteinte durant le vol.
Limitation :
Uniquement valable pour la barre de tâches car c'est seulement ce dont j'ai besoin, mais avec une petite modif, vous pourriez l'afficher partout.
Appel à l'aide :
J'ai essayé de retransmettre cette valeur sous forme de capteur mais il semble qu'il soit impossible de créer un capteur avec un widget. Si quelqu'un a une solution simple sans devoir installer un second script ni utilisation de Gvar en gardant la possibilité de définir le nombre d'éléments via ce widget et de renvoyer le calcul sous forme de capteur, je suis preneur.
Installation :
Dézippez l'archive OneCell.zip
Le répertoire [OneCell] est à placer dans le répertoire [WIDGETS].
Appui long sur le bouton en bas à gauche.
Appui sur le bouton Page précédente.
Sélectionner Top bar Setup.
* Sélectionner une de 4 cellules du haut et cliquez sur Entrée.
Sélectionner "Select Widget" et cliquez sur Entrée.
Sélectionner "1Cell" et cliquez sur Entrée, et vous arrivez dans Widget settings.
* TextColor je ne vous explique pas.
* CellCount : Le nombre d'éléments du pack.
* VSensor : Le capteur de tension (Souvent VFAS).
* VSensorMin : Le même capteur suivi du "-" (Souvent VFAS-).
* Shadow : Affiche le texte avec un ombrage.
Et c'est tout.
Le fichier est dispo ici : Widget OneCell
Vos remarques, choppes de bière, bitcoins, ou codes de vos cartes bleues sont bienvenues si vous aimez
------------------------
Le code pour ceux qui voudraient l'analyser en ligne :
---- #########################################################################
---- # #
---- # OneCell widget script for TX16S #
---- # Version 1.0 #
---- # #
---- # Copyright (C) OpenTX #
-----# #
---- # License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html #
---- # #
---- # This program is free software; you can redistribute it and/or modify #
---- # it under the terms of the GNU General Public License version 2 as #
---- # published by the Free Software Foundation. #
---- # #
---- # This program is distributed in the hope that it will be useful #
---- # but WITHOUT ANY WARRANTY; without even the implied warranty of #
---- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
---- # GNU General Public License for more details. #
---- # #
-----# Published on https://frskytaranis.forumactif.org by Heisenberg #
---- # ToDo : Converting the 1Cel value to virtual sensor #
---- # #
---- #########################################################################
local options = {
{ "TextColor", COLOR, WHITE },
{ "CellCount", VALUE, 2, 2, 14},
{ "VSensor", SOURCE, 0}, -- default setting below to 'VFAS'
{ "VSensorMin", SOURCE, 0}, -- default setting below to 'VFAS-'
{ "Shadow", BOOL, 0 }
}
--------------------------------------------------------------------
local function create(zone, options)
local wgt = {
zone=zone,
options=options,
VSensorValue = 0,
VSensorMinValue = 0,
CellCountValue = 0,
VCelValue = 1,
VCelMinValue = 1,
--CreaSensor = 0,
--CreaSensor2 = 0
}
if wgt.options.VSensor == 0 then
wgt.options.VSensor = "VFAS"
end
if wgt.options.VSensorMin == 0 then
wgt.options.VSensorMin = "VFAS-"
end
return wgt
end
---------------------------------------------------------------------
local function update(wgt, options)
if (wgt == nil) then return end
wgt.options = options
if wgt.options.Sensor == 0 then
wgt.options.Sensor = "VFAS"
end
if wgt.options.SensorMin == 0 then
wgt.options.SensorMin = "VFAS-"
end
end
---------------------------------------------------------------------
local function background(wgt)
local VSensorValue = getValue(wgt.options.VSensor)
local VSensorMinValue = getValue(wgt.options.VSensorMin)
local CellCountValue = wgt.options.CellCount
local VCelValue = VSensorValue/CellCountValue
local VCelMinValue = VSensorMinValue/CellCountValue
--local CreaSensor = setTelemetryValue(0xb20, 0, 0xF3, VCelValue, 0, 0, "Cel") -- Doesn't work
--local CreaSensor2 = setTelemetryValue(0xb20, 0, 0xF4, VCelMinValue, 0, 0, "Cel-") -- Doesn't work
return
end
---------------------------------------------------------------------
local function refreshZoneTiny(wgt)
local VSensorValue = getValue(wgt.options.VSensor)
local VSensorMinValue = getValue(wgt.options.VSensorMin)
local CellCountValue = wgt.options.CellCount
local VCelValue = VSensorValue/CellCountValue
local VCelMinValue = VSensorMinValue/CellCountValue
lcd.setColor(CUSTOM_COLOR, wgt.options.TextColor)
--local CreaSensor = setTelemetryValue(0xb20, 0, 0xF3, VCelValue, 0, 0, "Cel") -- Doesn't work
--local CreaSensor2 = setTelemetryValue(0xb20, 0, 0xF4, VCelMinValue, 0, 0, "Cel-") -- Doesn't work
if wgt.options.Shadow == 0 then
lcd.drawText(wgt.zone.x+34, wgt.zone.y, "1 Cell", CENTER + SMLSIZE + CUSTOM_COLOR)
lcd.drawText(wgt.zone.x+34, wgt.zone.y+13, string.format("%2.2fV", VCelValue), CENTER + SMLSIZE + CUSTOM_COLOR);
lcd.drawText(wgt.zone.x+34, wgt.zone.y+25, string.format("(%2.2fV-)", VCelMinValue), CENTER + SMLSIZE + CUSTOM_COLOR);
else
lcd.drawText(wgt.zone.x+34, wgt.zone.y, "1 Cell", CENTER + SMLSIZE + CUSTOM_COLOR + SHADOWED);
lcd.drawText(wgt.zone.x+34, wgt.zone.y+13, string.format("%2.2fV", VCelValue), CENTER + SMLSIZE + CUSTOM_COLOR + SHADOWED);
lcd.drawText(wgt.zone.x+34, wgt.zone.y+25, string.format("(%2.2fV-)", VCelMinValue), CENTER + SMLSIZE + CUSTOM_COLOR + SHADOWED);
end
end
---------------------------------------------------------------------
function refresh(wgt)
if wgt.zone.w > 65 and wgt.zone.h > 35 then refreshZoneTiny(wgt)
end
end
return { name="1Cell", options=options, create=create, update=update, refresh=refresh, background=background }
Ci-dessous et en image, ce que je vous propose, regardez bien en haut à droite de la barre de tâche.
Explications :
Je souhaitais en utilisant un capteur de tension de pack de propulsion, avoir la valeur moyenne d'un seul élément visible rapidement sans devoir faire un calcul mental.
Je n'ai pas trouvé de solution simple, j'ai donc codé un petit widget qui affiche cette tension moyenne et la tension minimale atteinte durant le vol.
Limitation :
Uniquement valable pour la barre de tâches car c'est seulement ce dont j'ai besoin, mais avec une petite modif, vous pourriez l'afficher partout.
Appel à l'aide :
J'ai essayé de retransmettre cette valeur sous forme de capteur mais il semble qu'il soit impossible de créer un capteur avec un widget. Si quelqu'un a une solution simple sans devoir installer un second script ni utilisation de Gvar en gardant la possibilité de définir le nombre d'éléments via ce widget et de renvoyer le calcul sous forme de capteur, je suis preneur.
Installation :
Dézippez l'archive OneCell.zip
Le répertoire [OneCell] est à placer dans le répertoire [WIDGETS].
Appui long sur le bouton en bas à gauche.
Appui sur le bouton Page précédente.
Sélectionner Top bar Setup.
* Sélectionner une de 4 cellules du haut et cliquez sur Entrée.
Sélectionner "Select Widget" et cliquez sur Entrée.
Sélectionner "1Cell" et cliquez sur Entrée, et vous arrivez dans Widget settings.
* TextColor je ne vous explique pas.
* CellCount : Le nombre d'éléments du pack.
* VSensor : Le capteur de tension (Souvent VFAS).
* VSensorMin : Le même capteur suivi du "-" (Souvent VFAS-).
* Shadow : Affiche le texte avec un ombrage.
Et c'est tout.
Le fichier est dispo ici : Widget OneCell
Vos remarques, choppes de bière, bitcoins, ou codes de vos cartes bleues sont bienvenues si vous aimez
------------------------
Le code pour ceux qui voudraient l'analyser en ligne :
---- #########################################################################
---- # #
---- # OneCell widget script for TX16S #
---- # Version 1.0 #
---- # #
---- # Copyright (C) OpenTX #
-----# #
---- # License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html #
---- # #
---- # This program is free software; you can redistribute it and/or modify #
---- # it under the terms of the GNU General Public License version 2 as #
---- # published by the Free Software Foundation. #
---- # #
---- # This program is distributed in the hope that it will be useful #
---- # but WITHOUT ANY WARRANTY; without even the implied warranty of #
---- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
---- # GNU General Public License for more details. #
---- # #
-----# Published on https://frskytaranis.forumactif.org by Heisenberg #
---- # ToDo : Converting the 1Cel value to virtual sensor #
---- # #
---- #########################################################################
local options = {
{ "TextColor", COLOR, WHITE },
{ "CellCount", VALUE, 2, 2, 14},
{ "VSensor", SOURCE, 0}, -- default setting below to 'VFAS'
{ "VSensorMin", SOURCE, 0}, -- default setting below to 'VFAS-'
{ "Shadow", BOOL, 0 }
}
--------------------------------------------------------------------
local function create(zone, options)
local wgt = {
zone=zone,
options=options,
VSensorValue = 0,
VSensorMinValue = 0,
CellCountValue = 0,
VCelValue = 1,
VCelMinValue = 1,
--CreaSensor = 0,
--CreaSensor2 = 0
}
if wgt.options.VSensor == 0 then
wgt.options.VSensor = "VFAS"
end
if wgt.options.VSensorMin == 0 then
wgt.options.VSensorMin = "VFAS-"
end
return wgt
end
---------------------------------------------------------------------
local function update(wgt, options)
if (wgt == nil) then return end
wgt.options = options
if wgt.options.Sensor == 0 then
wgt.options.Sensor = "VFAS"
end
if wgt.options.SensorMin == 0 then
wgt.options.SensorMin = "VFAS-"
end
end
---------------------------------------------------------------------
local function background(wgt)
local VSensorValue = getValue(wgt.options.VSensor)
local VSensorMinValue = getValue(wgt.options.VSensorMin)
local CellCountValue = wgt.options.CellCount
local VCelValue = VSensorValue/CellCountValue
local VCelMinValue = VSensorMinValue/CellCountValue
--local CreaSensor = setTelemetryValue(0xb20, 0, 0xF3, VCelValue, 0, 0, "Cel") -- Doesn't work
--local CreaSensor2 = setTelemetryValue(0xb20, 0, 0xF4, VCelMinValue, 0, 0, "Cel-") -- Doesn't work
return
end
---------------------------------------------------------------------
local function refreshZoneTiny(wgt)
local VSensorValue = getValue(wgt.options.VSensor)
local VSensorMinValue = getValue(wgt.options.VSensorMin)
local CellCountValue = wgt.options.CellCount
local VCelValue = VSensorValue/CellCountValue
local VCelMinValue = VSensorMinValue/CellCountValue
lcd.setColor(CUSTOM_COLOR, wgt.options.TextColor)
--local CreaSensor = setTelemetryValue(0xb20, 0, 0xF3, VCelValue, 0, 0, "Cel") -- Doesn't work
--local CreaSensor2 = setTelemetryValue(0xb20, 0, 0xF4, VCelMinValue, 0, 0, "Cel-") -- Doesn't work
if wgt.options.Shadow == 0 then
lcd.drawText(wgt.zone.x+34, wgt.zone.y, "1 Cell", CENTER + SMLSIZE + CUSTOM_COLOR)
lcd.drawText(wgt.zone.x+34, wgt.zone.y+13, string.format("%2.2fV", VCelValue), CENTER + SMLSIZE + CUSTOM_COLOR);
lcd.drawText(wgt.zone.x+34, wgt.zone.y+25, string.format("(%2.2fV-)", VCelMinValue), CENTER + SMLSIZE + CUSTOM_COLOR);
else
lcd.drawText(wgt.zone.x+34, wgt.zone.y, "1 Cell", CENTER + SMLSIZE + CUSTOM_COLOR + SHADOWED);
lcd.drawText(wgt.zone.x+34, wgt.zone.y+13, string.format("%2.2fV", VCelValue), CENTER + SMLSIZE + CUSTOM_COLOR + SHADOWED);
lcd.drawText(wgt.zone.x+34, wgt.zone.y+25, string.format("(%2.2fV-)", VCelMinValue), CENTER + SMLSIZE + CUSTOM_COLOR + SHADOWED);
end
end
---------------------------------------------------------------------
function refresh(wgt)
if wgt.zone.w > 65 and wgt.zone.h > 35 then refreshZoneTiny(wgt)
end
end
return { name="1Cell", options=options, create=create, update=update, refresh=refresh, background=background }
Re: Widget pour TX16S affichant la valeur d'une seule cellule d'un pack.
Très intéressant de voir comment on construit un widjet. Merci pour le partage.
aero-tx- Messages : 29
Date d'inscription : 04/07/2014
Age : 83
Localisation : Orne
Re: Widget pour TX16S affichant la valeur d'une seule cellule d'un pack.
Bonjour,
Voici un widget que j'utilise à chaqun de mes vols.
On peut afficher toutes les cellules mais aussi, courant/tension.
Son intérêt est qu'il retourne en % vocalement ce qu'il reste dans l'accu.
Les voix sont en anglais mais j'ai modifié le widget afin qu'il supporte le français. J'ai bien sûr créé les alarmes en conséquence.
Cordialement,
Pierre
Voici un widget que j'utilise à chaqun de mes vols.
On peut afficher toutes les cellules mais aussi, courant/tension.
Son intérêt est qu'il retourne en % vocalement ce qu'il reste dans l'accu.
Les voix sont en anglais mais j'ai modifié le widget afin qu'il supporte le français. J'ai bien sûr créé les alarmes en conséquence.
Cordialement,
Pierre
pierrotm777- Messages : 7
Date d'inscription : 12/12/2013
Age : 65
Localisation : Bordeaux
Re: Widget pour TX16S affichant la valeur d'une seule cellule d'un pack.
il manque le lien/piece jointe. Mercipierrotm777 a écrit:Bonjour,
Voici un widget que j'utilise à chaqun de mes vols.
On peut afficher toutes les cellules mais aussi, courant/tension.
Son intérêt est qu'il retourne en % vocalement ce qu'il reste dans l'accu.
Les voix sont en anglais mais j'ai modifié le widget afin qu'il supporte le français. J'ai bien sûr créé les alarmes en conséquence.
Cordialement,
Pierre
psychotik2k3- Messages : 113
Date d'inscription : 15/08/2017
Age : 50
Localisation : Grenoble
pierrotm777- Messages : 7
Date d'inscription : 12/12/2013
Age : 65
Localisation : Bordeaux
Sujets similaires
» widget pour image de fond
» Comment récupérer la valeur d'une variable Bool dans les options d'un widget
» Jouer un son pour les valeurs d'altitude mais une seule fois
» Comment ne garder que 2 chiffres après la virgule pour une valeur ?
» Widget pour FLVS ADV
» Comment récupérer la valeur d'une variable Bool dans les options d'un widget
» Jouer un son pour les valeurs d'altitude mais une seule fois
» Comment ne garder que 2 chiffres après la virgule pour une valeur ?
» Widget pour FLVS ADV
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum