EXPORT.LUA : exemples et documentation

Bugs, problèmes d'installation, de patch, optimisation
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

EXPORT.LUA : exemples et documentation

#1

Message par hellfrog »

je ne verouille pas cette discussion parce que j'espère :detective la participation des lecteurs (Noel approche :innocent:)

mais je souhaite qu'elle reste propre

(sinon je scinderai les posts dans une autre discussion)



pour poser des questions, mettre au point, etc... : créez une nouvelle discussion SVP

pour corriger des erreurs dans ce que je poste, postez ici

pour contribuer et documenter l'export.lua : postez ici

pour ajouter vos créations : postez ici, je regrouperai ensuite



EDIT : NB aux utilisateurs debutants :
Je tiens à préciser que :
je n'ai pas d'expérience LockOn
je ne connait pas le langage lua (enfin je débute en 2009... je pense qu'à force je vais progresser, de fait)
j'ai des bases et de la pratique de programmation en langages simples structurés (Pascal, VBA) et orientés objets (propriétés, classes)
mais que cela me suffit pour comprendre et adapter les scripts punbliés sur les forums anglais
ensuite si on veut aller plus loin, de l'aide sur le langage lua existe sur le WEB (en anglais)


liens doc lua :

http://lua-users.org/files/wiki_insecur ... single.pdf
http://lua-users.org/wiki/TutorialDirectory
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

exporter EKRAN

#2

Message par hellfrog »

comment rédiger/modifier export.lua pour exporter le texte de l'EKRAN :

cette fonction est active dans la version 0.4 de touchPal, je n'en suis pas l'auteur

je me contente donc de traduire commenter et expliquer le script lua
du fichier export.lua de BS, modifié pour TouchPal, livré avec TouchPal

en ne gardant que les lignes necessaires et qui ne concernent que l'EKRAN
j'ai retiré le reste pour plus de simplicité


pour que l'export.lua fonctionne, ne pas oublier
dans ./Config/Export/Config.lua
EnableExportScript = true -- au lieu de false (valeur par defaut : false)
.
au début de export.lua on trouve ces lignes :

définitions des variables utilisées dans ce script
(attention il y a aussi des variables utilisées pour les connxions, cf liens plus bas, qui se placent à cet endroit)
(j'ai séparé le thème connexion exprès car il est repris sinon dans chaque exemple et ça devient un peu lourd)
-- variable dans laquelle est stockée la valeur de la chaine de caractères affichée dans BS, rafraichie à chaque frame
gLastEKRAN = ""

ensuite la fonction spécifique qui extrait de BS les informations affichées sur l'EKRAN

( pour plus d'infos sur les syntaxes cf liens dans post sur export.lua et SIOC )
function ProcessEKRAN()[INDENT] -- extrait les informations de BS dans une chaine de caractere = variable "lText"
local lEKRAN = GetDevice(10)
local lText = lEKRAN:get_actual_text_frame()
local lSendString = ""
-- mise en forme de lSendString grace au contenu de lText
if (gLastEKRAN ~= lText) then[INDENT] if (lText == "") then[INDENT] -- pas de nouvelles données ou chaine vide : mise en forme spécifique (pour Touchpal dans notre exemple)
lSendString = "2003= :2004= :2005= :2006= :"
[/INDENT]else[INDENT] -- données à afficher : mise en forme de la chaine de caractère qui sera exportée
-- on a 4 séquences de 9 caractères à la suite dans lText, extraits par la fonction lua string.sub

lSendString = "2003="..string.sub(lText,1,10)..":"
lSendString = lSendString.."2004="..string.sub(lText,12,21)..":"
lSendString = lSendString.."2005="..string.sub(lText,23,32)..":"
lSendString = lSendString.."2006="..string.sub(lText,34,43)..":"
[/INDENT][/INDENT][INDENT] end
gLastEKRAN = lText
[/INDENT][/INDENT][INDENT] end
[/INDENT][INDENT] -- valeur retournée par la fonction ProcessEKRAN
return lSendString
[/INDENT]end
puis la fonction exécutée après chaque rafraichissement de l'affichage
(ex extrait de la sous fonction ProcessOutput elle meme appelée par LuaExportAfterNextFrame..)
function LuaExportAfterNextFrame()[INDENT] if gConnected then[INDENT] -- j'ai retiré toutes les autres fonctions presentent dans le script intial
-- pour plus de clarté, tel quel cet exemple n'exportera rien d'autre que l'EKRAN !

local lSendString = ProcessEKRAN()
if lSendString ~= "" then[INDENT] socket.try(c:send(lSendString.."\n"))
gAckExpected = gAckExpected + 1;
[/INDENT]end
[/INDENT]else[INDENT] SendConnectMessage()
[/INDENT]end
[/INDENT]end
ensuite: cf ici post numero 3 http://www.checksix-forums.com/showpost ... ostcount=3
fonction exécutée une fois au démarrage de la mission
fonction exécutée une fois à la terminaison de la mission
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

connexion BS / SIOC / BSVP / TouchPal etc

#3

Message par hellfrog »

comment rédiger/modifier export.lua pour exporter des données de BS vers un autre programme :

exemple 1 : SUR LE MEME PC avec TouchPal


((voir un fichier export.lua de l'utilitaire BSVP par exemple pour des protocoles de communications en reseau entre 2 PC) = autre sujet à faire... mais que je rédigerais plus tard car c'est en cours de dev et de mise au point... donc pour plus tard...) LINK

cette fonction est active dans la version 0.4 de touchPal, je n'en suis pas l'auteur

je me contente donc de traduire commenter et expliquer le script lua
du fichier export.lua de BS, modifié pour TouchPal, livré avec TouchPal

en ne gardant que les lignes necessaires et qui ne concernent que la connexion
j'ai retiré le reste pour plus de simplicité


pour que l'export.lua fonctionne, ne pas oublier
dans ./Config/Export/Config.lua
EnableExportScript = true -- au lieu de false (valeur par defaut : false)
.
au début de export.lua on trouve ces lignes :

définitions des variables utilisées dans ce script
-- Simulation id
gSimID = os.time()
-- Connection status
gConnected = false
gLastAck = 0
gAckExpected = 0
gAckAttempts = 0
.
fonction exécutée une fois au démarrage de la mission :
définition des paramètres de connection TCP UDP
et des adresses de communication entre BS et ici TouchPAL pour notre exemple
pour TouchPAL 0.4:
ip = 127.0.0.1 = localhost pour une utilisation monoposte,
port = 9089 pour TouchPal
pour l'instant touchPAL ne fonctionne pas en reseau. (version 0.4)
function LuaExportStart()[INDENT] -- 1 )ouverture d'un fichier de export.log (historique) dans le dossier .\Temp de BS
-- c'est facultatif mais peut aider pour debugger un script
[/INDENT][INDENT]local file = io.open("./Temp/Export.log", "w")
if file then[INDENT] io.output(file)
io.write("---Log: Start-----", "\n")
io.flush()
[/INDENT]end
-- 2) definition de la connexion vers touchpal
package.path = package.path..";.\\LuaSocket\\?.lua"
package.cpath = package.cpath..";.\\LuaSocket\\?.dll"
socket = require("socket")
-- N'oubliez pas les "" ci dessous
host = "127.0.0.1"
port = 9089
c = socket.udp()
c:setpeername(host, port)
-- délai d'expiration pour lecture sur port
c:settimeout(.01)
-- ecrit dans le fichier log
io.write("---Log: Connection Request Sent-----", "\n")
-- envoi *C à touchPal pour y initer la connexion (cf config.xml de touchpal )
c:send("*C"..gSimID.."\n")
gAckExpected = 1
gConnected = false
[/INDENT]end
.
fonction exécutée une fois à la terminaison de la mission

ferme les connexions
ex du export.lua de TouchPAL :
function LuaExportStop()[INDENT] -- ferme le fichier log
io.write("---Log: End-----", "\n")
io.flush()
io.close()

-- ferme touchpal
[INDENT]-- la ligne ci-dessous envoie les caractères *Q à TouchPal
-- le fichier xml de configuration de TouchPal définit cette séquence de caractère comme l'ordre de fermer l'application TouchPal
[/INDENT]socket.try(c:send("*Q\n"))

-- ferme la connexion
c:close()
[/INDENT]end

.
.
Exemple 1 bis : sur le meme PC ou en reseau avec BSVP

.
function LuaExportStart()
[INDENT] -- Exécuté une fois au démarrage de la mission
[/INDENT][INDENT]-- Initialisation des connexions
-- chemins d'accès aux bibliothèques du socket lua
[/INDENT][INDENT] package.path = package.path..";.\\LuaSocket\\?.lua"
package.cpath = package.cpath..";.\\LuaSocket\\?.dll"
socket = require("socket")
[/INDENT][INDENT][INDENT] -- pour utilisation monoposte
[/INDENT][INDENT] host = host or "localhost"
[/INDENT][INDENT] -- pour utilisation en reseau : décommenter la ligne suivante et commenter la précédente
[/INDENT][INDENT] -- host = host or "192.168.0.101"
[/INDENT] -- pour BSVP : port 8080
port = port or 8080
-- connexion
c = socket.try(socket.connect(host, port))
-- transmission immédiate des données
[/INDENT][INDENT] c:setoption("tcp-nodelay",true)
[/INDENT] end

function LuaExportStop()
[INDENT]-- Exécutée à l'arrêt de la mission.

-- Fermeture des connexions
socket.try(c:send("quit"))
c:close()
[/INDENT] end

.

Exemple 2 : sur le meme PC : Touchpal + BSVP


profil posté par Gadroc http://forums.eagle.ru/showpost.php?p=7 ... stcount=78


On crée d'abord 2 variables supplémentaires pour communiquer sur deux ports différents
-- TouchPal Host and Port
gTPHost = "127.0.0.1"
gTPPort = 9089

-- BSVP Blackshark Virtual Panel Host and Port

gBSVPHost = "127.0.0.1"
gBSVPPort = 8080
.
.
on modifie ensuite un peu les sections suivantes :
function LuaExportStart()[INDENT] -- Works once just before mission start.
-- Open log file for export
local file = io.open("./Temp/Export.log", "w")
if file then
io.output(file)
io.write("---Log: Start-----", "\n")
io.flush()
end
-- 2) Setup UDP socket to talk
package.path = package.path..";.\\LuaSocket\\?.lua"
package.cpath = package.cpath..";.\\LuaSocket\\?.dll"
socket = require("socket")[INDENT]-- 2-1) Setup udp sockets to talk to touchpal[INDENT]c = socket.udp()
c:setpeername(gTPHost, gTPPort)
-- set the timeout for reading the socket
c:settimeout(.01)
[/INDENT][/INDENT][INDENT]-- 2-2) Setup TCP socket to talk to BSVP[INDENT]-- connect to the listener socket
bsvpc = socket.try(socket.connect(gBSVPHost, gBSVPPort))
-- set immediate transmission mode
bsvpc:setoption("tcp-nodelay",true)
[/INDENT][/INDENT]SendConnectMessage()
[/INDENT]end



