Difference between revisions of "User:AndrewAllison"

From MythTV Official Wiki
Jump to: navigation, search
m (Typo.)
 
(9 intermediate revisions by one other user not shown)
Line 13: Line 13:
  
 
  /etc/my.cnf
 
  /etc/my.cnf
 
 
  [mysqld]
 
  [mysqld]
 
  datadir=/var/lib/mysql
 
  datadir=/var/lib/mysql
Line 29: Line 28:
 
  pid-file=/var/run/mysqld/mysqld.pid
 
  pid-file=/var/run/mysqld/mysqld.pid
  
+
 
 
  /etc/lirc/lircd.conf
 
  /etc/lirc/lircd.conf
 
  #
 
  #
Line 35: Line 34:
 
  # contributed by Andrew Allison
 
  # contributed by Andrew Allison
 
  #
 
  #
  # brand:        PCTV (Hauppauge) USB MCE Remote  
+
  # brand:        PCTV (Hauppauge) USB MCE Remote
 
  # model no. of remote control: RRS9002-8601FC
 
  # model no. of remote control: RRS9002-8601FC
 
  # devices being controlled by this remote: Pinnacle IR Receiver / Blaster
 
  # devices being controlled by this remote: Pinnacle IR Receiver / Blaster
Line 41: Line 40:
  
 
  begin remote
 
  begin remote
 
 
   name  pctv.usb.remote
 
   name  pctv.usb.remote
 
   bits          13
 
   bits          13
Line 47: Line 45:
 
   eps            30
 
   eps            30
 
   aeps          100
 
   aeps          100
 
 
   header      2694  840
 
   header      2694  840
 
   one          471  413
 
   one          471  413
Line 59: Line 56:
 
   toggle_bit_mask 0x8000
 
   toggle_bit_mask 0x8000
 
   rc6_mask    0x100000000
 
   rc6_mask    0x100000000
 
 
       begin codes
 
       begin codes
 
           KEY_POWER                0x13
 
           KEY_POWER                0x13
 
 
           KEY_PAUSE                0x037FF07BE7
 
           KEY_PAUSE                0x037FF07BE7
 
           KEY_RECORD              0x037FF07BE8
 
           KEY_RECORD              0x037FF07BE8
Line 71: Line 66:
 
           KEY_FRAMEBACK            0x037FF07BE4
 
           KEY_FRAMEBACK            0x037FF07BE4
 
           KEY_FRAMEFORWARD        0x037FF07BE5
 
           KEY_FRAMEFORWARD        0x037FF07BE5
 
 
           KEY_BACK                0x1BDC
 
           KEY_BACK                0x1BDC
 
           KEY_INFO                0x1BF0
 
           KEY_INFO                0x1BF0
 
 
           KEY_LEFT                0x1BDF
 
           KEY_LEFT                0x1BDF
 
           KEY_RIGHT                0x1BDE
 
           KEY_RIGHT                0x1BDE
Line 80: Line 73:
 
           KEY_UP                  0x1BE1
 
           KEY_UP                  0x1BE1
 
           KEY_DOWN                0x1BE0
 
           KEY_DOWN                0x1BE0
 
 
 
           KEY_VOLUMEUP            0x037FF07BEF
 
           KEY_VOLUMEUP            0x037FF07BEF
 
           KEY_VOLUMEDOWN          0x037FF07BEE
 
           KEY_VOLUMEDOWN          0x037FF07BEE
Line 87: Line 78:
 
           KEY_CHANNELDOWN          0x037FF07BEC
 
           KEY_CHANNELDOWN          0x037FF07BEC
 
           KEY_CHANNELUP            0x037FF07BED
 
           KEY_CHANNELUP            0x037FF07BED
 
 
           KEY_MUTE                0x1BF1
 
           KEY_MUTE                0x1BF1
 
 
           KEY_SWITCHVIDEOMODE      0x1BB7
 
           KEY_SWITCHVIDEOMODE      0x1BB7
 
           KEY_EPG                  0x1BD9
 
           KEY_EPG                  0x1BD9
 
           KEY_TV                  0x1BDA
 
           KEY_TV                  0x1BDA
 
           KEY_VIDEO                0x1BDB
 
           KEY_VIDEO                0x1BDB
 
 
           KEY_1                    0x1BFE
 
           KEY_1                    0x1BFE
 
           KEY_2                    0x1BFD
 
           KEY_2                    0x1BFD
Line 105: Line 93:
 
           KEY_9                    0x1BF6
 
           KEY_9                    0x1BF6
 
           KEY_0                    0x1BFF
 
           KEY_0                    0x1BFF
 
 
 
           KEY_CLEAR                0x037FF07BF5
 
           KEY_CLEAR                0x037FF07BF5
 
           KEY_ENTER                0x037FF07BF4
 
           KEY_ENTER                0x037FF07BF4
 
 
           KEY_RED                  0x037FF07BA4
 
           KEY_RED                  0x037FF07BA4
 
           KEY_GREEN                0x037FF07BA3
 
           KEY_GREEN                0x037FF07BA3
 
           KEY_YELLOW              0x037FF07BA2
 
           KEY_YELLOW              0x037FF07BA2
 
           KEY_BLUE                0x037FF07BA1
 
           KEY_BLUE                0x037FF07BA1
 
 
           KEY_NUMERIC_STAR        0x037FF07BE2
 
           KEY_NUMERIC_STAR        0x037FF07BE2
 
           KEY_NUMERIC_POUND        0x037FF07BE3
 
           KEY_NUMERIC_POUND        0x037FF07BE3
 
 
           KEY_SUBTITLE            0x037FF07BA5
 
           KEY_SUBTITLE            0x037FF07BA5
 
 
       end codes
 
       end codes
 
 
  end remote
 
  end remote
  
Line 127: Line 108:
 
/home/mythtv/.lircrc
 
/home/mythtv/.lircrc
  
# brand:        PCTV (Hauppauge) USB MCE Remote                                                                           
 
# model no. of remote control: RRS9002-8601FC                                                                               
 
# devices being controlled by this remote: Pinnacle IR Receiver / Blaster                                                   
 
#                                                                                                                           
 
                                                                                                                           
 
begin remote                                                                                                               
 
                                                                                                                           
 
  name  pctv.usb.remote                                                                                                     
 
  bits          13                                                                                                         
 
  flags RC6|CONST_LENGTH
 
  eps            30
 
  aeps          100
 
  
  header       2694   840
+
# lircrc config file for the Microsoft Media Center Edition Remote, model 1039
   one          471  413
+
#
   zero          471  413
+
# @url       $URL$
   pre_data_bits  24
+
# @date      $Date: 2008-03-08 23:30:22 -0500 (Sat, 08 Mar 2008) $
   pre_data      0x1BFF83
+
# @version   $Revision: 16474 $
   gap          105342
+
# @author    $Author: kormoc $
  min_repeat      2
+
#
  #  suppress_repeat 2
+
# This file is intended to complement the lircd.conf.mceusb file included with
  #  uncomment to suppress unwanted repeats
+
# lirc 0.8 and above.
   toggle_bit_mask 0x8000
+
#
   rc6_mask    0x100000000
+
# Save this file in ~/.mythtv/lircrc
 +
#
 +
# You will also need to make a few changes to the MythTV key bindings and jump
 +
# points as follows.
 +
#
 +
# Jump Points:
 +
#
 +
#   TV Recording Playback:      Alt+R
 +
#   Program Guide:      Alt+G
 +
#   Live TV:    Alt+P
 +
#   MythVideo -> The MythVideo default view:    Alt+V
 +
#   Main Menu:  Alt+Home
 +
#
 +
  # Key Bindings:
 +
  #
 +
  #   TV Playback -> CHANNELDOWN:  Down,PgDown
 +
  #  TV Playback -> CHANNELUP:    Up,PgUp
 +
#   TV Playback -> JUMPRWND:    Shift+PgUp
 +
#   TV Playback -> JUMPFFWD:    Shift+PgDown
 +
#
  
      begin codes
+
#
          KEY_POWER                0x13
+
# Program Navigation
 
+
#
          KEY_PAUSE                0x037FF07BE7
+
#
          KEY_RECORD              0x037FF07BE8
+
begin
          KEY_STOP                0x037FF07BE6
+
    prog  = mythtv
          KEY_REWIND              0x037FF07BEA
+
    button = Home
          KEY_PLAY                0x037FF07BE9
+
    config = Alt+Home
          KEY_FORWARD              0x037FF07BEB
+
    repeat = 2
          KEY_FRAMEBACK            0x037FF07BE4
+
end
          KEY_FRAMEFORWARD        0x037FF07BE5
+
begin
 
+
    prog  = mythtv
          KEY_BACK                 0x1BDC
+
    button = RecTV
          KEY_INFO                0x1BF0
+
    config = Alt+R
 
+
    repeat = 2
          KEY_LEFT                 0x1BDF
+
end
          KEY_RIGHT               0x1BDE
+
begin
          KEY_OK                  0x037FF07BDD
+
    prog  = mythtv
          KEY_UP                   0x1BE1
+
    button = KEY_EPG
          KEY_DOWN                 0x1BE0
+
    config = Alt+G
 
+
    repeat = 2
 
+
end
          KEY_VOLUMEUP             0x037FF07BEF
+
begin
          KEY_VOLUMEDOWN          0x037FF07BEE
+
    prog  = mythtv
          KEY_RESSTART            0x1BF2
+
    button = KEY_TV
          KEY_CHANNELDOWN         0x037FF07BEC
+
    config = Alt+P
          KEY_CHANNELUP           0x037FF07BED
+
    repeat = 2
 
+
end
          KEY_MUTE                0x1BF1
+
begin
 
+
    prog  = mythtv
          KEY_SWITCHVIDEOMODE      0x1BB7
+
    button = KEY_VIDEO
          KEY_EPG                  0x1BD9
+
    config = Alt+V
          KEY_TV                  0x1BDA
+
    repeat = 2
          KEY_VIDEO                0x1BDB
+
end
 
+
#
          KEY_1                   0x1BFE
+
# Menu Navigation
          KEY_2                   0x1BFD
+
#
          KEY_3                   0x1BFC
+
begin
          KEY_4                   0x1BFB
+
    prog  = mythtv
          KEY_5                   0x1BFA
+
    button = KEY_BACK
          KEY_6                   0x1BF9
+
    config = Esc
          KEY_7                   0x1BF8
+
    repeat = 2
          KEY_8                   0x1BF7
+
end
          KEY_9                    0x1BF6
+
begin
          KEY_0                    0x1BFF
+
    prog  = mythtv
 
+
    button = KEY_OK
 
+
    config = Space
          KEY_CLEAR                0x037FF07BF5
+
    repeat = 2
          KEY_ENTER                0x037FF07BF4
+
end
 
+
begin
          KEY_RED                  0x037FF07BA4
+
    prog  = mythtv
          KEY_GREEN                0x037FF07BA3
+
    button = More
          KEY_YELLOW              0x037FF07BA2
+
    config = I
          KEY_BLUE                0x037FF07BA1
+
    repeat = 2
 
+
end
          KEY_NUMERIC_STAR        0x037FF07BE2
+
begin
          KEY_NUMERIC_POUND        0x037FF07BE3
+
    prog  = mythtv
 
+
    button = KEY_LEFT
          KEY_SUBTITLE            0x037FF07BA5
+
    config = Left
      end codes
+
    repeat = 2
  end remote
+
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_RIGHT
 +
    config = Right
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_UP
 +
    config = Up
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_DOWN
 +
    config = Down
 +
    repeat = 2
 +
end
 +
# TV Control
 +
#
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_VOLUMEDOWN
 +
    config = F10
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_VOLUMEUP
 +
    config = F11
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_MUTE
 +
    config = F9
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_CHANNELDOWN
 +
    config = PgDown
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_CHANNELUP
 +
    config = PgUp
 +
    repeat = 2
 +
end
 +
#
 +
# Video Navigation
 +
#
 +
begin
 +
  prog  = mythtv
 +
  button = KEY_PLAY
 +
  config = P
 +
    repeat = 2
 +
end
 +
begin
 +
  prog  = mythtv
 +
  button = KEY_PAUSE
 +
  config = P
 +
  repeat = 2
 +
end
 +
begin
 +
  prog  = mythtv
 +
  button = KEY_STOP
 +
  config = Esc
 +
    repeat = 2
 +
end
 +
begin
 +
  prog  = mythtv
 +
  button = KEY_FORWARD
 +
  config = >
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_REWIND
 +
    config = <
 +
    repeat = 2
 +
end
 +
begin
 +
  prog  = mythtv
 +
  button = KEY_FRAMEBACK
 +
  config = Q
 +
  repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_FRAMEFORWARD
 +
    config = Z
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_RECORD
 +
    config = R
 +
    repeat = 2
 +
end
 +
#
 +
#
 +
# Miscellaneous
 +
#
 +
#
 +
