diff options
author | James Meyer <james.meyer@operamail.com> | 2009-04-01 03:07:43 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2009-04-01 03:07:43 (GMT) |
commit | 2e3d0d812bc9459adea4b0dbf1b038dbd1e79dc0 (patch) | |
tree | 23353a165922bfbbd8fd334ef10ead163a22c376 /abs/core-testing/LinHES-config/ir_config.sh | |
parent | 8e7344c420b147242aa3a0d3a902c9d13046b0d9 (diff) | |
download | linhes_pkgbuild-2e3d0d812bc9459adea4b0dbf1b038dbd1e79dc0.zip linhes_pkgbuild-2e3d0d812bc9459adea4b0dbf1b038dbd1e79dc0.tar.gz linhes_pkgbuild-2e3d0d812bc9459adea4b0dbf1b038dbd1e79dc0.tar.bz2 |
LinHES-config: reworked lirc configuration to make it easier to use.
currently hauppauge is broken.
Diffstat (limited to 'abs/core-testing/LinHES-config/ir_config.sh')
-rw-r--r-- | abs/core-testing/LinHES-config/ir_config.sh | 193 |
1 files changed, 193 insertions, 0 deletions
diff --git a/abs/core-testing/LinHES-config/ir_config.sh b/abs/core-testing/LinHES-config/ir_config.sh new file mode 100644 index 0000000..670f9fa --- /dev/null +++ b/abs/core-testing/LinHES-config/ir_config.sh @@ -0,0 +1,193 @@ +function include_lirc () { + config_file=$1 + include_file=$2 + grep -q ${include_file} ${config_file} + if [ $? = 0 ] + then + echo ${include_file} already present + else + echo "include \"${include_file}\"" >> $config_file + fi + +} + + + +function setup_ir_remote { + case $Remotetype in + no_remote) echo "No remote selected" + daemon_remove="lircd $daemon_remove" + ;; + + tinker) echo "Remote in tinker mode" + ;; + + *) echo "Start of ir_remote setup" + #make backup copy + mv ${BASE}/etc/lircd.conf ${BASE}/etc/lircd.conf.`date +%Y-%m-%d-%H-%M` + mv ${BASE}/etc/lircrc ${BASE}/etc/lircrc.`date +%Y-%m-%d-%H-%M` + cd $TEMPLATES/remotes/$Remotetype + for i in lircd* + do + include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/remotes/$Remotetype/$i + done + + for i in lircrc* + do + include_lirc ${BASE}/etc/lircrc $TEMPLATES/remotes/$Remotetype/$i + done + + chmod 755 /etc/lircrc + daemon_add="lircd $daemon_add" + #standard location for mythtv lircrc + if [ ! -e /home/mythtv/.mythtv/lircrc ] + then + if [ ! -d /home/mythtv/.mythtv ] + then + mkdir /home/mythtv/.mythtv + chown mythtv:mythtv /home/mythtv/.mythtv + fi + ln -s /etc/lircrc /home/mythtv/.mythtv/lircrc 2> /dev/null + fi + #standard location for lircrc + if [ ! -e /home/mythtv/.lircrc ] + then + ln -s /etc/lircrc /home/mythtv/.lircrc 2> /dev/null + fi + echo "Sending hup to lircd" + sv hup lircd + ;; + esac + +} +function setup_ir_receiver () { + echo "setup_ir_receiver" + case $ReceiverType in + Serial) echo "setup serial lirc" + sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage + echo "lirc_serial #lirc" >> ${BASE}/etc/modules.mythvantage + load-modules-mythvantage.sh + ;; + Usb-imon) echo "setup receiver-usb-imon" + sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage + echo "lirc_imon #lirc" >> ${BASE}/etc/modules.mythvantage + load-modules-mythvantage.sh + ;; + Hauppauge) echo "setup hauppauge reciever (lirc_i2c)" + sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage + echo "lirc_i2c #lirc" >> ${BASE}/etc/modules.mythvantage + cp_and_log $TEMPLATES/modules/lirc_i2c.conf ${BASE}/etc/modprobe.d/lirc_i2c.conf + rmmod lirc_i2c 2>/dev/null + load-modules-mythvantage.sh + ;; + *) sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage + ;; + esac + + +} + +function setup_lcd () { + case x$LCDtype in + xtinker) echo "do nothing" + ;; + xno_lcd) echo "disabling lcd" + sv down lcdd + load-modules-mythvantage.sh UNLOAD LCD + sed -i -e '/.*#LCD/d' ${BASE}/etc/modules.mythvantage + daemon_remove="lcdd $daemon_remove" + ;; + x) echo "empty lcd" ;; + + *) echo "setup lcd" + if [ -f $TEMPLATES/LCD/$LCDtype/modules ] + then + sed -i -e '/.*#LCD/d' ${BASE}/etc/modules.mythvantage + cat $TEMPLATES/LCD/$LCDtype/modules >> ${BASE}/etc/modules.mythvantage + #should also modprobe + fi + + + if [ -f $TEMPLATES/LCD/$LCDtype/LCDd.conf ] + then + cp_and_log $TEMPLATES/LCD/$LCDtype/LCDd.conf /etc + # install="lcdproc $install" + daemon_add="lcdd $daemon_add" + load-modules-mythvantage.sh + RESTART_FE="true" + RESTART_LCD="true" + fi + #check if lirc capable,if so then call setupremote + #if not in tinker mode check for remote + if [ ! x$Remotetype = xtinker ] + then + if [ -f $TEMPLATES/LCD/$LCDtype/lircrc ] + then + cd $TEMPLATES/LCD/$LCDtype + for i in lircd* + do + include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/LCD/$LCDtype/$i + done + + for i in lircrc* + do + include_lirc ${BASE}/etc/lircrc $TEMPLATES/LCD/$LCDtype/$i + done + cd - + fi + fi + ;; + esac +} + +function setup_blaster_proto () { + for i in `seq $Hostnumblaster` + do + TEMP=HostTransmitproto_$i + eval proto=\$${TEMP} + if [ -f $TEMPLATES/transmit/${proto}/lircd.conf ] + then + include_lirc ${BASE}/etc/lircd.conf $TEMPLATES/transmit/${proto}/lircd.conf + fi + done + #--------------------------------REVISIT THIS------------------------ + #sed -e "s/^REMOTE_NAME=.*$/REMOTE_NAME=${Blastertype} /" $TEMPLATES/change_chan.sh > #${BASE}/usr/bin/change_chan.sh + #chmod 755 ${BASE}/usr/bin/change_chan.sh + #channel change script change +} + +function setup_blaster_transmiter () { + echo "setup_blaster_transmiter" + #if it's Reciever type, then these modules have already been loaded. + if [ ! x$HostBlasterType = xReceiver ] + then + case $HostBlasterType in + Serial) echo "setup serial lirc blaster" + sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage + echo "lirc_serial #blaster" >> ${BASE}/etc/modules.mythvantage + load-modules-mythvantage.sh + ;; + Hauppauge) echo "setup hauppauge blaster (lirc_i2c)" + sed -i -e '/.*#blaster/d' ${BASE}/etc/modules.mythvantage + echo "lirc_i2c #blaster" >> ${BASE}/etc/modules.mythvantage + cp_and_log $TEMPLATES/modules/lirc_i2c.conf ${BASE}/etc/modprobe.d/lirc_i2c.conf + rmmod lirc_i2c 2>/dev/null + load-modules-mythvantage.sh + ;; + *) sed -i -e '/.*#lirc/d' ${BASE}/etc/modules.mythvantage + ;; + esac + fi + +} + +function setupir () { + if [ ! x$Remotetype = xtinker ] + then + setup_ir_remote + setup_ir_receiver + setup_blaster_proto + setup_blaster_transmiter + fi + setup_lcd +}
\ No newline at end of file |