Beo4 IR remote receiver

Discussion in 'General Support' started by druden, January 8, 2006.

  1. druden

    druden Portal Pro

    Joined:
    January 2, 2006
    Messages:
    54
    Likes Received:
    0
    Occupation:
    IT Support Manager
    Location:
    Denmark
    Ratings:
    +0 / 0
    Hi, I'm working on a Beo4 IR remote receiver (used with Bang & Olufsen equipment). I've built the simple Lirc (WinLirc) receiver http://lnx.manoweb.com/lirc/?partType=section&partName=circuit with a single mod: the IR receiver (which is typically based on the Vishay TSOP1738 or equivalent) is replaced by the TSOP7000 - because B&O uses 455 kHz as carrier frequency - it allows for signal strengths 10x that of other IR remotes.

    So far, it looks promising. I downloaded WinLirc, and I can grab raw data from my Beo4. From this I can see the pulse and space lenghts when I press random buttons. However, I can't get WinLirc to "learn" remote commands, it simply says it can't get a consistent signal.

    Other people seems to buy a pretty expensive box from IRtrans or Lintronic. I prefer the homebrew solution because it covers all my needs, and it will be almost invisible in my living room compared to other solutions.

    Anyone has experience with Beo4 (or Beolink 1000 which afaik uses the same freq and signalling scheme)?


     
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. jawbroken

    jawbroken Portal Pro

    Joined:
    August 13, 2005
    Messages:
    706
    Likes Received:
    0
    Ratings:
    +0 / 0
    Home Country:
    Afghanistan Afghanistan
    WinLIRC is designed for 45khz carrier signals (if I remember correctly). I don't think the serial port can generate a carrier signal at 455khz, or receive information at this rate. Even if it could, I believe WinLIRC is fairly hard coded to frequencies near the standard of 38->45khz.

    You won't be getting consistent data because I don't believe you can receive information that quickly on the serial port (I could be wrong).

    Changing the IR receiver just allows the receiver to react to frequencies in that range, because WinLIRC is mainly a software solution (decoding and carrier signals are all generated in software), I believe you will have great difficulty getting it to work.
     
  4. druden

    druden Portal Pro

    Joined:
    January 2, 2006
    Messages:
    54
    Likes Received:
    0
    Occupation:
    IT Support Manager
    Location:
    Denmark
    Ratings:
    +0 / 0
    Hi Jawbreaker :)

    The 455 kHz is the frequency at which the IR signal is modulated. It is demodulated by the TSOP7000 "IR eye". With WinLIRC listening at 115.200, each pulse is ~200 frames (or a multiply of 200 frames), so the bit steam data speed delivered at the RS-232 port (at the DCD pin) is as low as ~500 baud.

    The fact that WinLIRC reads the raw data perfectly well seems to indicate that the problem isn't with the speed, it's rather caused by the protocol.

    Unless someone has a clue :?: I'll probably better stick to the LIRC forums for help....

    Samle WinLIRC raw data for the Beo4 power off button:
    Code (Text):
    1.  
    2. pulse 193
    3. space 2930
    4. pulse 194
    5. space 2931
    6. pulse 200
    7. space 15451
    8. ...
    9.  
     
  5. jawbroken

    jawbroken Portal Pro

    Joined:
    August 13, 2005
    Messages:
    706
    Likes Received:
    0
    Ratings:
    +0 / 0
    Home Country:
    Afghanistan Afghanistan
    Ah, fair enough. I think I was thinking about an entirely different homebrew IR receiver that I built a couple of years ago. The data you are getting does seem consistent, so I would guess that it was a protocol issue.

    Sorry for my confusion.

    Edit: You would think that as a third Electrical Engineering student I would have learnt by now to always read datasheets =D
     
  6. druden

    druden Portal Pro

    Joined:
    January 2, 2006
    Messages:
    54
    Likes Received:
    0
    Occupation:
    IT Support Manager
    Location:
    Denmark
    Ratings:
    +0 / 0
    [Edit: Beo4.rc (see code below) updated on 16.01.2006]

    Progress ;-)

    I figured out how to grab the raw data (see previous posting), and from the guide found here http://winlirc.sourceforge.net/technicaldetails.html I wrote my own WinLIRC configuration file.

    Unfortunately the Media Portal WinLIRC plugin seems to be broken for the time being :-( http://nolanparty.com/mediaportal.sourceforge.net/phpBB2/viewtopic.php?t=11693&highlight=winlirc

    My Beo4.cf configuration file which works with WinLIRC 0.6.5:

    Code (Text):
    1.  
    2. #=======================================================================
    3. #
    4. #   Remote accompanying product: Beo4 (Bang & Olufsen)
    5. #
    6. #   Contributed by: Jesper Drud Nielsen, January 2006 drud at chaos.dk
    7. #
    8. #   All buttons physically available on the Beo4 remote are included in
    9. #   this configuration. Buttons which are only accessible using the LIST
    10. #   button (e.g. SOUND, V.MODE, V.TAPE2 etc.) are not included.
    11. #
    12. #   Lirc/WinLIRC does NOT learn the Beo4 remote, but reads the raw data
    13. #   which in turn can be translated as shown below (all pulses seem to
    14. #   be 200 units, pauses vary in lenght).
    15. #
    16. #   For those who want to build a simple Serial IR receiver, I recommend
    17. #   sticking to the guide on [url]www.lirc.org/receivers.html[/url] - however, note
    18. #   that Bang & Olufsen chose a carrier frequency of 455 kHz (>10x that
    19. #   of other manufacturers). Thus you need an IR device like Vishay
    20. #   TSOP7000. It is slightly more expensive, however you should be able
    21. #   to build a complete Serial IR reciver at around than 20 euros like I
    22. #   did.
    23. #
    24. #   Please also check the pin out for your TSOP7000 and your voltage
    25. #   regulator (78L05) which depends on the particular housing model you
    26. #   get.
    27. #
    28. #=======================================================================
    29.  
    30.  
    31.  
    32. begin remote
    33.  
    34.   name   Beo4
    35.   flags RAW_CODES
    36.   eps           8
    37.   aeps          90
    38.   gap        18000
    39.  
    40.       begin raw_codes
    41.  
    42.     name beo4-tv-on                                                                                                                                                                        
    43.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    44.     name beo4-video-poweroff                                                                                                                                                                           
    45.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 12400   200
    46.     name beo4-tv-left                                                                                                                                                                          
    47.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 9200    200 3000    200 12400   200
    48.     name beo4-tv-right                                                                                                                                                                         
    49.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 3000    200 6000    200 12400   200
    50.     name beo4-tv-up                                                                                                                                                                        
    51.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 3000    200 12400   200
    52.     name beo4-tv-down                                                                                                                                                                          
    53.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 6000    200 12400   200
    54.     name beo4-tv-green                                                                                                                                                                         
    55.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 3000    200 9200    200 2800    200 9200    200 12400   200
    56.     name beo4-tv-yellow                                                                                                                                                                        
    57.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 3000    200 9200    200 3000    200 6000    200 12400   200
    58.     name beo4-tv-red                                                                                                                                                                           
    59.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 9200    200 12400   200
    60.     name beo4-tv-blue                                                                                                                                                                          
    61.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 12400   200
    62.     name beo4-tv-exit                                                                                                                                                                          
    63.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    64.     name beo4-tv-menu                                                                                                                                                                          
    65.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 6000    200 3000    200 6000    200 12400   200
    66.     name beo4-video-vol-up                                                                                                                                                                         
    67.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    68.     name beo4-video-vol-down                                                                                                                                                                           
    69.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 9200    200 3000    200 6000    200 12400   200
    70.     name beo4-tv-stop                                                                                                                                                                          
    71.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 12400   200
    72.     name beo4-video-record                                                                                                                                                                         
    73.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 6000    200 12400   200
    74.     name beo4-tv-0                                                                                                                                                                         
    75.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    76.     name beo4-tv-1                                                                                                                                                                         
    77.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 12400   200
    78.     name beo4-tv-2                                                                                                                                                                         
    79.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 12400   200
    80.     name beo4-tv-3                                                                                                                                                                         
    81.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 12400   200
    82.     name beo4-tv-4                                                                                                                                                                         
    83.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 12400   200
    84.     name beo4-tv-5                                                                                                                                                                         
    85.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 12400   200
    86.     name beo4-tv-6                                                                                                                                                                         
    87.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 12400   200
    88.     name beo4-tv-7                                                                                                                                                                         
    89.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 12400   200
    90.     name beo4-tv-8                                                                                                                                                                         
    91.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 12400   200
    92.     name beo4-tv-9                                                                                                                                                                         
    93.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 9200    200 12400   200
    94.     name beo4-text-on                                                                                                                                                                          
    95.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 12400   200
    96.     name beo4-all-power-off                                                                                                                                                                        
    97.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 12400   200
    98.     name beo4-vtape-on                                                                                                                                                                         
    99.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 2800    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 12400   200
    100.     name beo4-vtape-left                                                                                                                                                                           
    101.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 9200    200 6000    200 3000    200 6000    200 9200    200 3000    200 12400   200
    102.     name beo4-vtape-right                                                                                                                                                                          
    103.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 9200    200 6000    200 2800    200 9200    200 3000    200 6000    200 12400   200
    104.     name beo4-vtape-up                                                                                                                                                                         
    105.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 3000    200 12400   200
    106.     name beo4-vtape-down                                                                                                                                                                           
    107.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 6000    200 12400   200
    108.     name beo4-vtape-green                                                                                                                                                                          
    109.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 6000    200 3000    200 9200    200 3000    200 9200    200 2800    200 9200    200 12400   200
    110.     name beo4-vtape-yellow                                                                                                                                                                         
    111.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 6000    200 3000    200 9200    200 3000    200 9200    200 3000    200 6000    200 12400   200
    112.     name beo4-vtape-red                                                                                                                                                                        
    113.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 6000    200 3000    200 9200    200 6000    200 2800    200 6000    200 9200    200 12400   200
    114.     name beo4-vtape-blue                                                                                                                                                                           
    115.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 12400   200
    116.     name beo4-vtape-exit                                                                                                                                                                           
    117.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 2800    200 9200    200 3000    200 9200    200 6000    200 6000    200 6000    200 6000    200 6200    200 6000    200 12400   200
    118.     name beo4-vtape-menu                                                                                                                                                                           
    119.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 9200    200 3000    200 9200    200 6000    200 6000    200 3000    200 6000    200 12400   200
    120.     name beo4-vtape-stop                                                                                                                                                                           
    121.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 2800    200 9200    200 3000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 2800    200 12400   200
    122.     name beo4-vtape-0                                                                                                                                                                          
    123.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    124.     name beo4-vtape-1                                                                                                                                                                          
    125.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 2800    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 12400   200
    126.     name beo4-vtape-2                                                                                                                                                                          
    127.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 2800    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 12400   200
    128.     name beo4-vtape-3                                                                                                                                                                          
    129.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 12400   200
    130.     name beo4-vtape-4                                                                                                                                                                          
    131.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 2800    200 6000    200 12400   200
    132.     name beo4-vtape-5                                                                                                                                                                          
    133.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 2800    200 9200    200 12400   200
    134.     name beo4-vtape-6                                                                                                                                                                          
    135.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 12400   200
    136.     name beo4-vtape-7                                                                                                                                                                          
    137.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 12400   200
    138.     name beo4-vtape-8                                                                                                                                                                          
    139.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 12400   200
    140.     name beo4-vtape-9                                                                                                                                                                          
    141.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 9200    200 12400   200
    142.     name beo4-dvd-on                                                                                                                                                                           
    143.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 12400   200
    144.     name beo4-sat-on                                                                                                                                                                           
    145.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 12400   200
    146.     name beo4-light-on                                                                                                                                                                         
    147.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 6000    200 3000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 12400   200
    148.     name beo4-light-left                                                                                                                                                                           
    149.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 9200    200 6000    200 3000    200 6000    200 9200    200 3000    200 12400   200
    150.     name beo4-light-right                                                                                                                                                                          
    151.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 9200    200 6000    200 3000    200 9200    200 3000    200 6000    200 12400   200
    152.     name beo4-light-up                                                                                                                                                                         
    153.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 3000    200 12400   200
    154.     name beo4-light-down                                                                                                                                                                           
    155.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 6000    200 12400   200
    156.     name beo4-light-green                                                                                                                                                                          
    157.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 6000    200 6000    200 3000    200 9200    200 3000    200 9200    200 3000    200 9200    200 12400   200
    158.     name beo4-light-yellow                                                                                                                                                                         
    159.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 6000    200 6000    200 3000    200 9200    200 3000    200 9200    200 3000    200 6000    200 12400   200
    160.     name beo4-light-red                                                                                                                                                                        
    161.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 6000    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 9200    200 12400   200
    162.     name beo4-light-blue                                                                                                                                                                           
    163.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 6000    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 12400   200
    164.     name beo4-audio-exit                                                                                                                                                                           
    165.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    166.     name beo4-audio-vol-up                                                                                                                                                                         
    167.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    168.     name beo4-audio-vol-down                                                                                                                                                                           
    169.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 6000    200 3000    200 6000    200 9200    200 3000    200 6000    200 12400   200
    170.     name beo4-light-menu                                                                                                                                                                           
    171.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 9200    200 3000    200 9200    200 6000    200 6000    200 3000    200 6000    200 12400   200
    172.     name beo4-light-stop                                                                                                                                                                           
    173.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 12400   200
    174.     name beo4-light-0                                                                                                                                                                          
    175.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    176.     name beo4-light-1                                                                                                                                                                          
    177.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 12400   200
    178.     name beo4-light-2                                                                                                                                                                          
    179.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 12400   200
    180.     name beo4-light-3                                                                                                                                                                          
    181.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6200    200 6000    200 6000    200 6000    200 9200    200 6000    200 12400   200
    182.     name beo4-light-4                                                                                                                                                                          
    183.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 12400   200
    184.     name beo4-light-5                                                                                                                                                                          
    185.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 12400   200
    186.     name beo4-light-6                                                                                                                                                                          
    187.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 12400   200
    188.     name beo4-light-7                                                                                                                                                                          
    189.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 12400   200
    190.     name beo4-light-8                                                                                                                                                                          
    191.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 12400   200
    192.     name beo4-light-9                                                                                                                                                                          
    193.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 9200    200 12400   200
    194.     name beo4-radio-on                                                                                                                                                                         
    195.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 12400   200
    196.     name beo4-audio-poweroff                                                                                                                                                                           
    197.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 12400   200
    198.     name beo4-audio-left                                                                                                                                                                           
    199.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 9200    200 6000    200 3000    200 6000    200 9200    200 3000    200 12400   200
    200.     name beo4-audio-right                                                                                                                                                                          
    201.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 9200    200 6000    200 3000    200 9200    200 3000    200 6000    200 12400   200
    202.     name beo4-audio-up                                                                                                                                                                         
    203.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 3000    200 12400   200
    204.     name beo4-audio-down                                                                                                                                                                           
    205.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 9200    200 6000    200 6000    200 6000    200 6000    200 12400   200
    206.     name beo4-audio-green                                                                                                                                                                          
    207.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 3000    200 9200    200 3000    200 9200    200 3000    200 9200    200 12400   200
    208.     name beo4-audio-yellow                                                                                                                                                                         
    209.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 3000    200 9200    200 3000    200 9200    200 3000    200 6000    200 12400   200
    210.     name beo4-audio-red                                                                                                                                                                        
    211.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 9200    200 12400   200
    212.     name beo4-audio-blue                                                                                                                                                                           
    213.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 3000    200 9200    200 6000    200 3000    200 6000    200 6000    200 12400   200
    214.     name beo4-audio-menu                                                                                                                                                                           
    215.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 3000    200 9200    200 6000    200 6000    200 3000    200 6000    200 12400   200
    216.     name beo4-audio-stop                                                                                                                                                                           
    217.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 3000    200 12400   200
    218.     name beo4-audio-record                                                                                                                                                                         
    219.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 9200    200 6000    200 3000    200 9200    200 6000    200 6000    200 12400   200
    220.     name beo4-audio-0                                                                                                                                                                          
    221.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 12400   200
    222.     name beo4-audio-1                                                                                                                                                                          
    223.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 12400   200
    224.     name beo4-audio-2                                                                                                                                                                          
    225.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 12400   200
    226.     name beo4-audio-3                                                                                                                                                                          
    227.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 12400   200
    228.     name beo4-audio-4                                                                                                                                                                          
    229.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 12400   200
    230.     name beo4-audio-5                                                                                                                                                                          
    231.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 9200    200 12400   200
    232.     name beo4-audio-6                                                                                                                                                                          
    233.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 12400   200
    234.     name beo4-audio-7                                                                                                                                                                          
    235.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 6000    200 12400   200
    236.     name beo4-audio-8                                                                                                                                                                          
    237.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 12400   200
    238.     name beo4-audio-9                                                                                                                                                                          
    239.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 6000    200 6000    200 9200    200 3000    200 6000    200 9200    200 12400   200
    240.     name beo4-cd-on                                                                                                                                                                        
    241.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 9200    200 3000    200 6000    200 9200    200 3000    200 12400   200
    242.     name beo4-atape-on                                                                                                                                                                         
    243.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 6000    200 9200    200 3000    200 6000    200 6000    200 9200    200 12400   200
    244.     name beo4-tv/sat/dvd-go                                                                                                                                                                        
    245.         200 3000    200 3000    200 15400   200 3000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 6000    200 9200    200 6000    200 3000    200 9200    200 3000    200 9200    200 12400   200
    246.  
    247.       end raw_codes
    248.  
    249. end remote
     
  7. druden

    druden Portal Pro

    Joined:
    January 2, 2006
    Messages:
    54
    Likes Received:
    0
    Occupation:
    IT Support Manager
    Location:
    Denmark
    Ratings:
    +0 / 0
    Succes!

    [Edit: AutoHotKey.ini (see code below) was updated on 16.01.2006]

    Replaced the broken WinLIRC plugin for Media Portal with AutoHotKey - a freeware app found here: http://autohotkey.com - the "final" (until the WinLIRC plugin is fixed) configuration which is sooooo nice ;-) consist of
    AutoHotKey using my config sends keystrokes to the foremost application which is always Media Portal in my case...

    Notes:

    • AutoHotKey is not context sensitive (a remote buttons always sends the same keystrok, no matter if you're watching a full screen movie or browsing the TV guide
      Some keyboard shortcuts are not mapped because Beo4 has a limited set of buttons (F5-F9 and the "u" key was left out).
    Kind regards,
    Jesper

    The sample autohotkey.ini modified for Beo4/WinLIRC/MP
    Code (Text):
    1.  
    2. ; Here are the steps to use this script:
    3. ; 1) Configure WinLIRC to recognize your remote control and its buttons.
    4. ;    WinLIRC is at http://winlirc.sourceforge.net
    5. ; 2) Edit the WinLIRC path, address, and port in the CONFIG section below.
    6. ; 3) Launch this script. It will start the WinLIRC server if needed.
    7. ; 4) Press some buttons on your remote control. A small window will
    8. ;    appear showing the name of each button as you press it.
    9. ; 5) Configure your buttons to send keystrokes and mouse clicks to
    10. ;    windows such as Winamp, Media Player, etc. See the examples below.
    11.  
    12. ; This script requires AutoHotkey 1.0.38 or later.
    13. ; HISTORY OF CHANGES
    14. ; October 5, 2005:
    15. ; - Eliminated Winsock warning dialog "10054" upon system shutdown/logoff.
    16. ; - Added option "DelayBetweenButtonRepeats" to throttle the repeat speed.
    17.  
    18. ; -------------------------------------------------
    19. ; CONFIGURATION SECTION: Set your preferences here.
    20. ; -------------------------------------------------
    21. ; Some remote controls repeat the signal rapidly while you're holding down
    22. ; a button. This makes it difficult to get the remote to send only a single
    23. ; signal. The following setting solves this by ignoring repeated signals
    24. ; until the specified time has passed. 200 is often a good setting.  Set it
    25. ; to 0 to disable this feature.
    26. DelayBetweenButtonRepeats = 200
    27.  
    28. ; Specify the path to WinLIRC, such as C:\WinLIRC\winlirc.exe
    29. WinLIRC_Path = c:\progra~1\WinLIRC\winlirc.exe
    30.  
    31. ; Specify WinLIRC's address and port. The most common are 127.0.0.1 (localhost) and 8765.
    32. WinLIRC_Address = 127.0.0.1
    33. WinLIRC_Port = 8765
    34.  
    35. ; Do not change the following two lines. Skip them and continue below.
    36. Gosub WinLIRC_Init
    37. return
    38.  
    39. ; --------------------------------------------
    40. ; ASSIGN ACTIONS TO THE BUTTONS ON YOUR REMOTE
    41. ; --------------------------------------------
    42. ; Configure your remote control's buttons below. Use WinLIRC's names
    43. ; for the buttons, which can be seen in your WinLIRC config file
    44. ; (.cf file) -- or you can press any button on your remote and the
    45. ; script will briefly display the button's name in a small window.
    46. ;
    47. ; Below are some examples. Feel free to revise or delete them to suit
    48. ; your preferences.
    49.  
    50. ;=======================================================================
    51. ;POWER 3 SEC: shut windows down
    52. ;=======================================================================
    53. beo4-all-power-off:
    54. Shutdown,5
    55. return
    56.  
    57. ;=======================================================================
    58. ;SAT = Launch MediaPortal (if crashed...)
    59. ;=======================================================================
    60. beo4-sat-on:
    61. Run,c:\progra~1\mediaportal\mediaportal.exe
    62. return
    63.  
    64. ;=======================================================================
    65. ;V.TAPE = On Screen Display (OSD) if running, otherwise launch MP!
    66. ;=======================================================================
    67. beo4-vtape-on:
    68. Send,y
    69. return
    70.  
    71. ;=======================================================================
    72. ;All numeric buttons naturally are sent without translation
    73. ;=======================================================================
    74. beo4-vtape-0:
    75. beo4-tv-0:
    76. Send,{Numpad0}
    77. return
    78.  
    79. beo4-vtape-1:
    80. beo4-tv-1:
    81. Send,{Numpad1}
    82. return
    83.  
    84. beo4-vtape-2:
    85. beo4-tv-2:
    86. Send,{Numpad2}
    87. return
    88.  
    89. beo4-vtape-3:
    90. beo4-tv-3:
    91. Send,{Numpad3}
    92. return
    93.  
    94. beo4-vtape-4:
    95. beo4-tv-4:
    96. Send,{Numpad4}
    97. return
    98.  
    99. beo4-vtape-5:
    100. beo4-tv-5:
    101. Send,{Numpad5}
    102. return
    103.  
    104. beo4-vtape-6:
    105. beo4-tv-6:
    106. Send,{Numpad6}
    107. return
    108.  
    109. beo4-vtape-7:
    110. beo4-tv-7:
    111. Send,{Numpad7}
    112. return
    113.  
    114. beo4-vtape-8:
    115. beo4-tv-8:
    116. Send,{Numpad8}
    117. return
    118.  
    119. beo4-vtape-9:
    120. beo4-tv-9:
    121. Send,{Numpad9}
    122. return
    123.  
    124. ;=======================================================================
    125. ;Arrow keys (while V.TAPE) are also passed on without translation
    126. ;=======================================================================
    127. beo4-vtape-left:
    128. Send,{LEFT}
    129. return
    130.  
    131. beo4-vtape-right:
    132. Send,{RIGHT}
    133. return
    134.  
    135. beo4-vtape-up:
    136. Send,{UP}
    137. return
    138.  
    139. beo4-vtape-down:
    140. Send,{DOWN}
    141. return
    142.  
    143. ;=======================================================================
    144. ; The Green button toggles windowed/full screen mode
    145. ;=======================================================================
    146. beo4-vtape-green:
    147. beo4-tv-green:
    148. Send,x
    149. return
    150.  
    151. ;=======================================================================
    152. ; The Yellow button switches aspect ratio on videos/TV
    153. ;            shows playlist/music/video in other modes
    154. ;=======================================================================
    155. beo4-vtape-yellow:
    156. beo4-tv-yellow:
    157. Send,{F1}
    158. Send,s
    159. return
    160.  
    161. ;=======================================================================
    162. ; The Red button is used for pause
    163. ;=======================================================================
    164. beo4-vtape-red:
    165. beo4-tv-red:
    166. Send,{SPACE}
    167. return
    168.  
    169. ;=======================================================================
    170. ; The Blue button = Enter
    171. ;=======================================================================
    172. beo4-vtape-blue:
    173. beo4-tv-blue:
    174. Send,{ENTER}
    175. return
    176.  
    177. ;=======================================================================
    178. ; RECORD = record (TV mode), rotate (in Picture mode), Menu (in DVD mode)
    179. ;=======================================================================
    180. beo4-video-record:
    181. Send,r
    182. Send,m
    183. return
    184.  
    185. ;=======================================================================
    186. ; MENU = display menu/info/IMDB lookup
    187. ;=======================================================================
    188. beo4-vtape-menu:
    189. beo4-tv-menu:
    190. Send,{F3}
    191. return
    192.  
    193. ;=======================================================================
    194. ; STOP = stop/exit
    195. ;=======================================================================
    196. beo4-vtape-stop:
    197. beo4-tv-stop:
    198. Send,b
    199. return
    200.  
    201. ;=======================================================================
    202. ; Volume up/down are passed as =/-, could be deleted to avoid
    203. ; simultaneously controlling your B&O TV and Media Portal
    204. ;=======================================================================
    205. beo4-video-vol-up:
    206. Send,=
    207. return
    208.  
    209. beo4-video-vol-down:
    210. Send,-
    211. return
    212.  
    213. ;=======================================================================
    214. ; EXIT = generally exits or steps one menu level back
    215. ;=======================================================================
    216. beo4-vtape-exit:
    217. beo4-tv-exit:
    218. Send,{ESC}
    219. return
    220.  
    221. ;=======================================================================
    222. ; Switch to DVD mode and use the arrow buttons for FFD/REW and for
    223. ; skipping a full track/movie forward or backward
    224. ;=======================================================================
    225. beo4-tv-left:
    226. Send,{F5}
    227. return
    228.  
    229. beo4-tv--right:
    230. Send,{F6}
    231. return
    232.  
    233. beo4-tv-up:
    234. Send,{F7}
    235. return
    236.  
    237. beo4-tv-down:
    238. Send,{F5}
    239. return
    240.  
    241. ; ----------------------------
    242. ; END OF CONFIGURATION SECTION
    243. ; ----------------------------
    244. ; Do not make changes below this point unless you want to change the core
    245. ; functionality of the script.
    246.  
    247. WinLIRC_Init:
    248. OnExit, ExitSub  ; For connection cleanup purposes.
    249.  
    250. ; Launch WinLIRC if it isn't already running:
    251. Process, Exist, winlirc.exe
    252. if not ErrorLevel  ; No PID for WinLIRC was found.
    253. {
    254.     IfNotExist, %WinLIRC_Path%
    255.     {
    256.         MsgBox The file "%WinLIRC_Path%" does not exist. Please edit this script to specify its location.
    257.         ExitApp
    258.     }
    259.     Run %WinLIRC_Path%
    260.     Sleep 200  ; Give WinLIRC a little time to initialize (probably never needed, just for peace of mind).
    261. }
    262.  
    263. ; Connect to WinLIRC (or any type of server for that matter):
    264. socket := ConnectToAddress(WinLIRC_Address, WinLIRC_Port)
    265. if socket = -1  ; Connection failed (it already displayed the reason).
    266.     ExitApp
    267.  
    268. ; Find this script's main window:
    269. Process, Exist  ; This sets ErrorLevel to this script's PID (it's done this way to support compiled scripts).
    270. DetectHiddenWindows On
    271. ScriptMainWindowId := WinExist("ahk_class AutoHotkey ahk_pid " . ErrorLevel)
    272. DetectHiddenWindows Off
    273.  
    274. ; When the OS notifies the script that there is incoming data waiting to be received,
    275. ; the following causes a function to be launched to read the data:
    276. NotificationMsg = 0x5555  ; An arbitrary message number, but should be greater than 0x1000.
    277. OnMessage(NotificationMsg, "ReceiveData")
    278.  
    279. ; Set up the connection to notify this script via message whenever new data has arrived.
    280. ; This avoids the need to poll the connection and thus cuts down on resource usage.
    281. FD_READ = 1     ; Received when data is available to be read.
    282. FD_CLOSE = 32   ; Received when connection has been closed.
    283. if DllCall("Ws2_32\WSAAsyncSelect", UInt, socket, UInt, ScriptMainWindowId, UInt, NotificationMsg, Int, FD_READ|FD_CLOSE)
    284. {
    285.     MsgBox % "WSAAsyncSelect() indicated Winsock error " . DllCall("Ws2_32\WSAGetLastError")
    286.     ExitApp
    287. }
    288. return
    289.  
    290.  
    291.  
    292. ConnectToAddress(IPAddress, Port)
    293. ; This can connect to most types of TCP servers, not just WinLIRC.
    294. ; Returns -1 (INVALID_SOCKET) on failure or the socket ID upon success.
    295. {
    296.     VarSetCapacity(wsaData, 32)  ; The struct is only about 14 in size, so 32 is conservative.
    297.     result := DllCall("Ws2_32\WSAStartup", UShort, 0x0002, UInt, &wsaData) ; Request Winsock 2.0 (0x0002)
    298.     ; Since WSAStartup() will likely be the first Winsock function called by this script,
    299.     ; check ErrorLevel to see if the OS has Winsock 2.0 available:
    300.     if ErrorLevel
    301.     {
    302.         MsgBox WSAStartup() could not be called due to error %ErrorLevel%. Winsock 2.0 or higher is required.
    303.         return -1
    304.     }
    305.     if result  ; Non-zero, which means it failed (most Winsock functions return 0 on success).
    306.     {
    307.         MsgBox % "WSAStartup() indicated Winsock error " . DllCall("Ws2_32\WSAGetLastError")
    308.         return -1
    309.     }
    310.  
    311.     AF_INET = 2
    312.     SOCK_STREAM = 1
    313.     IPPROTO_TCP = 6
    314.     socket := DllCall("Ws2_32\socket", Int, AF_INET, Int, SOCK_STREAM, Int, IPPROTO_TCP)
    315.     if socket = -1
    316.     {
    317.         MsgBox % "socket() indicated Winsock error " . DllCall("Ws2_32\WSAGetLastError")
    318.         return -1
    319.     }
    320.  
    321.     ; Prepare for connection:
    322.     SizeOfSocketAddress = 16
    323.     VarSetCapacity(SocketAddress, SizeOfSocketAddress)
    324.     InsertInteger(2, SocketAddress, 0, AF_INET)   ; sin_family
    325.     InsertInteger(DllCall("Ws2_32\htons", UShort, Port), SocketAddress, 2, 2)   ; sin_port
    326.     InsertInteger(DllCall("Ws2_32\inet_addr", str, IPAddress), SocketAddress, 4, 4)   ; sin_addr.s_addr
    327.  
    328.     ; Attempt connection:
    329.     if DllCall("Ws2_32\connect", UInt, socket, UInt, &SocketAddress, Int, SizeOfSocketAddress)
    330.     {
    331.         MsgBox % "connect() indicated Winsock error " . DllCall("Ws2_32\WSAGetLastError") . ". Is WinLIRC running?"
    332.         return -1
    333.     }
    334.     return socket  ; Indicate success by returning a valid socket ID rather than -1.
    335. }
    336.  
    337.  
    338.  
    339. ReceiveData(wParam, lParam)
    340. ; By means of OnMessage(), this function has been set up to be called automatically whenever new data
    341. ; arrives on the connection.  It reads the data from WinLIRC and takes appropriate action depending
    342. ; on the contents.
    343. {
    344.     socket := wParam
    345.     ReceivedDataSize = 4096  ; Large in case a lot of data gets buffered due to delay in processing previous data.
    346.     Loop  ; This loop solves the issue of the notification message being discarded due to thread-already-running.
    347.     {
    348.         VarSetCapacity(ReceivedData, ReceivedDataSize, 0)  ; 0 for last param terminates string for use with recv().
    349.         ReceivedDataLength := DllCall("Ws2_32\recv", UInt, socket, Str, ReceivedData, Int, ReceivedDataSize, Int, 0)
    350.         if ReceivedDataLength = 0  ; The connection was gracefully closed, probably due to exiting WinLIRC.
    351.             ExitApp  ; The OnExit routine will call WSACleanup() for us.
    352.         if ReceivedDataLength = -1
    353.         {
    354.             WinsockError := DllCall("Ws2_32\WSAGetLastError")
    355.             if WinsockError = 10035  ; WSAEWOULDBLOCK, which means "no more data to be read".
    356.                 return 1
    357.             if WinsockError <> 10054 ; WSAECONNRESET, which happens when WinLIRC closes via system shutdown/logoff.
    358.                 ; Since it's an unexpected error, report it.  Also exit to avoid infinite loop.
    359.                 MsgBox % "recv() indicated Winsock error " . WinsockError
    360.             ExitApp  ; The OnExit routine will call WSACleanup() for us.
    361.         }
    362.         ; Otherwise, process the data received. Testing shows that it's possible to get more than one line
    363.         ; at a time (even for explicitly-sent IR signals), which the following method handles properly.
    364.         ; Data received from WinLIRC looks like the following example (see the WinLIRC docs for details):
    365.         ; 0000000000eab154 00 NameOfButton NameOfRemote
    366.         Loop, parse, ReceivedData, `n, `r
    367.         {
    368.             if A_LoopField in ,BEGIN,SIGHUP,END  ; Ignore blank lines and WinLIRC's start-up messages.
    369.                 continue
    370.             ButtonName =  ; Init to blank in case there are less than 3 fields found below.
    371.             Loop, parse, A_LoopField, %A_Space%  ; Extract the button name, which is the third field.
    372.                 if A_Index = 3
    373.                     ButtonName := A_LoopField
    374.             global DelayBetweenButtonRepeats  ; Declare globals to make them available to this function.
    375.             static PrevButtonName, PrevButtonTime, RepeatCount  ; These variables remember their values between calls.
    376.             if (ButtonName != PrevButtonName || A_TickCount - PrevButtonTime > DelayBetweenButtonRepeats)
    377.             {
    378.                 if IsLabel(ButtonName)  ; There is a subroutine associated with this button.
    379.                     Gosub %ButtonName%  ; Launch the subroutine.
    380.                 else ; Since there is no associated subroutine, briefly display which button was pressed.
    381.                 {
    382.                     if (ButtonName == PrevButtonName)
    383.                         RepeatCount += 1
    384.                     else
    385.                         RepeatCount = 1
    386.                     SplashTextOn, 150, 20, Button from WinLIRC, %ButtonName% (%RepeatCount%)
    387.                     SetTimer, SplashOff, 3000  ; This allows more signals to be processed while displaying the window.
    388.                 }
    389.                 PrevButtonName := ButtonName
    390.                 PrevButtonTime := A_TickCount
    391.             }
    392.         }
    393.     }
    394.     return 1  ; Tell the program that no further processing of this message is needed.
    395. }
    396.  
    397.  
    398.  
    399. SplashOff:
    400. SplashTextOff
    401. SetTimer, SplashOff, Off
    402. return
    403.  
    404.  
    405.  
    406. InsertInteger(pInteger, ByRef pDest, pOffset = 0, pSize = 4)
    407. ; To preserve any existing contents in pDest, only pSize number of bytes starting at pOffset
    408. ; are altered in it. The caller must ensure that pDest has sufficient capacity.
    409. {
    410.     mask := 0xFF  ; This serves to isolate each byte, one by one.
    411.     Loop %pSize%  ; Copy each byte in the integer into the structure as raw binary data.
    412.     {
    413.         DllCall("RtlFillMemory", UInt, &pDest + pOffset + A_Index - 1, UInt, 1  ; Write one byte.
    414.             , UChar, (pInteger & mask) >> 8 * (A_Index - 1))
    415.         mask := mask << 8  ; Set it up for isolation of the next byte.
    416.     }
    417. }
    418.  
    419.  
    420.  
    421. ExitSub:  ; This subroutine is called automatically when the script exits for any reason.
    422. ; MSDN: "Any sockets open when WSACleanup is called are reset and automatically
    423. ; deallocated as if closesocket was called."
    424. DllCall("Ws2_32\WSACleanup")
    425. ExitApp
    426.  
    427.  
     
  8. druden

    druden Portal Pro

    Joined:
    January 2, 2006
    Messages:
    54
    Likes Received:
    0
    Occupation:
    IT Support Manager
    Location:
    Denmark
    Ratings:
    +0 / 0
    Hi guys, just wantet to let you know I have updated the configuration files for WinLIRC (beo4.rc) and for AutoHotKey (autohotkey.ini) - in the postings above. All Beo4 buttons are now mapped - I have submitted the WinLIRC config file to the maintainer of http://lirc.sourceforge.net/remotes/ so it hopefully gets added...

    At less than 20€ you'll be able to build a Serial IR receiver for the Bang & Olufsen Beo4, and interface it with Media Portal using WinLIRC and AutoHotKey (AutoHotKey in turn can be easily configured for the Beo4 to control other applcations too).

    :D :D :D
     
  9. Bonetti

    Bonetti Portal Member

    Joined:
    December 11, 2006
    Messages:
    22
    Likes Received:
    0
    Ratings:
    +0 / 0
    Home Country:
    Denmark Denmark
    Hello druden,

    Nice work above, I have my beo4 running the MP and it is working absolut great.
    :D

    One question: When I send my PC into standby I can wake-up the PC by using the keyboard, by pressing any key, but am I not able to use the beo4 to wake up the PC?

    I hope you or someone can help?

    BR
    Bonetti
     
  10. Claus

    Claus Portal Member

    Joined:
    July 16, 2006
    Messages:
    22
    Likes Received:
    1
    Ratings:
    +1 / 0
    Home Country:
    Denmark Denmark
    Great Work druden

    This is somthing I would like to try!

    Where did you buy the TSOP7000?

    BR,
    Claus
     
  11. Bonetti

    Bonetti Portal Member

    Joined:
    December 11, 2006
    Messages:
    22
    Likes Received:
    0
    Ratings:
    +0 / 0
    Home Country:
    Denmark Denmark
    I bought my TSOP7000 from Farnell.....
     
Loading...

Users Viewing Thread (Users: 0, Guests: 0)

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  • About The Project

    The vision of the MediaPortal project is to create a free open source media centre application, which supports all advanced media centre functions, and is accessible to all Windows users.

    In reaching this goal we are working every day to make sure our software is one of the best.

             

  • Support MediaPortal!

    The team works very hard to make sure the community is running the best HTPC-software. We give away MediaPortal for free but hosting and software is not for us.

    Care to support our work with a few bucks? We'd really appreciate it!