# M for Menu
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_INFO
 +
    config = M
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = Hash
 +
    config = M
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_CLEAR
 +
    config = Esc
 +
    repeat = 2
 +
end
 +
#begin
 +
#    prog  = mythtv
 +
#    button = Enter
 +
#    config = Space
 +
#end
 +
#
 +
# Numbers
 +
#
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_0
 +
    config = 0
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_1
 +
    config = 1
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_2
 +
    config = 2
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_3
 +
    config = 3
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_4
 +
    config = 4
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_5
 +
    config = 5
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_6
 +
    config = 6
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_7
 +
    config = 7
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_8
 +
    config = 8
 +
    repeat = 2
 +
end
 +
begin
 +
    prog  = mythtv
 +
    button = KEY_9
 +
    config = 9
 +
    repeat = 2
 +
end
 +
begin
 +
    remote = pctv.usb.remote
 +
    prog = irexec
 +
    button = KEY_BLUE
 +
    config = /home/mythtv/start_myth.sh &
 +
    repeat = 0
 +
    delay = 0
 +
  end
  
  
Line 256: Line 445:
  
 
Crontab
 
Crontab
 +
 +
 +
MAILTO="andrew.allison@gmail.com"
 +
#min hour day month Sun=0 Sat=6
 +
1    3    *  *    *  /home/mythtv/backup-mysql.sh
 +
1    4    1  *    *  /home/mythtv/optimize-myth-db.sh
 +
1    1    16  *    *  /storage2/mirror-canvec.sh
 +
  
* 3 * * *  /home/mythtv/backup-mysql.sh
+
/etc/rc.local
* 4 1 * *  /home/mythtv/optimize-myth-db.sh
 
  
 
 
/etc/rc.local
 
  
 
  #!/bin/sh
 
  #!/bin/sh
#
+
  mount /dev/sdc1 /storage1
# This script will be executed *after* all the other init scripts.
 
# You can put your own initialization stuff in here if you don't
 
# want to do the full Sys V style init stuff.
 
touch /var/lock/subsys/local
 
  mount /dev/sda1 /storage1
 
mount /dev/sdc1 /storage3
 
 
  mount /dev/sdd1 /storage2
 
  mount /dev/sdd1 /storage2
  /sbin/modprobe lirc_dev debug=1 && modprobe lirc_zilog
+
  mount /dev/sdb1 /storage3
  /etc/init.d/mysqld start
+
  /etc/init.d/lirc start
+
modprobe -r ir_rc6_decoder
  /etc/init.d/mythbackend start
+
modprobe -r rc_rc6_mce
  /etc/init.d/mythjobqueue start
+
modprobe -r ir_rc5_decoder
 +
 +
  echo lirc > /sys/class/rc/rc0/protocols
 +
 +
  #command v4l2-ctl -d /dev/video3 --list-ctrl
 +
v4l2-ctl -d /dev/video3 --set-ctrl volume=24
 +
 +
  /bin/mythbackend --daemon  --loglevel info
 +
  /bin/mythjobqueue --daemon --loglevel info
  
  
Line 285: Line 480:
  
 
'''Notes on Fedora 15 Install'''
 
'''Notes on Fedora 15 Install'''
 +
 +
Section "Device"
 +
        Identifier  "Videocard0"
 +
        Driver      "nouveau"
 +
EndSection
 +
 +
Section "Monitor"
 +
      Identifier  "TV"
 +
      HorizSync    30-50
 +
      VertRefresh  60.0
 +
EndSection
 +
 +
Section "Screen"
 +
      Identifier  "Screen0"
 +
      Device      "Videocard0"
 +
      Monitor      "TV"
 +
      DefaultDepth 24
 +
EndSection
 +
 +
Screen Lockup / Shuddering Video
 +
 +
Add to grub boot the system with the noapic kernel parameter.
 +
nouveau.tv_norm=NTSC-M noapic
 +
  
 
Using the default nouveau video driver GeForce 6200 SVideo  
 
Using the default nouveau video driver GeForce 6200 SVideo  
Line 373: Line 592:
 
  systemctl enable mythbackend.service
 
  systemctl enable mythbackend.service
 
  systemctl enable mythjobqueue.service
 
  systemctl enable mythjobqueue.service
 +
 +
ssmtp
 +
 +
Fedora 19 requires the TLS_CA_File option
 +
 +
root=email address
 +
MailHub=smtp.gmail.com:587
 +
AuthUser=email address
 +
AuthPass=password
 +
UseSTARTTLS=YES
 +
UseTLS=YES
 +
FromLineOverride=YES
 +
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
 +
 +
Note about HVR2250 from mailing list
 +
 +
The modules for the HVR-2250 card work properly only when loaded in the
 +
correct stack order. Unfortunately, due to some weird set of conditions,
 +
that does not happen. I had some recordings where the sound is very
 +
'muddy' and muffled. I have not had that since I started forcing the
 +
correct load order: that is, *I* do it, by a script.
 +
One weird bit is that you have to 'unstack' the modules in the correct
 +
(wrong) order.
 +
Here is the chunk of script from my rc.local file which gets called at
 +
the end of bootup.
 +
# These steps are required to install the modules in the correct order
 +
modprobe -r tda18271
 +
modprobe -r s5h1411
 +
modprobe -r saa7164
 +
modprobe -r s5h1411
 +
modprobe -r tda18271
 +
modprobe -r s5h1411
 +
echo "  Ignore FATAL error messages above if next lines are empty"
 +
lsmod | grep tad18271
 +
lsmod | grep s5h1411
 +
lsmod | grep saa7164
 +
echo "  No output means modules were properly unloaded"
 +
modprobe  tda18271
 +
modprobe  s5h1411
 +
modprobe  saa7164
 +
echo "  Modules re-loaded in proper order"
 +
The *ANALOG* module is the saa7164 and must be last.
 +
THEN and only THEN, you can restart myth.
 +
So the script kills any existing myth programs, and restarts the service:
 +
result=`ps -ae | grep mythbackend`
 +
out=`echo $result | awk '{ print $4}'`
 +
if [ "$out" = "mythbackend" ] ; then
 +
      killall mythbackend
 +
      killall mythlogserver
 +
      killall mythcommflag
 +
      killall mythfrontend
 +
      rm -f /run/mythtv/backend.pid
 +
      echo "Killed existing processes"
 +
#    echo "Now ready to start mythbackend, with
 +
/lib/systemd/system/mythbackend.service;"
 +
fi
 +
#/usr/bin/systemctl status mysqld.service
 +
/usr/bin/systemctl start mythbackend.service
 +
/usr/bin/systemctl status mythbackend.service
 +
Geoff
 +
 +
 +
Antenna Rotor Script
 +
I use this rotor controller with my Tivo, and I've created an lircd.conf file for this. I guess I never sent it in. It's attached. irrecord did
 +
afairly good job, but I looked up the specs for the chip and made the values accurate. I also added a command called noop which does nothing, but will
 +
turn it on if it isn't. It acts as a discrete on.
 +
I also wrote a bash script, attached which can take advantage of every function the controller is capable of. for example rotor -c 22 turns to the
 +
direction stored for channel 22. Hopefully it all makes sense. If you have questions or modifications to the script, I'd be very interested in them.
 +
Best of luck with your project. I had a lot of fun with mine. Hope I didn't do too much of it for you already.
 +
Joel Ebel
 +
potuncle-+T8c/Xf75frU2QLv0tUyrdBPR1lH4CV8@xxxxxxxxxxxxxxxx wrote:
 +
I am hoping to use the following IR remote controlled antenna rotor with
 +
MythTV: http://www.starkelectronic.com/cmmatv.htm (first item on the
 +
page). My goal will be for MythTV to, via LIRC, send an IR command to the
 +
rotor controller whenever the channel is changed so that the antenna
 +
points in the direction optimal for that channel.
 +
Expectedly, I do not see an existing lircd.conf for this remote, so I
 +
assume I have to create one myself. Has anybody used LIRC with this rotor
 +
controller? If so, it would be great if I could get a copy of your
 +
lircd.conf so I only have to build an IR receiver for my computer. Also,
 +
if I have to create my own lircd.conf, what are my chances of irrecord
 +
sucessfully creating one for me?
 +
I don't mean to sound like a n00b, but I have not tinkered with LIRC much
 +
in the past.
 +
Thanks,
 +
Jason
 +
pl
 +
# Please make this file available to others
 +
# by sending it to <lirc-yJlpgWQrpSkOIzVOb1FTxg@xxxxxxxxxxxxxxxx>
 +
#
 +
# this config file was automatically generated
 +
# using lirc-0.6.6(serial) on Sat Oct 25 10:20:22 2003
 +
#
 +
# contributed by Joel Ebel
 +
#
 +
# brand: Channel Master
 +
# model no. of remote control: 9537
 +
# devices being controlled by this remote:
 +
# Bundled with Channel Master 9521A Antenna Rotor
 +
# Compatible with many other Channel Master rotators
 +
# 9500, 9510(A), 9512, 9513, 9515(A), Radio Shack 15-1225
 +
#
 +
begin remote
 +
name Channel_Master_9537
 +
bits 32
 +
flags SPACE_ENC|CONST_LENGTH
 +
eps 30
 +
aeps 100
 +
header 9000 4500
 +
one 563 1688
 +
zero 563 563
 +
ptrail 563
 +
repeat 9000 2250
 +
gap 108000
 +
toggle_bit 0
 +
duty_cycle 33
 +
frequency 38000
 +
begin codes
 +
POWER 0x0000000035CA38C7
 +
UP 0x0000000035CA08F7
 +
DOWN 0x0000000035CA8877
 +
1 0x0000000035CA807F
 +
2 0x0000000035CA40BF
 +
3 0x0000000035CAC03F
 +
4 0x0000000035CA20DF
 +
5 0x0000000035CAA05F
 +
6 0x0000000035CA609F
 +
7 0x0000000035CAE01F
 +
8 0x0000000035CA10EF
 +
9 0x0000000035CA906F
 +
0 0x0000000035CA00FF
 +
noop 0x0000000035CA18E7
 +
# This last code is not on the remote, but it can be sent to the
 +
# controller to turn it on. However, if it is on, it will not
 +
# turn it off. I send this before sending other commands to
 +
# ensure the controller is on.
 +
#
 +
end codes
 +
end remote
 +
#!/bin/bash
 +
usage() {
 +
echo "usage: $0 [OPTION]
 +
-c channel Turn to specified channel
 +
-d direction Turn to specified direction
 +
--up Rotate clockwise
 +
--down Rotate counter-clockwise
 +
-s Synchronize antenna
 +
-p channel Program channel to current direction
 +
--power Toggle power
 +
--on Turn controller on
 +
--off Turn controller off
 +
--status Display status on controller
 +
-a [on off] Turn autosync on(reset) or off
 +
-t [on off] Turn 8 minute timeout on or off
 +
--reset Delete all memories and reset controller
 +
"
 +
}
 +
send() {
 +
/usr/local/bin/irsend SEND_ONCE rotor noop $1 noop $2 noop $3 noop $4 noop $5
 +
echo noop $1 noop $2 noop $3 noop $4 noop $5
 +
}
 +
channel() {
 +
CHANNEL=`echo $1 | sed 's/^0*\([0-9]\+\)$/\1/'`
 +
if [ $CHANNEL -ge 1 -a $CHANNEL -le 69 ] 2> /dev/null ; then
 +
echo "Turning to Channel $CHANNEL"
 +
send $(($CHANNEL/10)) $(($CHANNEL%10))
 +
else
 +
echo "ERROR: Channel must be an integer between 1 and 69 inclusive"
 +
fi
 +
}
 +
direction() {
 +
DIRECTION=`echo $1 | sed 's/^0*\([0-9]\+\)$/\1/'`
 +
if [ $DIRECTION -ge 0 -a $DIRECTION -le 360 ] 2> /dev/null ; then
 +
echo "Turning to $DIRECTION Degrees"
 +
send $(($DIRECTION/100)) $((DIRECTION%100/10)) $(($DIRECTION%10))
 +
else
 +
echo "ERROR: Direction must be an integer between 0 and 360 inclusive"
 +
fi
 +
}
 +
up() {
 +
echo "Beginning clockwise rotation, Press enter to stop"
 +
send
 +
/usr/local/bin/irsend SEND_START rotor up
 +
read
 +
/usr/local/bin/irsend SEND_STOP rotor up
 +
}
 +
down() {
 +
echo "Beginning counter-clockwise rotation, Press enter to stop"
 +
send
 +
/usr/local/bin/irsend SEND_START rotor down
 +
read
 +
/usr/local/bin/irsend SEND_STOP rotor down
 +
}
 +
sync() {
 +
echo "Synchronizing Antenna"
 +
send 0 0 down
 +
}
 +
status() {
 +
echo Displaying Status on Controller
 +
send 9 9 up
 +
}
 +
power() {
 +
echo Toggling unit power
 +
/usr/local/bin/irsend SEND_ONCE rotor power
 +
}
 +
on() {
 +
echo Powering unit on
 +
send
 +
}
 +
off() {
 +
echo Powering unit off
 +
/usr/local/bin/irsend SEND_ONCE rotor noop power
 +
}
 +
reset() {
 +
echo "Are you sure you want to delete all memories and reset the controller?
 +
Type Yes if you are sure."
 +
read RESET
 +
if [ "$RESET" = "Yes" ]; then
 +
echo "Resetting controller!"
 +
send 9 1 down
 +
else
 +
echo "NOT resetting controller"
 +
fi
 +
}
 +
autosync() {
 +
case $1 in
 +
on)
 +
echo "Turning on/resetting autosync"
 +
send 9 8 up
 +
;;
 +
off)
 +
echo "Turning off autosync"
 +
send 9 8 down
 +
;;
 +
*) usage;;
 +
esac
 +
}
 +
timeout() {
 +
case $1 in
 +
on)
 +
echo "Turning on 8 minute timeout"
 +
send 9 7 up
 +
;;
 +
off)
 +
echo "Turning off timeout"
 +
send 9 7 down
 +
;;
 +
*) usage;;
 +
esac
 +
}
 +
program() {
 +
CHANNEL=`echo $1 | sed 's/^0*\([0-9]\+\)$/\1/'`
 +
if [ $CHANNEL -ge 1 -a $CHANNEL -le 69 ]; then
 +
echo "Programming Channel $CHANNEL"
 +
send $(($CHANNEL/10)) $(($CHANNEL%10)) up $(($CHANNEL/10)) $(($CHANNEL%10))
 +
else
 +
echo "ERROR: Channel must be an integer between 1 and 69 inclusive"
 +
fi
 +
}
 +
case $# in
 +
1) case $1 in
 +
-s) sync;;
 +
--up) up;;
 +
--down) down;;
 +
--status) status;;
 +
--power) power;;
 +
--on) on;;
 +
--off) off;;
 +
--reset) reset;;
 +
*) usage;;
 +
esac;;
 +
2) case $1 in
 +
-c) channel $2;;
 +
-d) direction $2;;
 +
-p) program $2;;
 +
-a) autosync $2;;
 +
-t) timeout $2;;
 +
*) usage;;
 +
esac;;
 +
*) usage;;
 +
esac

Latest revision as of 09:44, 22 January 2015

Hardware

Asus M4A77TD motherboard
AMD Phenom II X4 965 Processor
nVidia Corporation NV44 [GeForce 6200 TurboCache
Hauppaupe HVR-950
Hauppauge 150
Hauppauge 500 
Pinnacle Systems, Inc. Remote Kit Infrared Transceiver

Standard Files

Because these files are spread out everywhere, I usually get a mismatched set :-(
/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
key_buffer = 16M
table_cache = 128
sort_buffer_size = 2M
myisam_sort_buffer_size = 8M
query_cache_size = 16M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


/etc/lirc/lircd.conf
#
#
# contributed by Andrew Allison
#
# brand:         PCTV (Hauppauge) USB MCE Remote
# model no. of remote control: RRS9002-8601FC
# devices being controlled by this remote: Pinnacle IR Receiver / Blaster
#
begin remote
 name  pctv.usb.remote
 bits           13
 flags RC6|CONST_LENGTH
 eps            30
 aeps          100
 header       2694   840
 one           471   413
 zero          471   413
 pre_data_bits   24
 pre_data       0x1BFF83
 gap          105342
 min_repeat      2 
#  suppress_repeat 2
#  uncomment to suppress unwanted repeats
 toggle_bit_mask 0x8000
 rc6_mask    0x100000000
     begin codes
         KEY_POWER                0x13
         KEY_PAUSE                0x037FF07BE7
         KEY_RECORD               0x037FF07BE8
         KEY_STOP                 0x037FF07BE6
         KEY_REWIND               0x037FF07BEA
         KEY_PLAY                 0x037FF07BE9
         KEY_FORWARD              0x037FF07BEB
         KEY_FRAMEBACK            0x037FF07BE4
         KEY_FRAMEFORWARD         0x037FF07BE5
         KEY_BACK                 0x1BDC
         KEY_INFO                 0x1BF0
         KEY_LEFT                 0x1BDF
         KEY_RIGHT                0x1BDE
         KEY_OK                   0x037FF07BDD
         KEY_UP                   0x1BE1
         KEY_DOWN                 0x1BE0
         KEY_VOLUMEUP             0x037FF07BEF
         KEY_VOLUMEDOWN           0x037FF07BEE
         KEY_RESSTART             0x1BF2
         KEY_CHANNELDOWN          0x037FF07BEC
         KEY_CHANNELUP            0x037FF07BED
         KEY_MUTE                 0x1BF1
         KEY_SWITCHVIDEOMODE      0x1BB7
         KEY_EPG                  0x1BD9
         KEY_TV                   0x1BDA
         KEY_VIDEO                0x1BDB
         KEY_1                    0x1BFE
         KEY_2                    0x1BFD
         KEY_3                    0x1BFC
         KEY_4                    0x1BFB
         KEY_5                    0x1BFA
         KEY_6                    0x1BF9
         KEY_7                    0x1BF8
         KEY_8                    0x1BF7
         KEY_9                    0x1BF6
         KEY_0                    0x1BFF
         KEY_CLEAR                0x037FF07BF5
         KEY_ENTER                0x037FF07BF4
         KEY_RED                  0x037FF07BA4
         KEY_GREEN                0x037FF07BA3
         KEY_YELLOW               0x037FF07BA2
         KEY_BLUE                 0x037FF07BA1
         KEY_NUMERIC_STAR         0x037FF07BE2
         KEY_NUMERIC_POUND        0x037FF07BE3
         KEY_SUBTITLE             0x037FF07BA5
     end codes
end remote


/home/mythtv/.lircrc


# lircrc config file for the Microsoft Media Center Edition Remote, model 1039
#
# @url       $URL$
# @date      $Date: 2008-03-08 23:30:22 -0500 (Sat, 08 Mar 2008) $
# @version   $Revision: 16474 $
# @author    $Author: kormoc $
#
# This file is intended to complement the lircd.conf.mceusb file included with
# lirc 0.8 and above.
#
# Save this file in ~/.mythtv/lircrc
#
# You will also need to make a few changes to the MythTV key bindings and jump
# points as follows.
#
# Jump Points:
#
#   TV Recording Playback:      Alt+R
#   Program Guide:      Alt+G
#   Live TV:    Alt+P
#   MythVideo -> The MythVideo default view:    Alt+V
#   Main Menu:  Alt+Home
#
# Key Bindings:
#
#   TV Playback -> CHANNELDOWN:  Down,PgDown
#   TV Playback -> CHANNELUP:    Up,PgUp
#   TV Playback -> JUMPRWND:     Shift+PgUp
#   TV Playback -> JUMPFFWD:     Shift+PgDown
#
#
# Program Navigation
#
#
begin
   prog   = mythtv
   button = Home
   config = Alt+Home
   repeat = 2
end
begin
    prog   = mythtv
    button = RecTV
    config = Alt+R
   repeat = 2
end
begin
    prog   = mythtv
    button = KEY_EPG
    config = Alt+G
   repeat = 2
end
begin
    prog   = mythtv
    button = KEY_TV
    config = Alt+P
   repeat = 2
end
begin
    prog   = mythtv
    button = KEY_VIDEO
    config = Alt+V
   repeat = 2
end
#
# Menu Navigation
#
begin
   prog   = mythtv
   button = KEY_BACK
   config = Esc
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_OK
   config = Space
   repeat = 2
end
begin
   prog   = mythtv
   button = More
   config = I
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_LEFT
   config = Left
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_RIGHT
   config = Right
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_UP
   config = Up
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_DOWN
   config = Down
   repeat = 2
end
# TV Control
#
begin
   prog   = mythtv
   button = KEY_VOLUMEDOWN
   config = F10
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_VOLUMEUP
   config = F11
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_MUTE
   config = F9
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_CHANNELDOWN
   config = PgDown
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_CHANNELUP
   config = PgUp
   repeat = 2
end
#
# Video Navigation
#
begin
  prog   = mythtv
  button = KEY_PLAY
  config = P
   repeat = 2
end
begin
  prog   = mythtv
  button = KEY_PAUSE
  config = P
  repeat = 2
end
begin
  prog   = mythtv
  button = KEY_STOP
  config = Esc
   repeat = 2
end
begin
  prog   = mythtv
  button = KEY_FORWARD
  config = >
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_REWIND
   config = <
   repeat = 2
end
begin
  prog   = mythtv
  button = KEY_FRAMEBACK
  config = Q
  repeat = 2
end
begin
   prog   = mythtv
   button = KEY_FRAMEFORWARD
   config = Z
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_RECORD
   config = R
   repeat = 2
end
#
#
# Miscellaneous
#
#
# M for Menu
begin
   prog   = mythtv
   button = KEY_INFO
   config = M
   repeat = 2
end
begin
   prog   = mythtv
   button = Hash
   config = M
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_CLEAR
   config = Esc
   repeat = 2
end
#begin
#    prog   = mythtv
#    button = Enter
#    config = Space
#end
#
# Numbers
#
begin
   prog   = mythtv
   button = KEY_0
   config = 0
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_1
   config = 1
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_2
   config = 2
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_3
   config = 3
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_4
   config = 4
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_5
   config = 5
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_6
   config = 6
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_7
   config = 7
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_8
   config = 8
   repeat = 2
end
begin
   prog   = mythtv
   button = KEY_9
   config = 9
   repeat = 2
end
begin
   remote = pctv.usb.remote
   prog = irexec
   button = KEY_BLUE
   config = /home/mythtv/start_myth.sh &
   repeat = 0
   delay = 0
end


My Backup script

date= date -I
nice -n 19 mysqldump -u  --password= --extended-insert --no-create-db --add-drop-table --database mythconverg  > `date -I`_myth_backup_data.sql
nice -n 19 mysqldump -u  --password= --extended-insert --database mythconverg  > `date -I`_myth_complete_backup_data.sql
nice -n 19 gzip `date -I`_myth_backup_data.sql
nice -n 19 gzip `date -I`_myth_complete_backup_data.sql
chmod 777 `date -I`_myth_backup_data.sql.gz
chmod 777 `date -I`_myth_complete_backup_data.sql.gz
mv `date -I`_myth_backup_data.sql.gz /storage1/Database/ 
mv `date -I`_myth_complete_backup_data.sql.gz /storage1/Database/

My Restore

mysql -u root -p < myth_complete_backup_data.sql

Setting Atrpms.repo

[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
enabled=1
gpgcheck=1

Setting up Autologin

/etc/gdm/custom
# GDM configuration storage
[daemon]
TimedLoginEnable=true
TimedLogin=mythtv
TimedLoginDelay=5
[security]
[xdmcp]
[greeter]
[chooser]
[debug]

Crontab


MAILTO="andrew.allison@gmail.com"
#min hour day month Sun=0 Sat=6
1    3    *   *     *  /home/mythtv/backup-mysql.sh
1    4    1   *     *  /home/mythtv/optimize-myth-db.sh
1    1    16  *     *  /storage2/mirror-canvec.sh

/etc/rc.local


#!/bin/sh
mount /dev/sdc1 /storage1
mount /dev/sdd1 /storage2
mount /dev/sdb1 /storage3

modprobe -r ir_rc6_decoder
modprobe -r rc_rc6_mce
modprobe -r ir_rc5_decoder

echo lirc > /sys/class/rc/rc0/protocols

#command v4l2-ctl -d /dev/video3 --list-ctrl
v4l2-ctl -d /dev/video3 --set-ctrl volume=24

/bin/mythbackend --daemon  --loglevel info
/bin/mythjobqueue --daemon --loglevel info


Mythtv->Setup-General

LIRC daemon socket    /var/run/lirc/lircd

Notes on Fedora 15 Install

Section "Device"
       Identifier  "Videocard0"
       Driver      "nouveau"
EndSection
Section "Monitor"
      Identifier   "TV"
      HorizSync    30-50
      VertRefresh  60.0
EndSection
Section "Screen"
      Identifier   "Screen0"
      Device       "Videocard0"
      Monitor      "TV"
      DefaultDepth 24
EndSection

Screen Lockup / Shuddering Video

Add to grub boot the system with the noapic kernel parameter. 
nouveau.tv_norm=NTSC-M noapic


Using the default nouveau video driver GeForce 6200 SVideo

        Add boot option to grub.conf nouveau.tv_norm=NTSC-M 

kernel /vmlinuz-2.6.40.6-0.fc15.x86_64 ro root=UUID=4b78f456-a78b-4f2b-b4b6-392bd5a2b215 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us nouveau.tv_norm=NTSC-M quiet initrd /initramfs-2.6.40.6-0.fc15.x86_64.img

Installing MS Core Fonts

yum install rpm-build cabextract ttmkfdir wget
wget http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec
rpmbuild -ba msttcorefonts-2.0-1.spec
yum install --nogpgcheck /root/rpmbuild/RPMS/noarch/msttcorefonts-2.0-1.noarch.rpm


Useful Links

http://blog.grantgoodyear.org/2010_05_01_archive.html

Notes

Crash in MythNews

2012-01-01 10:26:35.859302 I  MythUIWebBrowser: Loading css from - file:///usr/local/share/mythtv/themes/default/htmls/mythbrowser.css
2012-01-01 10:26:35.866052 I  MythUIWebBrowser: enabling plugins
** (process:7422): DEBUG: NP_Initialize
** (process:7422): DEBUG: NP_Initialize succeeded
** (process:7422): DEBUG: NP_Initialize
** (process:7422): DEBUG: NP_Initialize succeeded
/builddir/build/BUILD/icedtea-web-1.0.6/plugin/icedteanp/IcedTeaNPPlugin.cc:2016: thread 0x2793a60: Error: Invalid plugin function table.
** (<unknown>:7422): DEBUG: NP_Initialize
** (<unknown>:7422): DEBUG: NP_Initialize succeeded
** (<unknown>:7422): DEBUG: NP_Initialize
** (<unknown>:7422): DEBUG: NP_Initialize succeeded
Solution
   Remove all files in .mythtv/MythNews
SQL Profiling script
Please remember to put the password for your admin user at the point marked XXX.
The script waits for the SQL load to get over 75% then starts to dump
a file called sqlload'timestamp' to your Desktop, it stops when the
load falls back below 75%.
If a few users could run it for testing it would be useful, it ONLY
starts to dump when load is > 75%
#!/bin/sh
FILENOW=`date +%a"."%b%d"."%H":"%M":"%S`
COUNT="0"
cd ~/Desktop
LOADOUTPUT="sqlload@""$FILENOW"
touch "$LOADOUTPUT"
SQLLOAD="0"
while [ "$SQLLOAD" -le 75 ] ; do
SQLLOAD=`top -b -n 1 | grep mysqld | awk -F " " '{ print $9 }'`
done;
while [ "$SQLLOAD" -ge 75 ]; do
mysql -uroot -pXXXADDYOURPASSWORDHEREXXX -e"SHOW full processlist;" >>
"$LOADOUTPUT"
NEWNOW=`date +%a"."%b%d"."%H":"%M":"%S`
echo -e "**************\n\n\n$NEWNOW\n\n\n Next Pass" >> "$LOADOUTPUT"
COUNT=`echo "$COUNT + 1" | bc`
echo "Count $COUNT  sqlload $SQLLOAD"
sleep 1
SQLLOAD=`top -b -n 1 | grep mysqld | awk -F " " '{ print $9 }'`
done
echo "Glitch finished at $NEWNOW, end of Run" >> "$LOADOUTPUT"

_______________________________________________

UDEV

KERNEL=="video[0-9]", DRIVERS=="ivtv", ATTRS{subsystem_device}=="0x8801",  SYMLINK+="PVR150-0"
KERNEL=="video[0-9]", DRIVERS=="ivtv", ATTRS{subsystem_device}=="0xe807",  SYMLINK+="PVR150-1"
KERNEL=="video[0-9]", DRIVERS=="ivtv", ATTRS{subsystem_device}=="0xe817",  SYMLINK+="PVR150-2"
DRIVERS=="em28xx", SYMLINK+="HVR950-0"
#KERNEL=="dvb0.frontend0", DRIVERS=="em28xx", SYMLINK+="HVR950-0"
#KERNEL=="video[0-9]", DRIVERS=="cx18", SYMLINK+="HVR1600-1"
#KERNEL=="video[0-9]*", DRIVERS=="cx18", ATTRS{subsystem_device}=="0x8389",  SYMLINK+="HVR1600-1"


Fedora 16 Service Configuration

chkconfig --list
systemctl enable mysqld.service
systemctl enable mythbackend.service
systemctl enable mythjobqueue.service

ssmtp

Fedora 19 requires the TLS_CA_File option
root=email address
MailHub=smtp.gmail.com:587
AuthUser=email address
AuthPass=password
UseSTARTTLS=YES
UseTLS=YES
FromLineOverride=YES
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt

Note about HVR2250 from mailing list

The modules for the HVR-2250 card work properly only when loaded in the 
correct stack order. Unfortunately, due to some weird set of conditions, 
that does not happen. I had some recordings where the sound is very 
'muddy' and muffled. I have not had that since I started forcing the 
correct load order: that is, *I* do it, by a script.
One weird bit is that you have to 'unstack' the modules in the correct 
(wrong) order.
Here is the chunk of script from my rc.local file which gets called at 
the end of bootup. 
# These steps are required to install the modules in the correct order
modprobe -r tda18271
modprobe -r s5h1411
modprobe -r saa7164
modprobe -r s5h1411
modprobe -r tda18271
modprobe -r s5h1411
echo "  Ignore FATAL error messages above if next lines are empty"
lsmod | grep tad18271
lsmod | grep s5h1411
lsmod | grep saa7164
echo "  No output means modules were properly unloaded"
modprobe  tda18271
modprobe  s5h1411
modprobe  saa7164
echo "  Modules re-loaded in proper order"
The *ANALOG* module is the saa7164 and must be last.
THEN and only THEN, you can restart myth.
So the script kills any existing myth programs, and restarts the service:
result=`ps -ae | grep mythbackend`
out=`echo $result | awk '{ print $4}'`
if [ "$out" = "mythbackend" ] ; then
     killall mythbackend
     killall mythlogserver
     killall mythcommflag
     killall mythfrontend
     rm -f /run/mythtv/backend.pid
     echo "Killed existing processes"
#    echo "Now ready to start mythbackend, with 
/lib/systemd/system/mythbackend.service;"
fi
#/usr/bin/systemctl status mysqld.service
/usr/bin/systemctl start mythbackend.service
/usr/bin/systemctl status mythbackend.service
Geoff


Antenna Rotor Script

I use this rotor controller with my Tivo, and I've created an lircd.conf file for this. I guess I never sent it in. It's attached. irrecord did 
afairly good job, but I looked up the specs for the chip and made the values accurate. I also added a command called noop which does nothing, but will
turn it on if it isn't. It acts as a discrete on.
I also wrote a bash script, attached which can take advantage of every function the controller is capable of. for example rotor -c 22 turns to the 
direction stored for channel 22. Hopefully it all makes sense. If you have questions or modifications to the script, I'd be very interested in them.
Best of luck with your project. I had a lot of fun with mine. Hope I didn't do too much of it for you already.
Joel Ebel
potuncle-+T8c/Xf75frU2QLv0tUyrdBPR1lH4CV8@xxxxxxxxxxxxxxxx wrote:
I am hoping to use the following IR remote controlled antenna rotor with
MythTV: http://www.starkelectronic.com/cmmatv.htm (first item on the
page). My goal will be for MythTV to, via LIRC, send an IR command to the
rotor controller whenever the channel is changed so that the antenna
points in the direction optimal for that channel.
Expectedly, I do not see an existing lircd.conf for this remote, so I
assume I have to create one myself. Has anybody used LIRC with this rotor
controller? If so, it would be great if I could get a copy of your
lircd.conf so I only have to build an IR receiver for my computer. Also,
if I have to create my own lircd.conf, what are my chances of irrecord
sucessfully creating one for me?
I don't mean to sound like a n00b, but I have not tinkered with LIRC much
in the past.
Thanks,
Jason
pl
# Please make this file available to others
# by sending it to <lirc-yJlpgWQrpSkOIzVOb1FTxg@xxxxxxxxxxxxxxxx>
#
# this config file was automatically generated
# using lirc-0.6.6(serial) on Sat Oct 25 10:20:22 2003
#
# contributed by Joel Ebel
#
# brand: Channel Master
# model no. of remote control: 9537
# devices being controlled by this remote:
# Bundled with Channel Master 9521A Antenna Rotor
# Compatible with many other Channel Master rotators
# 9500, 9510(A), 9512, 9513, 9515(A), Radio Shack 15-1225
#
begin remote
name Channel_Master_9537
bits 32
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9000 4500
one 563 1688
zero 563 563
ptrail 563
repeat 9000 2250
gap 108000
toggle_bit 0
duty_cycle 33
frequency 38000
begin codes
POWER 0x0000000035CA38C7
UP 0x0000000035CA08F7
DOWN 0x0000000035CA8877
1 0x0000000035CA807F
2 0x0000000035CA40BF
3 0x0000000035CAC03F
4 0x0000000035CA20DF
5 0x0000000035CAA05F
6 0x0000000035CA609F
7 0x0000000035CAE01F
8 0x0000000035CA10EF
9 0x0000000035CA906F
0 0x0000000035CA00FF
noop 0x0000000035CA18E7
# This last code is not on the remote, but it can be sent to the
# controller to turn it on. However, if it is on, it will not
# turn it off. I send this before sending other commands to
# ensure the controller is on.
#
end codes
end remote
#!/bin/bash
usage() {
echo "usage: $0 [OPTION]
-c channel Turn to specified channel
-d direction Turn to specified direction
--up Rotate clockwise
--down Rotate counter-clockwise
-s Synchronize antenna
-p channel Program channel to current direction
--power Toggle power
--on Turn controller on
--off Turn controller off
--status Display status on controller
-a [on off] Turn autosync on(reset) or off
-t [on off] Turn 8 minute timeout on or off
--reset Delete all memories and reset controller
"
}
send() {
/usr/local/bin/irsend SEND_ONCE rotor noop $1 noop $2 noop $3 noop $4 noop $5
echo noop $1 noop $2 noop $3 noop $4 noop $5
}
channel() {
CHANNEL=`echo $1 | sed 's/^0*\([0-9]\+\)$/\1/'`
if [ $CHANNEL -ge 1 -a $CHANNEL -le 69 ] 2> /dev/null ; then
echo "Turning to Channel $CHANNEL"
send $(($CHANNEL/10)) $(($CHANNEL%10))
else
echo "ERROR: Channel must be an integer between 1 and 69 inclusive"
fi
}
direction() {
DIRECTION=`echo $1 | sed 's/^0*\([0-9]\+\)$/\1/'`
if [ $DIRECTION -ge 0 -a $DIRECTION -le 360 ] 2> /dev/null ; then
echo "Turning to $DIRECTION Degrees"
send $(($DIRECTION/100)) $((DIRECTION%100/10)) $(($DIRECTION%10))
else
echo "ERROR: Direction must be an integer between 0 and 360 inclusive"
fi
}
up() {
echo "Beginning clockwise rotation, Press enter to stop"
send
/usr/local/bin/irsend SEND_START rotor up
read
/usr/local/bin/irsend SEND_STOP rotor up
}
down() {
echo "Beginning counter-clockwise rotation, Press enter to stop"
send
/usr/local/bin/irsend SEND_START rotor down
read
/usr/local/bin/irsend SEND_STOP rotor down
}
sync() {
echo "Synchronizing Antenna"
send 0 0 down
}
status() {
echo Displaying Status on Controller
send 9 9 up
}
power() {
echo Toggling unit power
/usr/local/bin/irsend SEND_ONCE rotor power
}
on() {
echo Powering unit on
send
}
off() {
echo Powering unit off
/usr/local/bin/irsend SEND_ONCE rotor noop power
}
reset() {
echo "Are you sure you want to delete all memories and reset the controller?
Type Yes if you are sure."
read RESET
if [ "$RESET" = "Yes" ]; then
echo "Resetting controller!"
send 9 1 down
else
echo "NOT resetting controller"
fi
}
autosync() {
case $1 in
on)
echo "Turning on/resetting autosync"
send 9 8 up
;;
off)
echo "Turning off autosync"
send 9 8 down
;;
*) usage;;
esac
}
timeout() {
case $1 in
on)
echo "Turning on 8 minute timeout"
send 9 7 up
;;
off)
echo "Turning off timeout"
send 9 7 down
;;
*) usage;;
esac
}
program() {
CHANNEL=`echo $1 | sed 's/^0*\([0-9]\+\)$/\1/'`
if [ $CHANNEL -ge 1 -a $CHANNEL -le 69 ]; then
echo "Programming Channel $CHANNEL"
send $(($CHANNEL/10)) $(($CHANNEL%10)) up $(($CHANNEL/10)) $(($CHANNEL%10))
else
echo "ERROR: Channel must be an integer between 1 and 69 inclusive"
fi
}
case $# in
1) case $1 in
-s) sync;;
--up) up;;
--down) down;;
--status) status;;
--power) power;;
--on) on;;
--off) off;;
--reset) reset;;
*) usage;;
esac;;
2) case $1 in
-c) channel $2;;
-d) direction $2;;
-p) program $2;;
-a) autosync $2;;
-t) timeout $2;;
*) usage;;
esac;;
*) usage;;
esac