LUA Scripting sur V2.1.x
+4
JimboFarrar
Eric84AMC
Kilrah
Heisenberg
8 participants
Page 4 sur 7
Page 4 sur 7 • 1, 2, 3, 4, 5, 6, 7
Re: LUA Scripting sur V2.1.x
C'est rassurant, j'ai au moins identifié correctement le problème.
Je vais essayer avec une map de mes icônes déjà placées sur un format 212X64, ça va déjà alléger de 7 bitmaps, j'ai bon espoir d'y gagner un peu en truandant un peu partout le code.
Il est très beau ton écran d'horizon artificiel !!
La partie gauche, je comprends dans les gdes lignes comment tu as fait, ça doit d'ailleurs faire un bon paquet de lignes de code et de mise au point.
Par contre, quelle est ton astuce pour le cercle de droite ?
drawCircle n'existant pas, c'est du point par point ?
Je vais essayer avec une map de mes icônes déjà placées sur un format 212X64, ça va déjà alléger de 7 bitmaps, j'ai bon espoir d'y gagner un peu en truandant un peu partout le code.
Il est très beau ton écran d'horizon artificiel !!
La partie gauche, je comprends dans les gdes lignes comment tu as fait, ça doit d'ailleurs faire un bon paquet de lignes de code et de mise au point.
Par contre, quelle est ton astuce pour le cercle de droite ?
drawCircle n'existant pas, c'est du point par point ?
Re: LUA Scripting sur V2.1.x
Jette un coup d'oeil dans le script, il n'est pas énorme, même pas 500 lignes : http://quetzal.homepage.bluewin.ch/ArduIMU_SPort.zip
Le cercle est dessiné par la fonction drawEllipse, une dizaine de lignes pas plus, c'est tout simple.
Par contre la partie de gauche, c'était nettement plus "touchy" même s'il ne faut pas tant de lignes pour arriver au résultat.
Le cercle est dessiné par la fonction drawEllipse, une dizaine de lignes pas plus, c'est tout simple.
Par contre la partie de gauche, c'était nettement plus "touchy" même s'il ne faut pas tant de lignes pour arriver au résultat.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Je compte regarder ça dans la semaine.
J'ai essayé une autre astuce pour récupérer ma valeur Cels...
Les chiffres permettraient paraît il de récupérer les tensions de chaque éléments en allant directement piocher dans la table.
local batt_cel1 = getValue("Cels",1)
local batt_cel2 = getValue("Cels",2)
etc...
pour obtenir à la fin :
local batt_total = (batt_cel1 + batt_cel2 + batt_cel3 + batt_cel4 + batt_cel5 + batt_cel6)
L'idée me semblait simple et facile.
Sous companion avec l'utilitaire de Dev.Fred, bizarrement, chaque cellule affiche la totalité de la tension du pack.
Et dans la radio, ça bug, encore un écran blanc.
[EDIT] Erreur de ma part, ça pourrait être dispo dans les prochaines versions mais pas encore maintenant [/EDIT]
J'ai essayé une autre astuce pour récupérer ma valeur Cels...
Les chiffres permettraient paraît il de récupérer les tensions de chaque éléments en allant directement piocher dans la table.
local batt_cel1 = getValue("Cels",1)
local batt_cel2 = getValue("Cels",2)
etc...
pour obtenir à la fin :
local batt_total = (batt_cel1 + batt_cel2 + batt_cel3 + batt_cel4 + batt_cel5 + batt_cel6)
L'idée me semblait simple et facile.
Sous companion avec l'utilitaire de Dev.Fred, bizarrement, chaque cellule affiche la totalité de la tension du pack.
Et dans la radio, ça bug, encore un écran blanc.
[EDIT] Erreur de ma part, ça pourrait être dispo dans les prochaines versions mais pas encore maintenant [/EDIT]
Re: LUA Scripting sur V2.1.x
Un bout de code comme ça (pas testé), ça devrait faire l'affaire me semble-t-il.
- Code:
local batt_total = 0
local batt_cells = getValue("Cels")
if type(batt_cells) == "table" then
for , item in batt_cells do
batt_total = batt_total + item
end
end
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Merci Sacre100.
Je vais essayer en fin de journée.
A vue d'oeil, la ligne ci-dessous doit causer une erreur (?)
Je vais essayer en fin de journée.
A vue d'oeil, la ligne ci-dessous doit causer une erreur (?)
- Code:
for , item in batt_cells do
Re: LUA Scripting sur V2.1.x
J'ai un peu modifié ton script.
Et il me dit que Cels n'est pas une table, c'est curieux.
Et il me dit que Cels n'est pas une table, c'est curieux.
- Code:
local batt_total = 0
local batt_cells = getValue("Cels")
if (type(batt_cells) == "table") then
lcd.drawText(82, 40, "Le type est une table", SMLSIZE)
for item in batt_cells do
batt_total = batt_total + item
end
else
lcd.drawText(82, 40, "Le type n'est pas une table", SMLSIZE)
end
lcd.drawNumber(82, 48, batt_total, PREC2 + SMLSIZE + LEFT)
Re: LUA Scripting sur V2.1.x
Heisenberg a écrit:... A vue d'oeil, la ligne ci-dessous doit causer une erreur (?)
- Code:
for , item in batt_cells do
Pas si sur, la syntaxe complète devrait être la suivante :
- Code:
for index, item in pairs(batt_cells) do
ou
- Code:
for index, item in ipairs(batt_cells) do
Mais sauf erreur, on peut ignorer index tout en laissant la virgule et le pairs(...) (ou ipairs(...)) peut l'être aussi. A vérifier
Heisenberg a écrit:J'ai un peu modifié ton script.
Et il me dit que Cels n'est pas une table, c'est curieux.
Pour ce qui est de Cels qui ne retourne pas une table, je suspecte que le problème vient de la manière dont Cels est déclaré dans la télémétrie, j'avais constaté la chose et j'en parlais ici : https://frskytaranis.forumactif.org/t2666p30-lua-scripting-sur-v2-1-x#31294
En fait, lorsque Cels est détecté automatiquement, OpenTx crée le capteur spécial qui retourne bien une table. Si Cels est créé manuellement avec l'Id de Cels, c'est un capteur normal qui donne sauf erreur la totalité de la tension du pack.
Vérifie que ton Cels est bien ce capteur un peu spécial et non un capteur prédéfini usuel.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Ton horizon artificiel fait des émules, 2em post de la page : http://forum.taulabs.org/viewtopic.php?f=17&t=797
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: LUA Scripting sur V2.1.x
dev.fred a écrit:Ton horizon artificiel fait des émules, 2em post de la page : http://forum.taulabs.org/viewtopic.php?f=17&t=797
Sur le cul le Marco, excellent, il faut que je regarde ça en détail, ça me fait super plaisir, merci pour le lien.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Sacre100 a écrit:.../...Vérifie que ton Cels est bien ce capteur un peu spécial et non un capteur prédéfini usuel.
Tu as eu du nez, je n'aurais jamais trouvé, c'était bien la source de l'erreur, c'est vicieux cette détection automatique.
Finalement, ça fonctionne avec un peu de modifs perso et autres sources que j'ai rassemblées d'un autre forum que tu fréquentes.
- Code:
local batt_sum = 0
cellResult = getValue("Cels")
if (type(cellResult) == "table") then
cellValue = ""
for i, v in ipairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
batt_sum = batt_sum + v
end
else
cellValue = "telemetry not available"
end
Avec ça, je récupère ma valeur de batterie totale et j'ai aussi un string dans lequel est affiché la valeur de chaque élément individuel.
Jusque là tout va bien sauf que j'aimerais pouvoir récupérer le nombre d'éléments et la valeur de chacun éléments pour les manipuler ensuite. En gros, le string cellValue, c'est bien mais je ne parviens pas à le disséquer proprement.
Dans un autre langage de prog, ce serait cellValue[1], cellValue[2] etc... mais pas en Lua.
Avec ce qui suit, ça marche mais je ne trouve pas cette méthode très propre.
De plus ça m'a l'air bien gourmand en ressources car je dois supprimer pas mal de lignes qui suivent pour le faire tourner sur la radio sinon ça plante.
Y-a t'il une autre méthode pour le même résultat ?
- Code:
local batt_sum = 0
cellResult = getValue("Cels")
if (type(cellResult) == "table") then
cellValue = ""
for i, v in ipairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
batt_sum = batt_sum + v
if i == 1 then
cell01 = v -- Tension de l'élément 1
battype = 1 -- Nombre d'éléments du pack
elseif i == 2 then
cell02 = v
battype = 2
elseif i == 3 then
cell03 = v
battype = 3
elseif i == 4 then
cell04 = v
battype = 4
elseif i == 5 then
cell05 = v
battype = 5
elseif i == 6 then
cell06 = v
battype = 6
end
else
cellValue = "telemetry not available"
end
[Edit] pour connaître le nombre d'élément, je viens de réagir que je l'ai sous les yeux, c'est tout simplement "i" une fois sorti de ce bout de code.
Mais pour avoir Cell01, Cell02 et la suite, je ne trouve pas. [/Edit]
Re: LUA Scripting sur V2.1.x
Si, si, c'est bien la syntaxe LUA pour ça.Heisenberg a écrit:... Dans un autre langage de prog, ce serait cellValue[1], cellValue[2] etc... mais pas en Lua. ...
Ou encore plus simple #cellResult qui te donne le nombre d'élément de la table cellResult.Heisenberg a écrit:... [Edit] pour connaître le nombre d'élément, je viens de réagir que je l'ai sous les yeux, c'est tout simplement "i" une fois sorti de ce bout de code. ...[/Edit]
Pour ta série de test, tu dois pouvoir la remplacer par assert(loadstring(...))
Par ailleurs, fait attention a déclarer tes variables locales (excepté lorsque tu veux artager tes variables entre plusieurs scripts.
Au final, j'écrirais un code comme ceci, plus concis mais peut-être pas plus rapide.
- Code:
local batt_sum, batttype = 0, 0
local cellValue = "telemetry not available"
local cell01, cell02, cell03, cell04, cell05, cell06 = 0, 0, 0, 0, 0 ,0
local cellResult = getValue("Cels")
if type(cellResult) == "table" then
cellValue = ""
batttype = #cellResult
for i, v in pairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
batt_sum = batt_sum + v
assert(loadstring("cell0" .. i .. " = v"))
end
end
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
J'avais bien déclaré mes variables mais ne les avais pas recopiées dans mon message, je le fais tout le temps sur tes conseils d'il y-a quelques semaines, ça m'évite des erreurs intempestives. 1000 merci pour ton bout de code.
Je ne savais même pas qu'on pouvait déclarer les variables à la chaine comme dans ton exemple ci-dessus d'ailleurs.
A chaque message échangé j'avance et je t'avoue que je m'éclate avec le Lua
Assert, je ne connaissais pas non-plus, j'ai trouvé quelques lignes relatant de cette fonction mais pas très documentées. Ceci dit, je comprends parfaitement ce qu'assert(loadstring("cell0" .. i .. " = v")) est censé faire dans une boucle for.
Ça condense sérieusement le code, c'est bien plus lisible aussi.
J'ai bien déclaré local cell01, cell02, cell03, cell04, cell05, cell06 = 0, 0, 0, 0, 0 ,0 mais j'ai quand-même un retour d'erreur comme si ces variables n'existaient pas : attempt to call global 'loadstring' (a nil value)
[Edit] loadstring ne semble plus être d'actu. A la place, la fonction load devrait faire l'affaire et je n'ai plus d'erreur avec load mais mes cellules restent à zéro. [/Edit]
Je ne savais même pas qu'on pouvait déclarer les variables à la chaine comme dans ton exemple ci-dessus d'ailleurs.
A chaque message échangé j'avance et je t'avoue que je m'éclate avec le Lua
Assert, je ne connaissais pas non-plus, j'ai trouvé quelques lignes relatant de cette fonction mais pas très documentées. Ceci dit, je comprends parfaitement ce qu'assert(loadstring("cell0" .. i .. " = v")) est censé faire dans une boucle for.
Ça condense sérieusement le code, c'est bien plus lisible aussi.
J'ai bien déclaré local cell01, cell02, cell03, cell04, cell05, cell06 = 0, 0, 0, 0, 0 ,0 mais j'ai quand-même un retour d'erreur comme si ces variables n'existaient pas : attempt to call global 'loadstring' (a nil value)
[Edit] loadstring ne semble plus être d'actu. A la place, la fonction load devrait faire l'affaire et je n'ai plus d'erreur avec load mais mes cellules restent à zéro. [/Edit]
Re: LUA Scripting sur V2.1.x
C'est vrai qe c'est un langage sympa, il est concis, rapide et peut tourner sur des environnements très léger avec peu de mémoire et peu de puissance. La bible LUA est ici : http://www.lua.org/manual/5.2/Heisenberg a écrit:...A chaque message échangé j'avance et je t'avoue que je m'éclate avec le Lua ...
Heisenberg a écrit:... J'ai bien déclaré local cell01, cell02, cell03, cell04, cell05, cell06 = 0, 0, 0, 0, 0 ,0 mais j'ai quand-même un retour d'erreur comme si ces variables n'existaient pas : attempt to call global 'loadstring' (a nil value)
De ce que j'ai compris, loadstring n'a pas à être déclaré en tant que variable (?)
En fait, c'est "load" qu'il faut utiliser, "loadstring" n'est là que pour assurer la compatibilité avec d'ancienne version et ce n'est pas mis en oeuvre dans OpenTx, je ne savais pas, je n'avais pas testé.
Load est un peu contraignant pour deux raisons :
- il retourne une fonction qu'il faut executer
- son environnement d'exécution et l'environnement global
Pour que ça marche, il faudrait :
- que cell01, ... , cell06 soient globales
- transmettre i et v à la fonction créée par load et les récupérer dans la chaine
Il faudrait écrire le code ainsi, c'est concis mais ce n'est pas ce qu'il y a de plus simple :
- Code:
local batt_sum, batttype = 0, 0
local cellValue = "telemetry not available"
cell01, cell02, cell03, cell04, cell05, cell06 = 0, 0, 0, 0, 0 ,0 -->> variable globale (pas bon)
local cellResult = getValue("Cels")
if type(cellResult) == "table" then
cellValue = ""
batttype = #cellResult
for i, v in pairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
batt_sum = batt_sum + v
load("i, v = ...; cell0" .. i .. " = v")(i, v) -->> i, v = ... récupère les deux paramètres passés à la fonction (ça fallait le savoir)
end
end
Tu auras noté que l'on peut mettre plusieurs instructions sur une ligne mais il faut les séparer par un ;
Le plus simple quand même, c'est d'avoir une table au lieu de ces 6 variables et d'utiliser les éléments de la table par ailleurs.
- Code:
local batt_sum, batttype = 0, 0
local cellValue = "telemetry not available"
local cells = {0, 0, 0, 0, 0 ,0} -->> table de 6 éléments initialisé à 0
local cellResult = getValue("Cels")
if type(cellResult) == "table" then
cellValue = ""
for i = 1, #cells do cells[i] = 0 end -->> on reinitialise les 6 élément à 0
batttype = #cellResult
for i, v in pairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
batt_sum = batt_sum + v
cells[i] = v --> on renseigne l'élément correspondant
end
end
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
J'ai bataillé avec VC++ 2015 et le net un certain temps avant de trouver comment envoyer dans un tableaux des valeurs de cellules séparées par des ";" depuis un champ retourné par Form.Heisenberg a écrit:... tu approcherais la perfection si tu pouvais ajouter encore 4 à 6 cellules de plus de batteries pour couvrir 95% des besoins du modelisme ...
Cette ligne de C++ à la sauce Microsoft Windows Forms applications est un vrai petit trophée personnel, spécialement le type de la variable split avec l'opérateur carret (ou hat) [^] pour définir un handle vers un objet managé qui est en fait une référence vers cet objet managé. handle:
L'outil peut maintenant gérer jusqu'à 6 cellules, dans l'exemple j'ai saisi : 1,1;2,2;3,3;4,4;5,5;6,6
- Code:
local cellValue = "unknown"
local cellResult = nil
local cellID = nil
local function getTelemetryId(name)
field = getFieldInfo(name)
if field then
return field.id
else
return -1
end
end
local function init()
cellId = getTelemetryId("Cels")
end
local function background()
cellResult = getValue(cellId)
if (type(cellResult) == "table") then
cellValue = ""
for i, v in ipairs(cellResult) do
cellValue = cellValue .. i .. ": " .. v .. " "
end
else
cellValue = "telemetry not available"
end
end
local function run(e)
lcd.clear()
lcd.drawText(1,11,"Cels:", 0)
lcd.drawText(lcd.getLastPos()+2,11,cellValue,0)
end
return{init=init,run=run,background=background}
Edit a écrit:Compilation sous MVS2010 pour assurer la compatibilité avec Windows 7
- Fichiers joints
Dernière édition par dev.fred le Mar 20 Oct 2015 - 6:28, édité 1 fois (Raison : Recompilation sous MVS2010)
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: LUA Scripting sur V2.1.x
De mon côté, après avoir réinstallé l'environnement sur nouveau portable (l'ancien m'a laché), j'ai développé hier soir un fonction lcd.drawEllipse pour OpenTX. J'ai piqué un algorithme sur net, j'y comprends rien mais ça marche.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
Et depuis tout à l'heure, j'ai ajouté la fonction drawFilledEllipse.
S'il y en a qui veulent tester, voici le code à ajouter dans lua_api.cpp. Tout d'abord les deux fonctions à mettre entre luaLcdDrawFilledRectangle et luaLcdDrawGauge par exemple:
Et l'ajout des deux fonctions dans celle disponible pour LUA :
S'il y en a qui veulent tester, voici le code à ajouter dans lua_api.cpp. Tout d'abord les deux fonctions à mettre entre luaLcdDrawFilledRectangle et luaLcdDrawGauge par exemple:
- Code:
static int luaLcdDrawEllipse(lua_State *L)
{
if (!luaLcdAllowed) return 0;
int xc = luaL_checkinteger(L, 1);
int yc = luaL_checkinteger(L, 2);
int width = luaL_checkinteger(L, 3);
int height = luaL_checkinteger(L, 4);
unsigned int flags = luaL_optunsigned(L, 5, 0);
/* Bresenham's procedure to draw an ellipse in two steps */
int a2 = width * width;
int b2 = height * height;
int fa2 = 4 * a2, fb2 = 4 * b2;
int x, y, sigma;
/* Plot more horizontal part */
for (x = 0, y = height, sigma = 2*b2+a2*(1-2*height); b2*x <= a2*y; x++)
{
lcd_plot (xc + x, yc + y, flags);
lcd_plot (xc + x, yc - y, flags);
if (x > 0)
{
lcd_plot (xc - x, yc - y, flags);
lcd_plot (xc - x, yc + y, flags);
}
if (sigma >= 0)
{
sigma += fa2 * (1 - y);
y--;
}
sigma += b2 * ((4 * x) + 6);
}
/* Plot more vertical part */
for (x = width, y = 0, sigma = 2*a2+b2*(1-2*width); a2*y < b2*x; y++)
{
lcd_plot (xc + x, yc + y, flags);
lcd_plot (xc - x, yc + y, flags);
if (y > 0)
{
lcd_plot (xc + x, yc - y, flags);
lcd_plot (xc - x, yc - y, flags);
}
if (sigma >= 0)
{
sigma += fb2 * (1 - x);
x--;
}
sigma += a2 * ((4 * y) + 6);
}
return 0;
}
static int luaLcdDrawFilledEllipse(lua_State *L)
{
if (!luaLcdAllowed) return 0;
int xc = luaL_checkinteger(L, 1);
int yc = luaL_checkinteger(L, 2);
int width = luaL_checkinteger(L, 3);
int height = luaL_checkinteger(L, 4);
unsigned int flags = luaL_optunsigned(L, 5, 0);
/* Bresenham's procedure to draw an ellipse in two steps */
int a2 = width * width;
int b2 = height * height;
int fa2 = 4 * a2, fb2 = 4 * b2;
int x, y, sigma;
/* Plot more horizontal part */
for (x = 0, y = height, sigma = 2*b2+a2*(1-2*height); b2*x <= a2*y; x++)
{
if (sigma >= 0)
{
lcd_line(xc - x, yc - y, xc + x, yc - y, SOLID, flags);
lcd_line(xc - x, yc + y, xc + x, yc + y, SOLID, flags);
sigma += fa2 * (1 - y);
y--;
}
sigma += b2 * ((4 * x) + 6);
}
/* Plot more vertical part */
for (x = width, y = 0, sigma = 2*a2+b2*(1-2*width); a2*y < b2*x; y++)
{
lcd_line(xc - x, yc - y, xc + x, yc - y, SOLID, flags);
if (y > 0)
lcd_line(xc - x, yc + y, xc + x, yc + y, SOLID, flags);
if (sigma >= 0)
{
sigma += fb2 * (1 - x);
x--;
}
sigma += a2 * ((4 * y) + 6);
}
return 0;
}
Et l'ajout des deux fonctions dans celle disponible pour LUA :
- Code:
{ "drawFilledRectangle", luaLcdDrawFilledRectangle },
{ "drawEllipse", luaLcdDrawEllipse },
{ "drawFilledEllipse", luaLcdDrawFilledEllipse },
{ "drawGauge", luaLcdDrawGauge },
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
J'attendais ça avec impatience sans être sur que tu t'y collesdev.fred a écrit:J'ai bataillé avec VC++ 2015 et le net un certain temps avant de trouver comment envoyer dans un tableaux des valeurs de cellules séparées par des ";" depuis un champ retourné par Form.
...Mais il ne tourne pas sur ma machine Win7 64bits, y compris en mode admin et/ou en mode de compatibilité
Je me suis attelé pour ma part à un script simple, moins compliqué que vos travaux (Et sans aucun BMP !)
J'allais le mettre en partage sauf qu'il rend très bien sous Companion et refuse de tourner sur la radio.
Il va vraiment falloir que je bricole une interface pour logguer la liaison série de la radio ...
Sinon, c'était beau et bien pratique aussi...
Re: LUA Scripting sur V2.1.x
Probablement ton script utilise trop la mémoire, il n'y en a pas beaucoup de disponible sur la radio, et aussi surcharge trop le garbage collector. Quelques trucs :
- éviter l'opérateur .. (contaténation de chaine de caractère qui utilise pas mal de mémoire et qui surcharge le garbage collectore)
- éviter trop de variables dans les fonctions (surcharge aussi le garbage collector)
Publie ton script, je vais y jeter un coup d'oeil et si je vois quelque chose, je t'indiquerai ce qu'il est possible de faire.
- éviter l'opérateur .. (contaténation de chaine de caractère qui utilise pas mal de mémoire et qui surcharge le garbage collectore)
- éviter trop de variables dans les fonctions (surcharge aussi le garbage collector)
Publie ton script, je vais y jeter un coup d'oeil et si je vois quelque chose, je t'indiquerai ce qu'il est possible de faire.
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
L'opérateur .. est plutôt fort utilisé dans ce script, je vais changer ça déjà...
Re: LUA Scripting sur V2.1.x
C'est ballot, j'ai recompilé sous MVS2010 et testé sous W7 et là ça fonctionne.Heisenberg a écrit:...Mais il ne tourne pas sur ma machine Win7 64bits, y compris en mode admin et/ou en mode de compatibilité
Je me suis laissé endormir par le marketing, j'ai un peu oublié la dépendance des .exe avec l'OS :
Microsoft a écrit:Visual Studio 2015 est un environnement de développement intégré riche pour créer des applications époustouflantes pour Windows, Android et iOS, ainsi que des applications Web et des services de cloud modernes.
Edit a écrit:En fait il faudrait installer Redistribuable Visual C++ pour Visual Studio 2015; c'est un peu lourd .
- Fichiers joints
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: LUA Scripting sur V2.1.x
Bien pratique ton outil, merci
Sacre100- Messages : 1889
Date d'inscription : 30/11/2013
Age : 67
Localisation : Blonay - Suisse
Re: LUA Scripting sur V2.1.x
J'allais le dire, c'est complet à présent.
Du très bon boulot et simple comme bonjour à utiliser.
Merci.
Du très bon boulot et simple comme bonjour à utiliser.
Merci.
Re: LUA Scripting sur V2.1.x
Ravi que cela vous plaise, de mon coté c'était l'occasion d'utiliser cet environnement de programmation en ayant un petit projet utile, c'est bien + motivant.
Sinon, même si ce n'est pas encore au point, je serais intéressé par le code que tu as développé pour LI-PO BattCheck, ton écran est prometteur.
Sinon, même si ce n'est pas encore au point, je serais intéressé par le code que tu as développé pour LI-PO BattCheck, ton écran est prometteur.
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: LUA Scripting sur V2.1.x
A 1ere vue, il fonctionne, mais l'auteur est plus Marco que moi-même à présent, j'ai bénéficié honteusement de son aide précieuse en loose-day et il m'a donné un peu plus que quelques pistes.
Je compte regarder encore 2 ou 3 choses et le mettre en partage dans la semaine avec un tuto ad'hoc.
Je compte regarder encore 2 ou 3 choses et le mettre en partage dans la semaine avec un tuto ad'hoc.
Re: LUA Scripting sur V2.1.x
Effectivement ma phrase est un peu maladroite étant donné la contribution de Marco qui en connait un rayon sur LUA en autre .
A ma décharge, j'ai déjà partagé mon admiration pour son savoir faire en programmation C++ sur le projet OpenTX Multilingue.
Sinon, j'ai trouvé une option dans Visual Studio 2015 qui permet de lui faire générer du code 2010 donc compatible W7.
L’intérêt c'est que Visual Studio 2015 est un outil complet qui est gratuit pour les particuliers alors qu’auparavant, seule la version express était gratuite.
J'ai pu également compiler directement le projet openTX avec Visual Studio 2015 qui s'est mis automatiquement en mode de compatibilité VS2010.
A ma décharge, j'ai déjà partagé mon admiration pour son savoir faire en programmation C++ sur le projet OpenTX Multilingue.
Sinon, j'ai trouvé une option dans Visual Studio 2015 qui permet de lui faire générer du code 2010 donc compatible W7.
L’intérêt c'est que Visual Studio 2015 est un outil complet qui est gratuit pour les particuliers alors qu’auparavant, seule la version express était gratuite.
J'ai pu également compiler directement le projet openTX avec Visual Studio 2015 qui s'est mis automatiquement en mode de compatibilité VS2010.
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Page 4 sur 7 • 1, 2, 3, 4, 5, 6, 7
Page 4 sur 7
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum