[FIXED] Help irss + winlirc (1 Viewer)

mrmojo666

MP Donator
  • Premium Supporter
  • January 24, 2006
    603
    182
    Turin
    Home Country
    Italy Italy
    Hello,

    i want to use my PVR_HD2 to get tv from my SKY HD set top box

    i have a serial blaster that is able to control the stb using winlirc or also eventghost sending commands to winlirc.

    so i think the chain eventghost --> winlirc --> serial blaster ----> is ok

    After a while of studying i tried to configure irss to send commands to winlirc

    but always when i send a command to winlirc the command seems to not produce anything on winlirc and also irss server crash without errors just closes. I added two log files

    i don't know if it is the format of the command sent to winlirc, in my experience winlirc doesn't support authentication so the password i think is useless or at least it have to be "optional"
    <IRCommand Password="" RemoteName="XMP" ButtonName="1" Repeats="0" />



    also i want to point the attention on the string that eventghost is passing to winlirc is something like this "SEND_ONCE XMP 1 "

    Someone can help me on this ? ( i tried both 1.5.0.62 and 1.5.0.80)
     

    mrmojo666

    MP Donator
  • Premium Supporter
  • January 24, 2006
    603
    182
    Turin
    Home Country
    Italy Italy
    Hello,

    i want to use my PVR_HD2 to get tv from my SKY HD set top box

    i have a serial blaster that is able to control the stb using winlirc or also eventghost sending commands to winlirc.

    so i think the chain eventghost --> winlirc --> serial blaster ----> is ok

    After a while of studying i tried to configure irss to send commands to winlirc

    but always when i send a command to winlirc the command seems to not produce anything on winlirc and also irss server crash without errors just closes. I added two log files

    i don't know if it is the format of the command sent to winlirc, in my experience winlirc doesn't support authentication so the password i think is useless or at least it have to be "optional"
    <IRCommand Password="" RemoteName="XMP" ButtonName="1" Repeats="0" />



    also i want to point the attention on the string that eventghost is passing to winlirc is something like this "SEND_ONCE XMP 1 "

    Someone can help me on this ? ( i tried both 1.5.0.62 and 1.5.0.80)

    I found a solution :

    the winlirc plugin have 3 bugs:

    1. the field "Password" in ir command file is not a password but it has to be filled with winlirc command "SEND_ONCE"

    the command file should like to :


    2. In the composition of command there is a bug in the file WinLircCommand.cs
    Wrong:
    Code:
    public WinLircCommand(string data) : this()
        {
          string[] dataElements = data.Split(' ');
    
          _repeats = Int32.Parse(dataElements[1], NumberStyles.HexNumber);
          _button = dataElements[2];
          _remote = dataElements[3];
        }
    Correct:
    Code:
    public WinLircCommand(string data) : this()
        {
          string[] dataElements = data.Split(' ');
        
          _remote = dataElements[1];
          _button = dataElements[2];
         _repeats = Int32.Parse(dataElements[3], NumberStyles.HexNumber);
         
        }
    3. Also in WinLircServer.cs there is a bug, it doesn't manage the answer "SUCCESS"

    Wrong:
    Code:
     private void ProcessData(string data)
        {
          // Ignore commands we do not need (like the startup message)
          if (data.Equals("BEGIN", StringComparison.OrdinalIgnoreCase) ||
              data.Equals("END", StringComparison.OrdinalIgnoreCase) ||
              data.Equals("SIGHUP", StringComparison.OrdinalIgnoreCase))
            return;

    Correct:
    Code:
     private void ProcessData(string data)
        {
          // Ignore commands we do not need (like the startup message)
          if (data.Equals("BEGIN", StringComparison.OrdinalIgnoreCase) ||
              data.Equals("END", StringComparison.OrdinalIgnoreCase) ||
              data.Equals("SIGHUP", StringComparison.OrdinalIgnoreCase) ||
              data.Equals("SUCCESS", StringComparison.OrdinalIgnoreCase))
            return;

    i'm going to attach built files and code files
    to make irss .62 or .82 working just substitute both dlls
     

    Attachments

    • Winlircplugin.rar
      110 KB

    Users who are viewing this thread

    Top Bottom