Aller au contenu
BenjyNet

Ampli Onkyo Et Hc2

Recommended Posts

J'ai éditez plus haut, car je trouve cette page intéressante pour tout le monde.

Partager ce message


Lien à poster
Partager sur d’autres sites

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é par BenjyNet

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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...

:)

Partager ce message


Lien à poster
Partager sur d’autres sites

NOUVELLE VERSION 1.1.0 - 1er POST MIS A JOUR


 


gallery_11_7_5872.jpg


  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Benjy ;) bravo...

Partager ce message


Lien à poster
Partager sur d’autres sites

Wow très bon travail  ;)  ;)  ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi je parie sur cédric qui va me dire que ça marche pas :rolleyes:

 

EDIT : On dirait que le mainloop plantouille au bout d'un moment. Dites moi de votre côté ce que ça donne.

Modifié par BenjyNet

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

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!

Partager ce message


Lien à poster
Partager sur d’autres sites

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é.

Partager ce message


Lien à poster
Partager sur d’autres sites

@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 :angry: 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 :mellow: . 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

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi pour le moment ça tiens le coup : [DEBUG] 16:09:03: Process #270 is finish!

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis content pour vous, moi cette saloperie j'ai jamais put la débugger ^^

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon, ça tiens toujours : [DEBUG] 12:51:17: Process #1448 is finish!

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :D

Partager ce message


Lien à poster
Partager sur d’autres sites

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é ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon ben le Power ne fonctionne plus  chez moi :(

D'ailleurs plus rien ne fonctionne dans la new version ^^

Partager ce message


Lien à poster
Partager sur d’autres sites

×