Vous n'êtes pas identifié(e).
Tu as modifié le script initial pour appeler cette fonction:
MJCD8_Write(q400_freq, 65058)donc ou est cette fonction ?
la fonction je l'ai mis a la fin de ce fichier NpcKeyData.lua
Dernière modification par kzw313 (23-02-2021 21:23:00)
Hors ligne
Tu ne réponds pas à ma question
Je ne demande pas ou tu as mis ma fonction mais la fonction MJCD8_Write
Je soupçonne que tu as du trouver sur la toile un exemple utilisant cette fonction MJCD8_Write mais que tu ne l'as jamais définie.
Insère les deux fonctions suivantes en début de fichier comme suit:
--Al Klayton, 14Nov2013
function BCD_to_MJC8Q400(bcd_freq)
digit4= 10000*logic.Shr(bcd_freq, 12)
digit3= logic.And(bcd_freq, 0x0F00)
digit3= 1000*logic.Shr(bcd_freq, 8)
digit2= logic.And(NewFreq, 0x00F0)
digit2= 100*logic.Shr(NewFreq, 4)
digit1= 10*logic.And(NewFreq, 0x000F)
local mjc8q400_freq= digit1+digit2+digit3+digit4
return mjc8q400_freq
end
function MJCD8_Write(value, variable)
ipc.writeLvar("MJC_VAR_WRITE_VALUE", value)
ipc.writeLvar("MJC_VAR_WRITE_CODE", variable)
end
onoff = ipc.get("ONOFF")
PS: fais attention, j'ai vu que tu as copié plusieurs fois la fonction BCD_to_MJC8Q400 dans le script. Tu ne dois la déclarer qu'une seule, en début de fichier, tel que ci dessus
Hors ligne
Tu ne réponds pas à ma question
Je ne demande pas ou tu as mis ma fonction mais la fonction MJCD8_Write
cette fonction
function stby_freq_com1 ()
MJCD8_Write(35775, 65058).
end
je l’utiliser dans linda je "l'activer" via un raccourci Vjoy,mais comme tu le vois je dois crée une nouvelle pour chaque fréquence
Mais comment la définir ou je je dois la mettre ? =V=V:col
Dernière modification par kzw313 (24-02-2021 14:19:56)
Hors ligne
Je n'ai pas le plaisir de connaitre Linda, elle est jolie ?
Tu mélanges deux choses différentes.
Avec linda, tu peux affecter des "fonctions" Ã des touches/boutons/etc.
Donc soit tu as 4 touches sur ton joystick de dispo et il faut écrire les 4 fonctions pour incrémenter/décrémenter les deux parties de la fréquence (entière et décimale), soit tu oublies et tu reviens à ton idée de départ d'utiliser NpCkeyData.
Les scripts NpCkeyData (de ce que j'ai vu rapidement) capturent les touches de ton clavier numérique pour rentrer une fréquence.
Je t'ai donné le code dans mon post précédent. En début de fichier, tu dois définir les deux fonctions dont tu as besoin:
- BCD_to_MJC8Q400
- MJCD8_Write
plus cette troisième qui appelle les deux précédentes:
function stby_freq_com1(NewFreq)
local q400_freq= BCD_to_MJC8Q400(NewFreq)
MJCD8_Write(q400_freq, 65058)
end
puis, dans le script, Ã chaque fois que tu vois l'instruction:
ipc.writeUW(freqloc, NewFreq) -- update radio panel
tu changes comme suit:
ipc.writeUW(freqloc, NewFreq) -- update radio panel
stby_freq_com1(NewFreq)
Dernier conseil:
Avant de modifier quoique ce soit, installe les scripts NpCkeyData et vérifie que tu arrives à modifier la fréquence COM1 sur un avion de base. C'est la base de vérifier que tout fonctionne avant d'entreprendre des modifs.
Dernière modification par zigou (24-02-2021 19:27:09)
Hors ligne
Je n'ai pas le plaisir de connaitre Linda, elle est jolie ? =
moi non plus
Les scripts NpCkeyData (de ce que j'ai vu rapidement) capturent les touches de ton clavier numérique pour rentrer une fréquence.
Je t'ai donné le code dans mon post précédent. En début de fichier, tu dois définir les deux fonctions dont tu as besoin:
- BCD_to_MJC8Q400
- MJCD8_Writeplus cette troisième qui appelle les deux précédentes:
function stby_freq_com1(NewFreq)
local q400_freq= BCD_to_MJC8Q400(NewFreq)
MJCD8_Write(q400_freq, 65058)
endpuis, dans le script, Ã chaque fois que tu vois l'instruction:
ipc.writeUW(freqloc, NewFreq) -- update radio paneltu changes comme suit:
ipc.writeUW(freqloc, NewFreq) -- update radio panel
stby_freq_com1(NewFreq)
voila jai ajoutais tes script comme suit
function BCD_to_MJC8Q400(bcd_freq)
digit4= 10000*logic.Shr(bcd_freq, 12)
digit3= logic.And(bcd_freq, 0x0F00)
digit3= 1000*logic.Shr(bcd_freq, 8)
digit2= logic.And(NewFreq, 0x00F0)
digit2= 100*logic.Shr(NewFreq, 4)
digit1= 10*logic.And(NewFreq, 0x000F)
local mjc8q400_freq= digit1+digit2+digit3+digit4
return mjc8q400_freq
end
function MJCD8_Write(value, variable)
ipc.writeLvar("MJC_VAR_WRITE_VALUE", value)
ipc.writeLvar("MJC_VAR_WRITE_CODE", variable)
end
function stby_freq_com1(NewFreq)
local q400_freq= BCD_to_MJC8Q400(NewFreq)
MJCD8_Write(q400_freq, 65058)
end
puis jai changer comme suit:
ipc.writeUW(freqloc, NewFreq) -- update radio panel
stby_freq_com1(NewFreq)
les l'avions par Default c'est bon
mais pour le dash les fréquence change mais des fréquence bizare exemple
si je rentre au clavier 118.000 ----> 118.900 la fréquence change MAIS pas dans le bon "choix" est afficher fréquence bizare 106.864
119.000 ----> 119.900 la fréquence change MAIS pas dans le bon "choix" est afficher fréquence bizare 106.864
Dernière modification par kzw313 (24-02-2021 20:51:46)
Hors ligne
on avance.
Modifie la fonction comme suit:
function stby_freq_com1(NewFreq)
local q400_freq= BCD_to_MJC8Q400(NewFreq)
ipc.log("NewFreq (BCD)= " .. NewFreq)
ipc.log("Q400Freq= " .. q400_freq)
MJCD8_Write(q400_freq, 65058)
end
Lance ton simu, change tes fréquences comme décrit et ensuite, ouvre le répertoire "Modules" de ton simu (là ou tu as du mettre les scripts).
Il y a un fichier FSUIPCx.log (x étant la version de ton FSUIPC).
Tu devrais voir dedans les logs que j'ai rajoutés dans la fonction ci-dessus.
copie moi ces lignes et peut etre que je comprendrais ou est l'erreur.
Hors ligne
voici un extrait du log
113850 H:\fsx\SimObjects\Airplanes\mjc8q400\MJC8Q4.AIR
118904 Exception 3 "UNRECOGNIZED_ID", Ref 2375, Index param 1 on write SetData for "RECIP ENG FUEL FLOW:1"
118904 Exception 3 "UNRECOGNIZED_ID", Ref 2376, Index param 1 on write SetData for "RECIP ENG FUEL FLOW:2"
118904 Exception 3 "UNRECOGNIZED_ID", Ref 2377, Index param 1 on write SetData for "RECIP ENG FUEL FLOW:3"
119248 Aircraft="MJC8Q400_DTH1"
174051 Sim stopped: average frame rate for last 55 secs = 18.7 fps
174051 Max AI traffic was 3 aircraft (Deleted 0)
294764 LUA.0: NewFreq (BCD)= 10240
294764 LUA.0: Q400Freq= 124000
295061 LUA.0: NewFreq (BCD)= 8960
295061 LUA.0: Q400Freq= 111000
296870 LUA.0: NewFreq (BCD)= 8960
296886 LUA.0: Q400Freq= 111000
297136 LUA.0: NewFreq (BCD)= 8960
297136 LUA.0: Q400Freq= 111000
306106 === Closing session: waiting for DLLStop to be called ...
317088 === DLLStop called ...
317088 === Closing external processes we started ...
318086 === About to kill any Lua plug-ins still running ...
318242 === Closing global Lua thread
Hors ligne
Hors ligne
le script modifier
les modification faite en gras
le log
3759 Initialising SimConnect data requests now
3759 FSUIPC Menu entry added
3822 \\ALR-PC\Users\ALR\Documents\Fichiers Flight Simulator X\alpha.FLT
3822 H:\fsx\SimObjects\Airplanes\B737_800\Boeing737-800.AIR
29577 Aircraft loaded: running normally now ...
29577 User Aircraft ID 1 supplied, now being used
29983 System time = 25/02/2021 08:03:24, Simulator time = 08:02:59 (07:02Z)
29983 Aircraft="Boeing 737-800 Paint1"
30997 Starting everything now ...
32323 Advanced Weather Interface Enabled
46862 H:\fsx\SimObjects\Airplanes\mjc8q400\MJC8Q4.AIR
47705 Aircraft="MJC8Q400_DTH1"
47705 Exception 3 "UNRECOGNIZED_ID", Ref 2346, Index param 1 on write SetData for "RECIP ENG FUEL FLOW:1"
47705 Exception 3 "UNRECOGNIZED_ID", Ref 2347, Index param 1 on write SetData for "RECIP ENG FUEL FLOW:2"
47705 Exception 3 "UNRECOGNIZED_ID", Ref 2348, Index param 1 on write SetData for "RECIP ENG FUEL FLOW:3"
86720 LUA.0: NewFreq (BCD)= 10240
86720 LUA.0: Q400Freq= 124000
100137 LUA.0: NewFreq (BCD)= 8192
100137 LUA.0: Q400Freq= 103200
100386 LUA.0: NewFreq (BCD)= 8192
100386 LUA.0: Q400Freq= 103200
143177 LUA.0: NewFreq (BCD)= 10240
143177 LUA.0: Q400Freq= 124000
149090 LUA.0: NewFreq (BCD)= 8448
149090 LUA.0: Q400Freq= 105800
149339 LUA.0: NewFreq (BCD)= 8448
149339 LUA.0: Q400Freq= 105800
170633 Sim stopped: average frame rate for last 122 secs = 19.5 fps
170633 Max AI traffic was 1 aircraft (Deleted 0)
171616 === Closing session: waiting for DLLStop to be called ...
184627 === DLLStop called ...
184627 === Closing external processes we started ...
185625 === About to kill any Lua plug-ins still running ...
185781 === Closing global Lua thread
186780 === About to kill my timers ...
186982 === Restoring window procs ...
186982 === Unloading libraries ...
186982 === stopping other threads ...
186982 === ... Memory checking ...
186982 === ... Button scanning ...
187076 === ... Axis scanning ...
187170 === Releasing joystick devices ...
187170 === Freeing macro memory
187170 === Removing any offset overrides
187170 === Closing all WideFS threads
189541 === Clearing any displays left
189541 === NOTE: not calling SimConnect_Close ...
189541 === AI slots deleted!
189541 === Freeing button memory ...
189541 === Closing my Windows ...
189541 === Freeing FS libraries ...
190539 === Closing devices ...
190539 === Closing the Log ... Bye Bye! ...
190539 System time = 25/02/2021 08:06:04, Simulator time = 08:05:13 (07:05Z)
190539 *** FSUIPC log file being closed
Minimum frame rate was 17.5 fps, Maximum was 19.9 fps
Minimum available memory recorded was 2695Mb
Average frame rate for running time of 132 secs = 19.5 fps
G3D fix: Passes 10094, Null pointers 0, Bad pointers 0, Separate instances 0
Maximum AI traffic for session was 1 aircraft
Memory managed: 66 Allocs, 66 Freed
********* FSUIPC Log file closed ***********
les fréquences taper au clavier
120.000
121.000
ps : quand je tape 120 et 121 la fréquence afficher et 158.464 et quand je tape 120.00 ----> 137.664 si je tape le dernier 0 soit 120.000 ----> 137.664 puis affichage sur bar verte"invalidee entrée"
de même quand je tape 121.00 ----> 140.264 si je tape le dernier 0 soit 121.000 ----> 140.264 puis affichage sur bar verte " invalidee entrée"
Dernière modification par kzw313 (25-02-2021 17:07:51)
Hors ligne
toujours problème fréquences
cette fois j'ai rentrée le fréquences 120.000 et 121.025
le log
98265 LUA.0: NewFreq (BCD)= 10240
98265 LUA.0: Q400Freq= 124000
98671 LUA.0: NewFreq (BCD)= 8192
98671 LUA.0: Q400Freq= 103200
100480 LUA.0: NewFreq (BCD)= 8192
100480 LUA.0: Q400Freq= 103200
100730 LUA.0: NewFreq (BCD)= 8192
100745 LUA.0: Q400Freq= 103200
106549 LUA.0: NewFreq (BCD)= 8192
106549 LUA.0: Q400Freq= 103200
107157 LUA.0: NewFreq (BCD)= 8448
107157 LUA.0: Q400Freq= 105800
109325 LUA.0: NewFreq (BCD)= 8448
109325 LUA.0: Q400Freq= 105800
109871 LUA.0: NewFreq (BCD)= 8450
109871 LUA.0: Q400Freq= 105820
113912 Sim stopped: average frame rate for last 74 secs = 19.2 fps
113912 Max AI traffic was 1 aircraft (Deleted 0)
115004 === Closing session: waiting for DLLStop to be called ...
127983 === DLLStop called ...
127983 === Closing external processes we started ...
128982 === About to kill any Lua plug-ins still running ...
129138 === Closing global Lua thread
130136 === About to kill my timers ...
130323 === Restoring window procs ...
130323 === Unloading libraries ...
130323 === stopping other threads ...
130323 === ... Memory checking ...
130323 === ... Button scanning ...
130432 === ... Axis scanning ...
130526 === Releasing joystick devices ...
130526 === Freeing macro memory
130526 === Removing any offset overrides
130526 === Closing all WideFS threads
132882 === Clearing any displays left
132882 === NOTE: not calling SimConnect_Close ...
132882 === AI slots deleted!
132882 === Freeing button memory ...
132882 === Closing my Windows ...
132882 === Freeing FS libraries ...
133880 === Closing devices ...
133880 === Closing the Log ... Bye Bye! ...
133880 System time = 25/02/2021 19:18:58, Simulator time = 16:27:06 (15:27Z)
133880 *** FSUIPC log file being closed
Minimum frame rate was 16.2 fps, Maximum was 19.9 fps
Minimum available memory recorded was 2715Mb
Average frame rate for running time of 79 secs = 19.1 fps
G3D fix: Passes 10109, Null pointers 0, Bad pointers 0, Separate instances 0
Maximum AI traffic for session was 1 aircraft
Memory managed: 42 Allocs, 42 Freed
********* FSUIPC Log file closed ***********
Dernière modification par kzw313 (25-02-2021 19:21:47)
Hors ligne
ok j'essaierai de lancer mon simu ce week-end, au moins la valeur de la fréquence n'est plus corrompue, je retrouve bien les fréquences que tu rentres.
Je dois merder qq part dans la conversion vers le format du Q400.
Hors ligne
En regardant à tête reposée ma fonction de conversion de format, je pense avoir trouvé l'erreur:
Remplace la fonction par celle ci (j'ai mis en gras ce que j'ai corrigé):
function BCD_to_MJC8Q400(bcd_freq)
digit4= logic.Shr(bcd_freq, 12)
digit3= logic.And(bcd_freq, 0x0F00)
digit3= logic.Shr(digit3, 8)
digit2= logic.And(bcd_freq, 0x00F0)
digit2= logic.Shr(digit2, 4)
digit1= logic.And(bcd_freq, 0x000F)
local mjc8q400_freq= 10*digit1+100*digit2+1000*digit3+10000*digit4
return mjc8q400_freq
end
Hors ligne
Salut Zigou
désoler mais comme tu le sait moi et LUA ca fait 2 le script marche très bien, sauf que avec ces modification :
1 _ en peut changer que la fréquence com1
2 - si en appui sur la touche pour changer l'action sur quelle com en veut changer la fréquence COM1 ou COM2 c'est la même chose , alors que sur les appareil par Default en appuis sur la touche affecter pour la radio com quand veut modifier ex: la touche C est affecter pour le changement de fréquence com1 ou com2 ,je veut change la fréquence sur com2 j'appui sur C le première fois un message "COM1 j'appui une deuxième fois un message "COM2" je rentre la fréquence voulu
si tu a le temp j'aimerais que tu m'explique les changement que tu a effectuer et ne pas me donner les "les solutions" car j'aimerais apprendre
si c'est trop compliquer pour une personne qui ne c'est connait pas en script LUA ou pas le temp alors a tois de voire
merci
pas trop le temps alors j'espère que tu maitrises un peu le LUA
le bout de code dans ton script qui lit la fréquence COM1:
if acr == "COM_1" then
CurrFreq = ipc.readUW(0x311A) --get freq of active radio
freqloc= 0x311Aidéalement, il faudrait la remplacer avec la lecture de la variable COM1 du Majestic (ie MJC_Read)
? =V
Dernière modification par kzw313 (28-02-2021 15:22:20)
Hors ligne
Salut,
oui maintenant c'est à toi de travailler
Etape 1:
Nous avons créé une fonction pour écrire dans la variable COM1 SBY du Q400: 65058
function stby_freq_com1(bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, 65058)
end
Donc, il faudrait que tu ajoutes un 2e paramètre à cette fonction pour pouvoir donner une autre variable que COM1.
Dans un premier temps, ajoute ce 2e paramètre, utilise le à la place de 65058 et modifie tous les appels à la fonction pour passer ce 2e paramètre avec la valeur 65058.
Etape 2 (quand tu as fini avec succès l'étape 1):
Recherche la variable: freqloc
Elle est utilisée pour justement spécifier s'il faut écrire la fréquence dans COM1, COM2, NAV1 ou NAV2 dans les radios par défaut.
Il faut utiliser le même principe pour le Q400.
En début de sujet, j'ai expliqué comment trouver le code de la variable COM1 du Majestic (65058).
Il te faut donc trouver les codes pour COM2, puis NAV1/NAV2 si tu veux tout câbler.
Etape 3:
Il te suffit de créer une nouvelle variable "q400_freqloc" et de la mettre à jour en même temps que freqloc avec les codes que tu as trouvés à l'étape 2.
Ensuite tu remplaces la valeur 65058 par la variable "q400_freqloc" quand tu appelles ta fonction "stby_freq_com1" (que tu pourrais d'ailleurs renommer)
N'hésite pas à partager tes progrès.
Bonne chance ! =W
Dernière modification par zigou (28-02-2021 15:51:20)
Hors ligne
oui maintenant c'est à toi de travailler
tu a lu mes pensées
Etape 1:
Donc, il faudrait que tu ajoutes un 2e paramètre à cette fonction pour pouvoir donner une autre variable que COM1.
function stby_freq_com1(bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, 65058,65094) <-------- c'est ça ?
end
Dans un premier temps, ajoute ce 2e paramètre, utilise le à la place de 65058 et modifie tous les appels à la fonction pour passer ce 2e paramètre avec la valeur 65058.
??? désoler un peu plus de détail
Dernière modification par kzw313 (28-02-2021 18:06:57)
Hors ligne
Regarde la fonction MJCD8_Write(value, variable), c'est celle ci qui écrit la fréquence dans la variable du Majestic.
Elle prend deux paramètres, la variable (pour l'instant 65058 qui correspond à EFISdata_->ARCDUs[0].stby_freq_com[0]) et la valeur (fréquence dans notre cas).
Donc si tu veux maintenant pouvoir écrire la fréquence dans une variable COM1 ou COM2, il faut aussi avoir un 2e paramètre dans stby_freq_com1(bcd_freq) --> par exemple stby_freq_com1(variable, bcd_freq)
à toi de modifier le code de cette fonction pour prendre en compte ce nouveau paramètre.
Dernière modification par zigou (28-02-2021 18:21:35)
Hors ligne
je croi que je suis a coter de la plaque
voici les modification
Etape 1:
Nous avons créé une fonction pour écrire dans la variable COM1 SBY du Q400: 65058
function stby_freq_com1(bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, 65058)
endDonc, il faudrait que tu ajoutes un 2e paramètre à cette fonction pour pouvoir donner une autre variable que COM1.
Dans un premier temps, ajoute ce 2e paramètre, utilise le à la place de 65058 et modifie tous les appels à la fonction pour passer ce 2e paramètre avec la valeur 65058.
unction BCD_to_MJC8Q400(bcd_freq)
digit4= logic.Shr(bcd_freq, 12)
digit3= logic.And(bcd_freq, 0x0F00)
digit3= logic.Shr(digit3, 8)
digit2= logic.And(bcd_freq, 0x00F0)
digit2= logic.Shr(digit2, 4)
digit1= logic.And(bcd_freq, 0x000F)
local mjc8q400_freq= 10*digit1+100*digit2+1000*digit3+10000*digit4
return mjc8q400_freq
end
function MJCD8_Write(value, variable)
ipc.writeLvar("MJC_VAR_WRITE_VALUE", value)
ipc.writeLvar("MJC_VAR_WRITE_CODE", variable)
end
function stby_freq_com1(65094,bcd_freq) <--------- 2e paramètre
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
Etape 2 (quand tu as fini avec succès l'étape 1):
Recherche la variable: freqloc
Elle est utilisée pour justement spécifier s'il faut écrire la fréquence dans COM1, COM2, NAV1 ou NAV2 dans les radios par défaut.
Il faut utiliser le même principe pour le Q400.
En début de sujet, j'ai expliqué comment trouver le code de la variable COM1 du Majestic (65058).
Il te faut donc trouver les codes pour COM2, puis NAV1/NAV2 si tu veux tout câbler.
si je cherche freqloc voila ce que je trouve il ya 9 jai mis un seul comme exemple
ipc.writeUW(freqloc, NewFreq) -- update radio panel
MJCD8_Write(q400_freq, q400_freqloc)
stby_freq_com1(NewFreq)
Etape 3:
Il te suffit de créer une nouvelle variable "q400_freqloc" et de la mettre à jour en même temps que freqloc avec les codes que tu as trouvés à l'étape 2.
Ensuite tu remplaces la valeur 65058 par la variable "q400_freqloc" quand tu appelles ta fonction "stby_freq_com1" (que tu pourrais d'ailleurs renommer)
function stby_freq_com1(65094,bcd_freq) <--------- 2e paramètre
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
ipc.log("NewFreq (BCD)= " .. bcd_freq)
ipc.log("Q400Freq= " .. q400_freq)
MJCD8_Write(q400_freq, q400_freqloc) remplacement de 65058 par q400_freqloc
Dernière modification par kzw313 (01-03-2021 18:40:17)
Hors ligne
Hello kzw313
il faut y aller étape par étape.
La fonction MJCD8_Write(value, variable) prend 2 paramètres: la variable et la valeur que tu veux écrire.
La fonction stby_freq_com1 appelle MJCD8_Write mais ne prend qu'un seul paramètre (bcd_freq) qui est la valeur.
function stby_freq_com1(bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, 65058)
end
Donc la fonction actuelle utilise une valeur pré-définie (65058) pour donner la variable à écrire à MJCD8_Write.
Tu cherches à étendre les possibilités de ton script pour écrire dans une autre variable (ex COM2).
Donc il faut modifier la fonction pour ajouter la "variable" en paramètre:
function stby_freq(variable, bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, variable)
end
Pour finir avec l'étape 1, partout ou tu appelles stby_freq_com1(NewFreq), il faut mettre à jour pour passer ce deuxième paramètre (note que j'en ai profité pour renommer la fonction puisqu'elle ne se limite plus à COM1):
- stby_freq(65058, NewFreq) si tu veux continuer à changer COM1 SBY
- ou stby_freq(65094, NewFreq) si tu veux tester si ca fonctionne avec COM2 SBY
L'étape 2 consiste à passer la valeur 65058 ou 65094 via une nouvelle variable, ce qui permettra à ton script de passer de l'un à l'autre.
J'espère que ca t'aide et que tu comprends un minimum.
cordialement
Dernière modification par zigou (01-03-2021 20:10:58)
Hors ligne
function stby_freq_com1(65058, bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, (65058)
end
NewFreq = logic.Or(DigitSpace, movPARAM+0x0900) --add on temp 3rd freq digit = 9
ipc.writeUW(freqloc, NewFreq) -- update radio panel
stby_freq_com1((65058, NewFreq) <------ mis a jour toute les lignes
ça marche pas
alors qu'avec ça, ça marche
function stby_freq_com1(bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, 65058)
end
NewFreq = logic.Or(DigitSpace, movPARAM+0x0900) --add on temp 3rd freq digit = 9
ipc.writeUW(freqloc, NewFreq) -- update radio panel
stby_freq_com1(NewFreq)
Dernière modification par kzw313 (01-03-2021 21:32:27)
Hors ligne
Ce que tu as fait (et je confirme que ca ne peut pas marcher):
function stby_freq_com1(65058, bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, (65058)
end
et ce que je te demande et que je t'ai donné dans mon message précédent avec l'explication du pourquoi:
function stby_freq(variable, bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, variable)
end
ps: et je t'ai aussi dit que j'avais renommé la fonction puisqu'on change son comportement.
Hors ligne
function stby_freq(variable, bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, variable)
end
variable com1 = 65058 ?
variable com2 = 65094 ?
function stby_freq(65058, bcd_freq)
local q400_freq= BCD_to_MJC8Q400(bcd_freq)
MJCD8_Write(q400_freq, 65058)
Dernière modification par kzw313 (01-03-2021 22:32:03)
Hors ligne
regarde mon post #46, je te dis comment appeler la nouvelle fonction avec 2 paramètres:
Pour finir avec l'étape 1, partout ou tu appelles stby_freq_com1(NewFreq), il faut mettre à jour pour passer ce deuxième paramètre (note que j'en ai profité pour renommer la fonction puisqu'elle ne se limite plus à COM1):
- stby_freq(65058, NewFreq) si tu veux continuer à changer COM1 SBY
- ou stby_freq(65094, NewFreq) si tu veux tester si ca fonctionne avec COM2 SBY
Dans le post #5, j'explique comment obtenir le code de la variable Majestic à partir de son nom.
Donc oui, COM1= 65058.
Je n'ai pas vérifié pour COM2, tu as mentionné 65094, je t'ai cru sur parole.
Dernière modification par zigou (01-03-2021 23:04:46)
Hors ligne