function LuaExportAfterNextFrame()[INDENT] ProcessOutput()
ProcessBSVP()
[/INDENT]end

function LuaExportStop()[INDENT] -- Works once just after mission stop.
io.write("---Log: End-----", "\n")
io.flush()
io.close()

-- to close the listener socket for TouchPAL

socket.try(c:send("*Q\n"))
c:close()

-- to close the listener socket for
BSVP
socket.try(bsvpc:send("quit"))
bsvpc:close()
[/INDENT]end
.
POUR SIOC + BSVP + Touchpal : see Oakes site for the time :

http://code.google.com/p/dcsbsexport/downloads/list
http://code.google.com/p/dcsbsexport/updates/list

function LuaExportStart()

-- 2) Socket

package.path = package.path..";.\\LuaSocket\\?.lua"
package.cpath = package.cpath..";.\\LuaSocket\\?.dll"

socket = require("socket")




-- SIOC correct ip and port (127.0.0.1 = localhost, 8092 = default SIOC port)
-- la variable pitSIOC gère la connexion à SIOC :


pitSIOC = socket.try(socket.connect(127.0.0.1, 8092))
pitSIOC:setoption("tcp-nodelay",true)
pitSIOC:settimeout(.01)



-- Touchpal correct ip and port (127.0.0.1 = localhost, 9089 = default TP port)
-- la variable ecranTP gère la connexion à touchpal :

ecranTP = socket.udp()
ecranTP:setpeername(127.0.0.1, 9089)
ecranTP:settimeout(.01)



-- BSVP correct ip and port (127.0.0.1 = localhost, 8080= default BSVP port)
-- la variable ecranBSVP gère la connexion à BSVP :

ecranBSVP = socket.try(socket.connect(127.0.0.1, 8080))
ecranBSVP:setoption("tcp-nodelay",true)


-- Evidemment si vous utilisez des PC en réseau il faut changer les IP.

[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

Export du panneau ARMEMENT console centrale

#4

Message par hellfrog »

comment rédiger/modifier export.lua pour exporter les infos du panneau armememnt :

cette fonction est active dans la version 0.4 de touchPal, et dans le projet de pit Oakes http://forums.eagle.ru/showthread.php?t=36689, qui en est l'auteur

je me contente donc de traduire commenter et expliquer le script lua
du fichier export.lua de BS, modifié pour TouchPal, livré avec TouchPal
en ne gardant que les lignes necessaires et qui ne concernent que l'export des ARMES

Image

j'ai retiré le reste pour plus de simplicité

pour que l'export.lua fonctionne, ne pas oublier
dans ./Config/Export/Config.lua
EnableExportScript = true -- au lieu de false (valeur par defaut : false)
au début on trouve ces lignes :



à suivre...


A T T E N T I O N
la suite n'est pas finie !!! edition en cours !!! ne pas recopier tel quel : attendez que je finisse ! EDIT 14/11 : pas encore cette semaine... pas le temps


-- Last sent values for weapons status
gLastWeapons = {[615]="",[2000]="",[2001]="",[2002]=""}
-- Lookup tables for weapons store type display
gStationTypes = {["9A4172"] = "NC", ["S-8KOM"] = "HP", ["S-13"] = "HP", ["UPK-23-250"] = "NN", ["AO-2.5RT"] = "A6", ["PTAB-2.5KO"] = "A6",
["FAB-250"] = "A6", ["FAB-500"] = "A6" }
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

Update post 3

#5

Message par hellfrog »

Update post 3

(perso :: memo : finir post 4)
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

update

#6

Message par hellfrog »

je n'ai rien posté de plus dans cette discussion depuis qqs temps par manque de temps pour rédiger et aussi par que une nouvelle version de TouchPAL va sortir et qu'en fontion des modifications apportées, je finirais mes sujets suivant et je ne les posterais qu'ensuite. J'attends donc la sortie de cette mise à jour pour debut 2010.

voir discussion sujet touchPAL pour exemples de code
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

syntaxe pour les rotaries

#7

Message par hellfrog »

Gadroc (cf dicussion touchPal (c'est l'auteur du soft)) a résolu ce pb :


exemples ici http://forums.eagle.ru/showpost.php?p=8 ... tcount=184

donc utilisable pour touchPal et SIOC en principe
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

export.lua programmation rotateurs lever

#8

Message par hellfrog »

mot clés :
programmation export lua rotateurs rotary LEV lever BS

posté sur forum DCS par Gadroc, auteur de touchPal, dans la discussion sur le cockpit de Oakes. (http://forums.eagle.ru/showthread.php?p=810897)
traduction par Hellfrog

Code : Tout sélectionner

LOCALIZE("ABRIS Brightness"),[INDENT]elements["ABRIS_BRIGHTNESS_PTR"] {[B][U]class_type.LEV[/U][/B]} action = {device_commands.Button_8}, arg = {517}, arg_value = {[color=Yellow]0.05[/color]}, arg_lim = {{[color=PaleGreen]0,1[/color]}} [/INDENT]
.[INDENT]J'ai réussi à programmer export.lua pour faire gérer la luminosité de l'ABRIS par un bouton dans clickabledata.lua.

Pour chaque interrupteur de classe class_type.LEV et pour lequel il N'existe PAS de clause relative=true on peut envoyer à BS une valeur absolue. Cette valeur absolue doit être comprise entre les limites définies par arg_lim ; l'intervalle entre chaque valeurs autorisées est défini par arg_value.

Dans l'exemple ci-dessus les valeurs autorisées sont comprises entre 0 et 1, par pas de 0.05

Pour envoyer à BS la commande suivante : régler la luminosité de l'ABRIS à 50%, le script export.lua doit exécuter le code suivant :
[/INDENT]

Code : Tout sélectionner

local dev = GetDevice(9) dev:performClickableAction(3008,0.5)
.[INDENT]NDT :
Donc on peut utiliser un simple bouton dans touchpal, mais aussi un interrupteur simple ou un bouton poussoir ou un MOn/MOff dans un cockpit pour exécuter cela. Sous SIOC pour cartes OpenCockpit on peut aussi programmer un rotateur pour qu'il envoie les valeurs adéquates en fonction de ses différentes positions.


NDT : Pour TouchPAL :
[/INDENT][INDENT]le code dans touchpal.xml est donc le suivant :
- simuler rotation à mi course => définit la valeur à 0.5 :

[/INDENT][INDENT]

Code : Tout sélectionner

[color=PaleTurquoise]<[/color][color=PaleTurquoise]NetworkID>[B]517[/B]<[/color][color=PaleTurquoise]/NetworkID>[/color] [color=PaleTurquoise]<[/color][color=PaleTurquoise]PushedAction>NS:C,[B]9[/B],300[B]8[/B],[B]0.5[/B]<[/color][color=PaleTurquoise]/PushedAction>[/color]
[/INDENT].[INDENT]Pour programmer la gestion du curseur de l'ABRIS c'est plus compliqué.
[/INDENT]

Code : Tout sélectionner

LOCALIZE("ABRIS Cursor control (rot/push)"),[INDENT]elements["ABRIS_SHUNT_PTR"] = {class = {{[color=PaleGreen][color=Yellow]class_type.LEV[/color] [/color], [color=Lime]class_type.BTN[/color]} action = {[color=Yellow]device_commands.Button_6[/color], [color=Lime]device_commands.Button_7[/color]} ,stop_action = {[color=Yellow]0[/color] ,[color=Lime]device_commands.Button_7[/color] } ,is_repeatable = {}, arg = {[color=Yellow]518 [/color], [color=Lime]523[/color]},arg_value = {[color=Yellow]0.04[/color] ,[color=Lime]1[/color]}, arg_lim = {[color=Yellow]{0,1}[/color] ,[color=Lime]{0,1}[/color]}, relative = {[color=Yellow]true[/color], [color=Lime]false[/color]},gain = {[color=Yellow]1[/color],[color=Lime]0[/color]}}} [/INDENT]
[INDENT]Un interrupteur qui possède DEUX class_type DIFFERENTS a un effet différent si l'on fait un clic gauche ou bien un clic droit avec la souris dans le cockpit.

D'après ce que j'ai pu expérimenter, la première class_type correspond au clic gauche ou à la roulette de la souris et le second class_type correspond au clic droit.

Dans l'exemple ci-dessus, le premier class_type correspond donc au clic gauche et est aussi un class_type.LEV ; mais il faut noter ici la présence de la clause relative = {true ,false} ce qui signifie que BS n'accepte pas de valeurs absolues mais des valeurs relatives. La valeur passée à BS doit être la part d'augmentation ou de diminution de la valeur actuelle de cet interrupteur.
arg_value définie quelle est la valeur à passer à la fonction "performClickableAction".

Dans l'exemple du curseur :
on augmente la valeur de 4% en tournant le bouton (ou la roulette de la souris) dans le sens horaire
en exécutant le code suivant dans export.lua :
[/INDENT]

Code : Tout sélectionner

local dev = GetDevice(9) dev:performClickableAction(3006,0.04)
[INDENT]NDT : Pour TouchPAL :
[/INDENT][INDENT]le code dans touchpal.xml est donc le suivant :
- tourner le bouton vers la droite => augmente la valeur de 4% :
[/INDENT][INDENT]

Code : Tout sélectionner

[color=PaleTurquoise]<NetworkID>518</NetworkID> [/color] [color=PaleTurquoise]<PushedAction>NS:C,9,3006,0.04</PushedAction> [/color]
[/INDENT][INDENT]

Pour diminuer la valeur de 4%
[/INDENT]

Code : Tout sélectionner

local dev = GetDevice(9) dev:performClickableAction(3006,-0.04)
[INDENT]
NDT : Pour TouchPAL :
le code dans touchpal.xml est donc le suivant :
- tourner le bouton vers la gauche => diminue la valeur de 4% :
[/INDENT][INDENT]

Code : Tout sélectionner

<NetworkID>518</NetworkID> <PushedAction>NS:C,9,3006,-0.04</PushedAction>
[/color]
[/INDENT][INDENT]


Enfin, le second class_type définit dans notre exemple le clic droit et correspond à un bouton standard (class_type.BTN). La seconde partie de arg_value détermine la valeur utilisée pour enfoncer le bouton : 1.0 et la seconde partie de arg_lim donne la valeur inférieure pour le relacher : 0.0.

Pour presser le bouton le code export.lua est donc le suivant :
[/INDENT]

Code : Tout sélectionner

local dev = GetDevice(9) dev:performClickableAction(3007,1.0)
[INDENT]
NDT : Pour TouchPAL :
[/INDENT][INDENT]le code dans touchpal.xml est donc le suivant :
- appui sur le bouton => passe en état "enfoncé" :

Code : Tout sélectionner

<NetworkID>523</NetworkID> <PushedAction>NS:C,9,3007,1.0</PushedAction>
[/color]
[/INDENT][INDENT]
et pour le relacher :
[/INDENT]

Code : Tout sélectionner

local dev = GetDevice(9) dev:performClickableAction(3007,0.0)
[INDENT]
NDT : Pour TouchPAL :
[/INDENT][INDENT]le code dans touchpal.xml est donc le suivant :
- appui sur le bouton => passe en état "relâché" :

Code : Tout sélectionner

<NetworkID>523</NetworkID> <PushedAction>NS:C,9,3007,0.0</PushedAction>
voir la discussion touchpal pour des exemples de code http://www.checksix-forums.com/showpost ... stcount=57
[/color][/INDENT]
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

mainpanelinit.lua transformé pour export.lua

#9

Message par hellfrog »

prêt à incorporer pour utilisation dans votre export.lua pour communiquer avec SIOC ou touchpal : toutes les loupiotes et autres qui sont exportées de BS vers l'extérieur et concernant le cockpit.
Pièces jointes

[L’extension « zip » a été désactivée et ne peut plus être affichée.]

export.lua.Hellfrog.MainpanelOutput.pdf
(41.43 Kio) Téléchargé 200 fois
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

update post numero 3 connexion SIOC TP BSVP

#10

Message par hellfrog »

[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

#11

Message par hellfrog »

pour les anglophones et les motivés du lua :

une page très intéressante pour desosser les infos de BS :
(travail en cours)
http://forums.eagle.ru/showthread.php?t=45071&page=10
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]

Le_CuLtO
Apprenti-Mécano
Apprenti-Mécano
Messages : 389
Inscription : 12 juin 2007

#12

Message par Le_CuLtO »

Je suis en train de bricoler un petit programme qui s'interface à black shark et je me posais une question:
Existe-t-il une doc à jour pour connaitre les fonctions dispos ?
Celle sur le site de DCS n'a plus l'air de l'être, ou un peu en avance je sais pas, quand j'utilise certaines fonctions comme LoGetTrueAirSpeed() elles ne fonctionnent pas toutes :sweatdrop

J'utilise la 1.01 de BS, ce qui ne facilite pas les choses avec la 1.02 sortie sur les versions anglaises.
Pentium MMX avec bouton turbo - 4 Mb VAX 8600 memory board - Disque dur 0.5Go - Chipset Intel 420TX - Ecran CRT 13"
Avatar de l’utilisateur

Topic author
hellfrog
Messages : 5117
Inscription : 22 août 2008

#13

Message par hellfrog »

à part le lien du post précédent on n'a pas trouvé mieux :sweatdrop
[SIGPIC]http://www.kirikoo.net/images/8WoodMAn- ... 212448.png[/img][/SIGPIC] (\_/) (_'.') ..i72600k@4.5GHz + AsusSabertoothZ77 + 16Go GSkill10700 + AC Noctua + Raptor + Win7x64Ult + WH MFDs SaitekThr 1920x1080x3 dt 1 tactile 6950 2G
(")_(")
[/align]

gromich
Nouvelle Recrue
Nouvelle Recrue
Messages : 3
Inscription : 16 novembre 2010

#14

Message par gromich »

Je suis en train de travailler sur un cockpit de A10C. Le première chose est d'adapter notre fameux fichier Export.lua. Comme je suis une bille en LUA je me suis inspiré du Script de OAKES pour attaquer la chose. Suite à un échange que j'ai avec y2kiah il semblerait que la bibliothèque IO ne plante avec A10C le script quivant ne marche pas :

local file = io.open("./Temp/Export.log", "w")

if file then
io.output(file)
io.write("---Log: Start-----", "\n")
io.flush()
end
io.close()

Il faut le remplacer par :

file = io.open("./Temp/Export.log", "w")

if file then
file:write("---Log: Start-----", "\n")
file:flush()
end
file:close()
Répondre

Revenir à « Support technique »