Shad Posté(e) le 6 mars 2014 Signaler Posté(e) le 6 mars 2014 J'ai éditez plus haut, car je trouve cette page intéressante pour tout le monde.
BenjyNet Posté(e) le 6 mars 2014 Auteur Signaler Posté(e) le 6 mars 2014 (modifié) Ouais t'as bien fait, j'étais sur la page justement, mais je comprends pas bien comment ça marche. SI je fais ça local tab = split("HDMI 2,DTS,48 kHz,5.1 ch,DTS,5.1 ch,\0x1A\r\n",","); ça bug :/ Il devrait pas me sortir un tableau pourtant ? EDIT : On a quelle version de LUA ? Je me demande si la fonction split est implémentée ? Modifié le 6 mars 2014 par BenjyNet
Shad Posté(e) le 6 mars 2014 Signaler Posté(e) le 6 mars 2014 Essaye plutot un truc comme sa mais modifie le pour les virgules local example = "an example string" for i in string.gmatch(example, "%S+") do print(i) end -- output: -- an -- example -- string
BenjyNet Posté(e) le 6 mars 2014 Auteur Signaler Posté(e) le 6 mars 2014 Ou sinon tu fais ta propre fonction split : function split(pString, pPattern) local Table = {} local fpat = "(.-)" .. pPattern local last_end = 1 local s, e, cap = pString:find(fpat, 1) while s do if s ~= 1 or cap ~= "" then table.insert(Table,cap) end last_end = e+1 s, e, cap = pString:find(fpat, last_end) end if last_end <= #pString then cap = pString:sub(last_end) table.insert(Table, cap) end return Table end
Krikroff Posté(e) le 6 mars 2014 Signaler Posté(e) le 6 mars 2014 Désolé je viens juste de récupérer du réseau :-( Tu as raison Benjy car la méthode split n'existe pas en LUA en tout cas pas en natif ;-) il me semble bien... J'ai aussi fait une fonction split perso ou sinon tu peux faire un :match("([^,]+),([^,]+ et etc. )"... Dsl sur mon tel c'est pas simple ;-) Envoyé de mon iPhone àl'aide de Tapatalk
Krikroff Posté(e) le 6 mars 2014 Signaler Posté(e) le 6 mars 2014 tu peux faire ça en plus simple: function split(s) if (string.len(s)>0) then local _a, returnvalue = nil, {}; for _a in string.gmatch(s, "([^,]+)") do fibaro:debug(string.format("%s", tostring(_a))); table.insert(returnvalue, tostring(_a)); end return returnvalue; end return nil; end split("HDMI 2,DTS,48 kHz,5.1 ch,DTS,5.1 ch,\0x1A\r\n"); ou si tu es sur que la chaîne est toujours identique il y a mieux: function decode(s) return s:match("([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+)") end local a, b, c, d, e, f = decode("HDMI 2,DTS,48 kHz,5.1 ch,DTS,5.1 ch,\0x1A\r\n"); fibaro:debug(a); fibaro:debug(; --etc...
BenjyNet Posté(e) le 6 mars 2014 Auteur Signaler Posté(e) le 6 mars 2014 NOUVELLE VERSION 1.1.0 - 1er POST MIS A JOUR 1
Maximin Posté(e) le 7 mars 2014 Signaler Posté(e) le 7 mars 2014 Fonctionne parfaitement sur TX-NR525, très bon travail!
BenjyNet Posté(e) le 7 mars 2014 Auteur Signaler Posté(e) le 7 mars 2014 (modifié) Moi je parie sur cédric qui va me dire que ça marche pas EDIT : On dirait que le mainloop plantouille au bout d'un moment. Dites moi de votre côté ce que ça donne. Modifié le 7 mars 2014 par BenjyNet
Shad Posté(e) le 7 mars 2014 Signaler Posté(e) le 7 mars 2014 J'ai pas regarder ton code, mais je te conseille de mettre tout ton code dans un bouton , et d'appeller celui-ci avec le main loop
BenjyNet Posté(e) le 7 mars 2014 Auteur Signaler Posté(e) le 7 mars 2014 Bah pourquoi Shad ? Je vais pas rajouter un bouton qui sert à rien, sauf checker l'etat de l'ampli :/ EDIT : Pour le moment ça tiens : [DEBUG] 14:36:22: Process #182 is finish!
Shad Posté(e) le 7 mars 2014 Signaler Posté(e) le 7 mars 2014 Moi je me suis aperçue que le main loop planté souvent pour ma part. Donc c'est la seul solution que j'ai trouvé.
Krikroff Posté(e) le 7 mars 2014 Signaler Posté(e) le 7 mars 2014 @Shad, je veux pas faire mon lourd mais sauf cas vraiment très particulier je n'ai pas de plantage de MainLoop, mon code pour le VD Pioneer tourne depuis des mois et n'a jamais planté et je suis prêt a parier que l'adaptation de Benjy tournera sans problèmes . ps: ce qui fait planter le main loop dans 99.9% des cas c'est cette maudite librairie json et le T_END de la mort qui pète la sandbox du mainloop d’où le besoin de redémarrage du vd mais encore tout cela dans des cas bien précis . J'ai un petit hack pour régler le problème, le coup du PUT en lua mais comme la librairie json est buggé cela ne marche qu'avec des codes de petites tailles... http://buildd-clang.debian.net/fetch.php?pkg=lua-cjson&arch=amd64&ver=2.1.0%2Bdfsg-2&stamp=1366389325 http://bugzilla.fibaro.com/view.php?id=1226
BenjyNet Posté(e) le 7 mars 2014 Auteur Signaler Posté(e) le 7 mars 2014 Moi pour le moment ça tiens le coup : [DEBUG] 16:09:03: Process #270 is finish!
Shad Posté(e) le 7 mars 2014 Signaler Posté(e) le 7 mars 2014 Je suis content pour vous, moi cette saloperie j'ai jamais put la débugger ^^
clarkkent609 Posté(e) le 7 mars 2014 Signaler Posté(e) le 7 mars 2014 Bien joué BenjyNet il a l'air top ce module Virtuel! Si tu m'envoies ton Onkyo je veux bien tester le VD et te faire un retour :-D
BenjyNet Posté(e) le 8 mars 2014 Auteur Signaler Posté(e) le 8 mars 2014 Bon, ça tiens toujours : [DEBUG] 12:51:17: Process #1448 is finish!
cedriclocqueneux Posté(e) le 11 mars 2014 Signaler Posté(e) le 11 mars 2014 Désolé, j'étais en déplacement, pas pu tester avant Mais je viens de tester la dernière version ce soir, et tout a l'air de parfaitement fonctionner, cette fois ! Quand je change quelque chose sur l'ampli l'état remonte correctement: sortie utilisée, niveau du volume, etc... Je crois que cette fois c'est la bonne
BenjyNet Posté(e) le 11 mars 2014 Auteur Signaler Posté(e) le 11 mars 2014 Oh ! C'est pas vrai cédric ? Tiens moi au courant si c'est stable. Tu pourras jeter un oeil sur un MP que je t'ai envoyé ?
Domodial Posté(e) le 16 mars 2014 Signaler Posté(e) le 16 mars 2014 hello, L'ancienne version ne fonctionnait plus, pourquoi je ne sais pas, enfin si, mais le bouton ON ne voulait plus rien faire. J'essaye cette version pour voir
BenjyNet Posté(e) le 16 mars 2014 Auteur Signaler Posté(e) le 16 mars 2014 Teste, tu verras bien, moi ici ça roule. Ou alors tu attends la sortie de la v4, Fibaro annonce la compatibilité avec onkyo & co. Je me demande ce qu'ils vont sortir.
Domodial Posté(e) le 16 mars 2014 Signaler Posté(e) le 16 mars 2014 Bon ben le Power ne fonctionne plus chez moi D'ailleurs plus rien ne fonctionne dans la new version ^^
Messages recommandés