Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 25

Thread: Serial Problems with 512

  1. #11
    Join Date
    Jul 2005
    Location
    Sydney, Australia
    Posts
    562

    Default

    [quote=Ron;111346@Richard, please be more specific what you mean by freeze and what happens before it freezes or what you have to do to make it freeze.[/quote]

    Ron, don't know if I can provide any more detail than what's in my original post.

    If I send commands too quickly something freezes and there is no serial activity logged in the lua console when I press a button/send a DM command.

    Pressing F11 resets the lua and then things work OK again.

    Only seem to freeze the Meridian port (Com1) the NEC still works (Com3)

    Happy to enable remote access again if it makes it easier for you to look into.

    Definately downloaded the last one, but will try again anyway.

    Regards
    Richard

  2. #12
    Join Date
    Jul 2005
    Location
    Sydney, Australia
    Posts
    562

    Default

    Quote Originally Posted by Ron View Post
    btw that plugin up there only has 1 download. So one of you two did actually not get the updated file :-)
    Just downloaded the file 3 times, still reports 0 views on the board.

    R

  3. #13
    Join Date
    Jan 2000
    Location
    Jupiter, FL
    Posts
    11,400

    Default

    indeed it does, funny VBullentin software.
    Ron
    No support through PM

  4. #14
    Join Date
    Jul 2005
    Location
    Sydney, Australia
    Posts
    562

    Default

    I'm postive I have 1.0.0.2 and port freezes very easily, in fact the 2nd command in the macro never gets executed by the Meridian Processor only the first.

    I don't have to rest the Meridian just G5 to get things working again.

    Richard

  5. #15
    Join Date
    Jan 2000
    Location
    Jupiter, FL
    Posts
    11,400

    Default

    Can you download this and monitor the traffic over the serial port to see if Girder is sending the serial data?

    http://www.microsoft.com/technet/sys...s/portmon.mspx
    Ron
    No support through PM

  6. #16
    Join Date
    Jan 2000
    Location
    Jupiter, FL
    Posts
    11,400

    Default

    If you can give me access I can do that if you'd like. I'll have dinner first and will come back after that.
    Ron
    No support through PM

  7. #17
    Join Date
    Jul 2005
    Location
    Sydney, Australia
    Posts
    562

    Default

    Quote Originally Posted by Ron View Post
    Can you download this and monitor the traffic over the serial port to see if Girder is sending the serial data?

    http://www.microsoft.com/technet/sys...s/portmon.mspx
    Have attached portmon log (not really a .lua but was too big as .txt), I ran G5, and then ran my DVD macro which sent the DV command to The Meridian (line 490) and got a response back, then the next command (VN65) got sent and things went wrong.

    When I send further commands portmon logs nothing.

    Have enabled access, you will find the macros under RP_Automation\HTPC Automation Commands\Remote Control Commands

    I'm testing with "MUSIC (PC) Selected on remote" (and also the "DVD Selected on remote")

    If I run "MUSIC (PC) Selected on remote" one or two times it will normallly freeze the port, sometimes it happens first time other times it takes a few runs.
    (To get out of JRMC just press F11 it loads up on you.)

    Richard
    Attached Files Attached Files
    Last edited by rpalmer68; February 6th, 2007 at 06:57 PM.

  8. #18
    Join Date
    Jan 2000
    Location
    Jupiter, FL
    Posts
    11,400

    Default

    That does not make a whole lot of sense. I would like to try 510 to see if something else changed.
    Ron
    No support through PM

  9. #19
    Join Date
    Jul 2005
    Location
    Sydney, Australia
    Posts
    562

    Default

    Quote Originally Posted by Ron View Post
    That does not make a whole lot of sense. I would like to try 510 to see if something else changed.
    OK, I have uninstalled 512, deleted the directories and re-installed 510.

    I then copied my provider and serial plugins over and reconfigured G5.

    I'm now geting the same issue under 510, so maybe there is something in the meridian plugin causing it to hang somehow.

    I have seen this before where I get no error messages, but the plugin just stops responding.

    Can you see anything in the plugin or provider file that might be causing an issue?


    Richard

  10. #20
    Join Date
    Jul 2005
    Location
    Sydney, Australia
    Posts
    562

    Default

    FOUND IT! ( I think)

    Having almost eliminated it being a serial problem as such, I went back and looked at the logs and every time things stopped working there was always something like
    Code:
    Received Meridian Response: 
    Meridian Response Length = 0
    Received Meridian Response: Longe   ¬@j8
    Meridian Response Length = 12
    So I looked at my plugin code here;
    Code:
     ReceiveResponse = function (self)
         if not self.code then
             print('Code is nil!!!')
       elseif self:IsDataAvailable() and self.data then
             print('Received Meridian Response: '..self.data)
             print('Meridian Response Length = '..string.len(self.data))
       if string.len(self.data) > 0 then
        local _, _, prefix, value = string.find(self.data, '^(%w-)%s+(%d-)$')
     
         if prefix then
            print('Returned prefix:', prefix)
            if string.upper(prefix) =='MUTE' then
                self:Notify('Processor', 'Mute', 'On')
            end
        end
        if tonumber(value) then
                 print("Meridian Volume Received = "..value)
                 self:Notify('Processor', 'Volume', value)
                 self:Notify('Processor', 'Mute', 'Off')
                 end
       end
             Super.ReceiveResponse (self)
         end
        end,
    I remembered having to add the "if string.len(self.data) > 0 then" because the string.find was failing with errors when the length was 0, so then I wondered if the "Super.ReceiveResponse (self)" was also having issues with a zero length string.

    So I changed my code to this
    Code:
        ReceiveResponse = function (self)
     if not self.code then
             print('Code is nil!!!')
    elseif self:IsDataAvailable() and string.len(self.data) > 0  then
          print('Received Meridian Response: '..self.data)
          print('Meridian Response Length = '..string.len(self.data))
     
          local _, _, prefix, value = string.find(self.data, '^(%w-)%s+(%d-)$')
     
          if prefix then
             print('Returned prefix:', prefix)
             if string.upper(prefix) =='MUTE' then
               self:Notify('Processor', 'Mute', 'On')
            end
          end
          if tonumber(value) then
             print("Meridian Volume Received = "..value)
             self:Notify('Processor', 'Volume', value)
             self:Notify('Processor', 'Mute', 'Off')
          end
          Super.ReceiveResponse (self)
      end
    end,
    and low and behold no more problems.

    I expected the "elseif self:IsDataAvailable() and self.data then" line to trap this, but maybe it doesn't or maybe there is data but it's not something the "Super.ReceiveResponse (self)" or string handling routines can handle????

    Richard

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •