Pronto ervaringen, verhalen

Gestart door blue-eyes, augustus 25, 2010, 13:33:06

« vorige - volgende »

0 leden en 1 gast bekijken dit topic.

xynyx

#325
"Volgende keer maar een tv decoder met RS232 die het ingestelde kanaal terug stuurt....."

Volgens mij zijn die er niet......... :-[

Hier een klein hulpje voor Previous.
// HARD BUTTON DEFINITIES
      // ------------------------------------------------------------------------------
      function ClickedHB(button) {
      switch (button) {
      case "PS_CURSOR_DOWN":
      CF.widget("TUNERmenudown","APtuner") .executeActions ();
      vchannel = System.getGlobal("VCHANNEL")
      vchannel = parseInt (vchannel);
      prchannel = vchannel
      vchannel = vchannel -1;
      vchannel = vchannel + "";
      System.setGlobal("VCHANNEL", vchannel);
      System.setGlobal("PRCHANNEL", prchannel);
      Istate = "Refresh";
      break;
Hoef je het wiel niet helemaal uit te vinden ;D

fugazi_2009

Citaat van: fugazi_2009 op september 20, 2010, 15:26:23
Weet iemand aan welke voorwaarden een wav bestandje moet voldoen, wil de pronto hem kunnen afspelen? Ik had een wav filetje gedownload en in de Gallery toegevoegt. Dan kan ik hem keurig kiezen in PEP, maar als ik op play klik dan krijg ik niks te horen.

Altijd handig als je zelf antwoorden op je eigen vragen kan geven. Het audioformaat voor de Pronto moet een 16-bits, mono wav file zijn. En nu heb ik een 16-bits, stereo wav file. Weet iemand nog een handige tool om de stereo wav file naar een mono wav file te converteren?
Laws control the lesser man, right conduct controls the greater one

Ro

Citaat van: xynyx op september 20, 2010, 17:09:54
"Volgende keer maar een tv decoder met RS232 die het ingestelde kanaal terug stuurt....."

Volgens mij zijn die er niet......... :-[

Hier een klein hulpje voor Previous.
// HARD BUTTON DEFINITIES
      // ------------------------------------------------------------------------------
      function ClickedHB(button) {
      switch (button) {
      case "PS_CURSOR_DOWN":
      CF.widget("TUNERmenudown","APtuner") .executeActions ();
      vchannel = System.getGlobal("VCHANNEL")
      vchannel = parseInt (vchannel);
      prchannel = vchannel
      vchannel = vchannel -1;
      vchannel = vchannel + "";
      System.setGlobal("VCHANNEL", vchannel);
      System.setGlobal("PRCHANNEL", prchannel);
      Istate = "Refresh";
      break;
Hoef je het wiel niet helemaal uit te vinden ;D

Ik heb ze inderdaad ook nog nooit gezien met RS232 maar het zou wel mooi zijn.....

Dank je voor de code. Ik ga het eens proberen.
Classe SSP-800 + CA-5300, Phonar, Velodyne DD15, Dune D1, Humax 5050c, Sony KLD55HX920

xynyx

Succes!

Ik heb EPG wel op een aparte pagina staan.
Hier een deel van de code die ja eventueel zou kunnen gebruiken.
// HARD BUTTON DEFINITIES
      // -----------------------------------------------------------------------------
      function ClickedHB(button) {
      switch (button) {
      case "PS_CURSOR_DOWN":
      CF.widget("TUNERmenudown","APtuner") .executeActions ();
      vchannel = parseInt (vchannel);
      vchannel = vchannel +1;
      vchannel = vchannel + "";
      Istate = "Refresh";       
      break;
      case "PS_CURSOR_UP":
      CF.widget("TUNERmenuup","APtuner") .executeActions ();
      vchannel = parseInt (vchannel);
      vchannel = vchannel -1;
      vchannel = vchannel + "";
      Istate = "Refresh";          
      break;
      case "PS_CURSOR_LEFT":
      CF.widget("TUNERmenuleft","APtuner") .executeActions ();
      break;
      case "PS_CURSOR_RIGHT":
      CF.widget("TUNERmenuright","APtuner") .executeActions ();
      break;
      case "PS_OK":
      CF.widget("TUNERok","APtuner") .executeActions ();
      orgvchannel=System.getGlobal("VCHANNEL");
      System.setGlobal("PRCHANNEL", orgvchannel);
      System.setGlobal("VCHANNEL", vchannel);
      break;
      case "PS_GUIDE":
      CF.widget("EPGEXITjump","JumpPage") .executeActions ();
      break;
      default: break;

Dan ook maar ff de knop (kanaal 9):
if (vchannel !== "9"){     <<<---- voorkomt dat als je de knop 2x indrukt je prchannel verloren gaat
prchannel = vchannel
System.setGlobal("PRCHANNEL", prchannel);}

vchannel = "9";
System.setGlobal("VCHANNEL", vchannel);

//CF.widget(vchannel,"TV").executeActions();
scheduleAfter(100,function() {CF.widget("TUNER9","APtuner") .executeActions ();});

if (mute == 0) {
userQue.unshift("TVAMP,MV38");}
Ik geef een extra volume commando erbij omdat de HD kanalen bij Ziggo een zachter geluid hebben dan de SD kanalen.
Mocht je eea slimmer weten te programmeren dan hou ik me aanbevolen ;)

Ro

#329
Citaat van: jaco op september 19, 2010, 07:47:01
Waarom gebruik je in de Astate "run" weer een functie om te zien of een hardbutton gedrukt is ?

Volgens mij is het originele idee om in de scope van de widgets/buttons een commando in een wachtrij te plaatsen (of 2 of 3 of x commando's) Dit voor zowel een hardbuton als een softbutton.

Dan in de page scope kijk je als je verder niets doet (Astate ="run" , Istate "Idle") of er iets in de wachtrij staat en haal je er 1 commando uit.
Dat ga je vervolgens verwerken door het aansturen van 1 functie in de device scope:
SendIrCommand, of SendSerialCommand of een functie die je zelf gemaakt hebt (triggers, TCPIP of wat dan ook).


Wat je nu doet is niet fout, je kunt ook maximaal 1 command per keer verwerken, dit is belangrijk om te voorkomen dat je de useinterface niet uitsluit omdat je te lang bezig bent met het verwerken van toetsdrukken (of de processen die dat triggert)

Heb je dit gedaan omdat je bij een toetsdruk meer wilt doen dan alleen een prontoscript actie toekennen aan die toets ? Je zult dat allemaal in prontoscript moeten oplossen, en niet meer uit kunnen gaan van de radiobuttons voor de aanpassingen in de gui..


De UserQue is aangepast. Wat ik nu doe is het volgende:
In de advanced setting van de HardButtons (HB), staat de volgende code: userQue.unshift("HB,volumemute");
In de pagescript staat de code:

case "Run":
switch ( Istate )
{
case "Idle":
if (userQue.length>0)
{
a=userQue.shift();
b=a.split(",");
switch(b[0])
{
case "HB":        
switch ( b[1] )
{  
case "volumeup":   SendSerialCommand("AMP","!1MVLUP"); break;
case "volumedown": SendSerialCommand("AMP","!1MVLDOWN"); break;
case "volumemute": SendSerialCommand("AMP","!1AMTTG"); break;
case "channelup":
a=System.getGlobal("channel")-0;
b=a+1;
System.setGlobal("channel",b);
SendIRCommand("TVDECODER","ch+");
Istate = "Refresh";
break;
                                     
                                           // lines have been deleted


Ik krijg alleen nog steeds een foutmelding in het debug scherm:
ProntoScript error: Failed
Offending page script: Tag: "TVSummary"
Offending line #189: if ((i0.get() == true) && (myTVDECODER.state == 0))

Dit slaat op de volgende code:
var i0 = CF.extender[0].input[0];
if ((i0.get() == true) && (myTVDECODER.state == 0))
{
myTVDECODER.state = 1;
Istate = "Refresh";
}
if ((i0.get() !== true) && (myTVDECODER.state == 1))
{
myTVDECODER.state = 0;
Istate = "Refresh";
}


Hierin check ik of de status van de powersense input is verandert en of het scherm moet worden geupdated. De code werkt wel en het scherm wordt netjes geupdate als dat moet. Vreemde is ook dat de error niet iedere keer langs komt als de code wordt doorlopen maar alleen af en toe.

Iemand een idee wat hier aan de hand is?
Classe SSP-800 + CA-5300, Phonar, Velodyne DD15, Dune D1, Humax 5050c, Sony KLD55HX920

fugazi_2009

Ik zie in ieder geval een !== staan, wat mij wat vreemd overkomt.
Laws control the lesser man, right conduct controls the greater one

Ro

Citaat van: fugazi_2009 op september 20, 2010, 21:22:36
Ik zie in ieder geval een !== staan, wat mij wat vreemd overkomt.
Volgende mij is dat de code voor "niet gelijk aan" maar kan het mis hebben.
Classe SSP-800 + CA-5300, Phonar, Velodyne DD15, Dune D1, Humax 5050c, Sony KLD55HX920

fugazi_2009

Citaat van: Ro op september 20, 2010, 22:02:29
Volgende mij is dat de code voor "niet gelijk aan" maar kan het mis hebben.

Nee, dat is != (het hele == is puur om geen verwarring met assignment (=) te kunnen hebben)
Laws control the lesser man, right conduct controls the greater one

jaco

#333
Citaat van: Ro op september 20, 2010, 21:16:10
Ik krijg alleen nog steeds een foutmelding in het debug scherm:
ProntoScript error: Failed
Offending page script: Tag: "TVSummary"
Offending line #189: if ((i0.get() == true) && (myTVDECODER.state == 0))

Dit slaat op de volgende code:
var i0 = CF.extender[0].input[0];
if ((i0.get() == true) && (myTVDECODER.state == 0))
{
myTVDECODER.state = 1;
Istate = "Refresh";
}
if ((i0.get() !== true) && (myTVDECODER.state == 1))
{
myTVDECODER.state = 0;
Istate = "Refresh";
}


Hierin check ik of de status van de powersense input is verandert en of het scherm moet worden geupdated. De code werkt wel en het scherm wordt netjes geupdate als dat moet. Vreemde is ook dat de error niet iedere keer langs komt als de code wordt doorlopen maar alleen af en toe.

Iemand een idee wat hier aan de hand is?

Waar is dat gedefinieerd ?
In de device scope ?

Dat wordt in het model wat ik gemaakt heb maar 1 keer doorlopen wanneer je je device start. (dus dat device binnen gaat vanuit het hoofd menu)

Je kunt het volgens mij niet meer gebruiken als je onder die scope in een page of button scope iets in prontoscript uitvoert.
Dan zou je er op device nivo een function van moeten maken die je gewoon aan kunt roepen op page nivo om te testen hoe de IO poort op de extender staat.

Op dat moment moet het element myTVDECODER wel al gedefinieerd zijn. (erboven staan in de code)


Ik zie ook allemaal set en getglobals  :(
9.1.6 setup  Marantz AV10, Genelec G4 x9 voor base layer. Genelec G3 x6  voor hoogte kanalen. Genelec hts-4 subwoofer. VPL-XW5000ES. Screen Excelence enlightor 4k scherm

riwi

Citaat van: fugazi_2009 op september 20, 2010, 17:48:11
Altijd handig als je zelf antwoorden op je eigen vragen kan geven. Het audioformaat voor de Pronto moet een 16-bits, mono wav file zijn. En nu heb ik een 16-bits, stereo wav file. Weet iemand nog een handige tool om de stereo wav file naar een mono wav file te converteren?

Kan het gratis en opensource programma audacity dat niet?

bmateijsen

Citaat van: riwi op september 21, 2010, 12:05:27
Kan het gratis en opensource programma audacity dat niet?

Of neem een ander sample-tje... ;D

fugazi_2009

Citaat van: riwi op september 21, 2010, 12:05:27
Kan het gratis en opensource programma audacity dat niet?

Ik zal eens kijken.

Citaat van: bmateijsen op september 21, 2010, 12:06:16
Of neem een ander sample-tje... ;D

Da's de weg van de minste weerstand, dat zit niet zo in mijn karakter.
Laws control the lesser man, right conduct controls the greater one

bmateijsen

Citaat van: fugazi_2009 op september 21, 2010, 13:03:15

Da's de weg van de minste weerstand, dat zit niet zo in mijn karakter.

Niet? ;D

fugazi_2009

Laws control the lesser man, right conduct controls the greater one

Ro

Citaat van: jaco op september 21, 2010, 07:22:11
Waar is dat gedefinieerd ?
In de device scope ?

Dat wordt in het model wat ik gemaakt heb maar 1 keer doorlopen wanneer je je device start. (dus dat device binnen gaat vanuit het hoofd menu)

Je kunt het volgens mij niet meer gebruiken als je onder die scope in een page of button scope iets in prontoscript uitvoert.
Dan zou je er op device nivo een function van moeten maken die je gewoon aan kunt roepen op page nivo om te testen hoe de IO poort op de extender staat.

Op dat moment moet het element myTVDECODER wel al gedefinieerd zijn. (erboven staan in de code)


Ik zie ook allemaal set en getglobals  :(
De code staat op de page en wordt iedere 100ms doorlopen. Ik heb de code ook op de devicepage gehad in een function met een loop, maar dat werkte niet. Op zich hoort het daar wel thuis. myTVDECODER is al gedefinieerd als deze code aangeroepen worden. Ik ga toch weer eens proberen dit op de device pagina te plaatsen.

getGlobal en setGlobal wordt alleen gebruikt in de tv logo aanduiding. Ik weet dat het iet hoort ;). Mijn weather script staat nog in een apart device. Als ik hier naar toe schakel ben ik het tv kanaal kwijt. Dit moet nog worden verandert en netter gemaakt binnen dezelfde device. Is nog een van de vele dingen om te doen :)
Classe SSP-800 + CA-5300, Phonar, Velodyne DD15, Dune D1, Humax 5050c, Sony KLD55HX920

xynyx

Met die armetierige tv-decoders moet je wel Global getten en setten  :D Van rs232 hebben ze nooit gehoord.......

StefaanD

Vraagje tussendoor van een nieuwe Pronto bezitter.

Is er een manier om van een nieuw aangemaakt component welke je IR codes hebt aangeleerd snel een pagina's te maken met knoppen om deze te kunnen testen ? Of je dergelijke testpagina handmatig maken ?

Peter O

Werk je met PEP2? Je kan alles wat in je 'my database' staat testen als je naar 'component functions' gaat.

StefaanD

Had 'k al gezien maar afstand computer en aangesloten remote is iets te groot tot de HT ruimte. En een laptop heb 'k niet.

Bedankt voor het meedenken.

StefaanD

Even de knoppenpagina van het Oppo xcf bestand ( dacht die van BlueEyes? ) gepikt, geleend en alle commando's eraan gekoppeld. Alles werkt.

Op naar de volgende stap ... dolle pret die Pronto  :pompom:  :clapping:

jaco

Citaat van: Ro op september 21, 2010, 18:13:05
De code staat op de page en wordt iedere 100ms doorlopen. Ik heb de code ook op de devicepage gehad in een function met een loop, maar dat werkte niet. Op zich hoort het daar wel thuis. myTVDECODER is al gedefinieerd als deze code aangeroepen worden. Ik ga toch weer eens proberen dit op de device pagina te plaatsen.

getGlobal en setGlobal wordt alleen gebruikt in de tv logo aanduiding. Ik weet dat het iet hoort ;). Mijn weather script staat nog in een apart device. Als ik hier naar toe schakel ben ik het tv kanaal kwijt. Dit moet nog worden verandert en netter gemaakt binnen dezelfde device. Is nog een van de vele dingen om te doen :)
Het kan zijn dat je de extender overstuurt met commando's als je elke 100 ms een relais uit gaat lezen.
Normaal poll je ook elke 100 msec een buffer van de seriele interface, maar wellicht kost het uitlezen van een relais meer tijd en gaat het af en toe mis ?

Probeer de loop counter eens op 200 msec te zetten en te kijken of het dan beter gaat.
9.1.6 setup  Marantz AV10, Genelec G4 x9 voor base layer. Genelec G3 x6  voor hoogte kanalen. Genelec hts-4 subwoofer. VPL-XW5000ES. Screen Excelence enlightor 4k scherm

Ro

Citaat van: jaco op september 22, 2010, 07:55:53
Het kan zijn dat je de extender overstuurt met commando's als je elke 100 ms een relais uit gaat lezen.
Normaal poll je ook elke 100 msec een buffer van de seriele interface, maar wellicht kost het uitlezen van een relais meer tijd en gaat het af en toe mis ?

Probeer de loop counter eens op 200 msec te zetten en te kijken of het dan beter gaat.
Ik heb de page refresh op 1 sec gezet en de errors zijn inderdaad verdwenen. Nu alleen nog een manier vinden om de powersense loop iedere 1 sec te doorlopen maar de pagina iedere 100ms.
Classe SSP-800 + CA-5300, Phonar, Velodyne DD15, Dune D1, Humax 5050c, Sony KLD55HX920

jaco

Citaat van: Ro op september 22, 2010, 23:04:17
Ik heb de page refresh op 1 sec gezet en de errors zijn inderdaad verdwenen. Nu alleen nog een manier vinden om de powersense loop iedere 1 sec te doorlopen maar de pagina iedere 100ms.
function in de device scope maken.
Deze functie om de 1000 miliseconde opnieuw starten, en hem een variabele laten zetten afhankelijk van de uitkomst van de 'test'.

Je werkt dan verder met deze variabele in je page script.
9.1.6 setup  Marantz AV10, Genelec G4 x9 voor base layer. Genelec G3 x6  voor hoogte kanalen. Genelec hts-4 subwoofer. VPL-XW5000ES. Screen Excelence enlightor 4k scherm

fugazi_2009

Ok, volgende vage probleem. Wav filetje naar mono omgezet. Je hangt het in PEP onder een button, dan kun je in PEP op de play button klikken en voila hij speelt keurig af (dat deed de stereo versie niet). Echter download ik de configuratie naar de Pronto dan lijkt het net of het wavje 20x versneld of zo afgespeeld wordt, hetzelfde als wanneer ik op de knop druk in de Simulator scherm. Houdt de Pronto een vaste lengte aan of zo voor het afspelen van een sound? En als ik dus een wavje hebt van een paar seconden, zegt de Pronto dan gewoon: Ik moet dit in zoveel miliseconden proppen of zo?
Laws control the lesser man, right conduct controls the greater one

fugazi_2009

Citaat van: fugazi_2009 op september 23, 2010, 15:42:15
Ok, volgende vage probleem. Wav filetje naar mono omgezet. Je hangt het in PEP onder een button, dan kun je in PEP op de play button klikken en voila hij speelt keurig af (dat deed de stereo versie niet). Echter download ik de configuratie naar de Pronto dan lijkt het net of het wavje 20x versneld of zo afgespeeld wordt, hetzelfde als wanneer ik op de knop druk in de Simulator scherm. Houdt de Pronto een vaste lengte aan of zo voor het afspelen van een sound? En als ik dus een wavje hebt van een paar seconden, zegt de Pronto dan gewoon: Ik moet dit in zoveel miliseconden proppen of zo?

En ook weer opgelost. Het wavje bleek nu wel mono te zijn, maar in 11kHz ipv 44.1
Laws control the lesser man, right conduct controls the greater one