Mais, non, c'est plus compliqué ....
C'est comme le Kamov ou l'A10 : l'Abris, PVI800, UV26, les fréquences radio, l'EKRAN etc etc ....
C'est en fait du texte qui est affiché sur l'écran
Donc il m'a fallu :
1> trouver une fonction pour extraire, le texte
2> Lire dans le texte où se trouve l'information
3> Les envoyer sur SIOC
Par ailleurs j'ai trouvé une façon d'explorer pour chaque Device, les méthodes qui peuvent être appliquées, et çà m'a donné de beaux résultats.
Donc :
1) Pour extraire les info. de texte d'un indicateur , il faut ajouter la fonction suivante dans ton script d'export
CODE
function parse_indication(indicator_id)
local ret = {}
local li = list_indication(indicator_id)
if li == "" then return nil end
local m = li:gmatch("-----------------------------------------\n([^\n]+)\n([^\n]*)\n")
while true do
local name, value = m()
if not name then break end
ret[name] = value
end
return ret
end
2) Les indicateurs ont des références diférentes suivant les avions.
Ainsi l'UV26 a le numéro 7 sur le Kamov
Donc dans le script du Kamov, il faut ajouter la fonction suivante que j'ai faite
CODE
function get_UV26()
-- Fonction de lecture de l'afficheur de l'UV26
local UV26 = parse_indication(7)
if not UV26 then
local emptyline = string.format("%20s", "") -- 20 spaces
return emptyline
else
local txt = UV26["txt_digits"]
return txt
end
end
Pour le Mi-8, il faudra mettre l'id numéro 5 dans la fonction précédente
CODE
function get_UV26()
-- Fonction de lecture de l'afficheur de l'UV26
local UV26 = parse_indication(5)
if not UV26 then
local emptyline = string.format("%20s", "") -- 20 spaces
return emptyline
else
local txt = UV26["txt_digits"]
return txt
end
end
3) Finalement ces fonctions sont appelées dans la boucle d'export par :
CITATION
-- Export de l'affichage de l'UV26
local uv26 = get_UV26()
if uv26 then
envoyerInfo(1040,uv26)
end
Si on veut envoyer sur le canal 1040
-------------------
J'ai fait des fonctions pour le PVI800, pour le panel armement (ammo count), et pour le menu de l'Abris mais là c'est plus traps because, c'est du texte ... pour exporter sur SIOC
-------------------
Sinon, si tu veux récupérer les fréquences du R_863, et R_828, en décortiquant ces objets, j'ai trouvé qu'ils acceptaient la méthode "get_frequency"
Donc sur le Mi-8, on regarde le device (par exemple n°38 pour le R_863)
et tu mets le code suivant dans ta boucle d'export :
CODE
local radio863 = Device(38)
freq = radio863:get_frequency()
envoyerInfo(1200,freq)
(voir éventuellement si il ne faut pas diviser la valeur par 1000)
Voilà,
Je mettrai tout çà sur GitHub, ce soir
Miaou