Archive:Snapstream Firefly: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Outleradam
No edit summary
>Outleradam
No edit summary
Line 15: Line 15:
*Log into the XBMC computer using your SFTP client.
*Log into the XBMC computer using your SFTP client.
*Replace the contents of /etc/lirc/lircd.conf in it's entirety with the following:
*Replace the contents of /etc/lirc/lircd.conf in it's entirety with the following:
begin remote
  begin remote
name Snapstream Firefly
name Snapstream Firefly
bits 16
bits 16
eps 30
eps 30
aeps 100  
aeps 100  
one 0 0
one 0 0
zero 0 0
zero 0 0
pre_data_bits 8
pre_data_bits 8
pre_data 0x14
pre_data 0x14
post_data_bits 16
post_data_bits 16
post_data 0x0
post_data 0x0
gap 235978
gap 235978
toggle_bit_mask 0x80800000
toggle_bit_mask 0x80800000
begin codes
begin codes
Play 0x7AA5
maximize 0x81AC
Pause 0x7EA9
close 0xD702
Stop 0xFD28
1 0x628D
Fwd 0xFB26
2 0xE30E
Rew 0x79A4
3 0x648F
Left 0x729D
4 0xE510
Right 0xF41F
5 0x6691
Up 0x6F9A
6 0xE712
Down 0xF722
7 0x6893
OK 0x739E
8 0xE914
CH+ 0xE00B
9 0x6A95
CH- 0x618C
0 0xEC17
EXIT 0x75A0
back 0x6B96
MENU 0xF11C
ent 0xED18
OPTION 0x042F
volup 0x5E89
INFO 0x83AE
voldown 0xDD08
Next 0x7FAA
mute 0x5F8A
Prev 0x002B
chup 0xE00B
MAXIMIZE 0x81AC
chdown 0x618C
Firefly 0xD500
firefly 0xD500
Rec 0xFC27
info 0x83AE
VOL+ 0x5E89
option 0x042F
VOL- 0xDD08
up 0x6F9A
MUTE 0x5F8A
down 0xF722
CLOSE 0xD702
left 0x729D
Video 0xDC07
right 0xF41F
Music 0xDB06
ok 0x739E
Photos 0x5A85
menu 0xF11C
TV 0x5883
exit 0x75A0
A 0x6E99
rec 0xFC27
B 0xF01B
play 0x7AA5
C 0x76A1
stop 0xFD28
D 0xF823
rew 0x79A4
0 0xEC17
prev 0x002B
1 0x628D
pause 0x7EA9
2 0xE30E
ffwd 0xFB26
3 0x648F
next 0x7FAA
4 0xE510
music 0xDB06
5 0x6691
photo 0x5A85
6 0xE712
dvd 0xD904
7 0x6893
tv 0x5883
8 0xE914
video 0xDC07
9 0x6A95
help 0x5681
BACK 0x6B96
mouse 0x022D
DVD 0xD904
a 0x6E99
Help 0x5681
b 0xF01B
Mouse 0x022D
c 0x76A1
ENT 0xED18
d 0xF823
end codes
end codes
  end remote  
  end remote  


For more information see [[Lirc_and_Lircmap.xml]]
For more information see [[Lirc_and_Lircmap.xml]]

Revision as of 14:23, 15 November 2009

Template:GoToParent


Setting up the Snapstream Firefly

The Snapstream Firefly is a X10 based remote control which uses RF commands as opposed to IR. This guide assumes that you have installed XBMC_Live or have at least performed all steps outlined in one of the articles listed here Installing_XBMC_for_Linux and here HOW-TO_setup_Lirc_to_talk_to_XBMC. You will also need a SFTP client and a terminal emulator like WinSCP and Putty.

You will need root access for the following commands.

Setting up Lirc

First we will set up Lirc to work with the remote. lircd.conf specifies to Lirc how it should handle the remote device. We need to replace the current file with our Snapstream Firefly file.

  • Log into the XBMC computer using your SFTP client.
  • Replace the contents of /etc/lirc/lircd.conf in it's entirety with the following:
 begin remote
	name Snapstream Firefly
	bits 16
	eps 30
	aeps 100 
	one 0 0
	zero 0 0
	pre_data_bits 8
	pre_data 0x14
	post_data_bits 16
	post_data 0x0
	gap 235978
	toggle_bit_mask 0x80800000
	begin codes
		Play 0x7AA5
		Pause 0x7EA9
		Stop 0xFD28
		Fwd 0xFB26
		Rew 0x79A4
		Left 0x729D
		Right 0xF41F
		Up 0x6F9A
		Down 0xF722
		OK 0x739E
		CH+ 0xE00B
		CH- 0x618C
		EXIT 0x75A0
		MENU 0xF11C
		OPTION 0x042F
		INFO 0x83AE
		Next 0x7FAA
		Prev 0x002B
		MAXIMIZE 0x81AC
		Firefly 0xD500
		Rec 0xFC27
		VOL+ 0x5E89
		VOL- 0xDD08
		MUTE 0x5F8A	
		CLOSE 0xD702
		Video 0xDC07
		Music 0xDB06
		Photos 0x5A85
		TV 0x5883
		A 0x6E99
		B 0xF01B
		C 0x76A1
		D 0xF823
		0 0xEC17
		1 0x628D
		2 0xE30E
		3 0x648F
		4 0xE510
		5 0x6691
		6 0xE712
		7 0x6893
		8 0xE914
		9 0x6A95
		BACK 0x6B96
		DVD 0xD904
		Help 0x5681 
		Mouse 0x022D
		ENT 0xED18
	end codes
end remote 


For more information see Lirc_and_Lircmap.xml

Integrating Firefly into XBMC

You will need to add the following information into the current lirc map for XBMC to interperate the commands given by lirc into productive commands.


  • Using your SFTP client, modify /usr/share/xbmc/system/Lircmap.xml to add the following directly below <lircmap> and above <remote device="mceusb">:
<remote device="Snapstream">
<pause>pause</pause>
<stop>stop</stop>
<forward>forward</forward>
<reverse>rewind</reverse>
<left>left</left>
<right>right</right>
<up>up</up>
<down>down</down>
<select>ok</select>
<pageplus>chup</pageplus>
<pageminus>chdown</pageminus>
<back>exit</back>
<menu>menu</menu>
<title>play</title>
<info>info</info>
<skipplus>next</skipplus>
<skipminus>prev</skipminus>
<display>maximize</display>
<start>firefly</start>
<record>rec</record>
<volumeplus>volup</volumeplus>
<volumeminus>voldown</volumeminus>
<mute>mute</mute>
<power>close</power>
<myvideo>video</myvideo>
<mymusic>music</mymusic>
<mypictures>photos</mypictures>
<mytv>tv</mytv>
<one>1</one>
<two>2</two>
<three>3</three>
<four>4</four>
<five>5</five>
<six>6</six>
<seven>7</seven>
<eight>8</eight>
<nine>9</nine>
<zero>0</zero>
<mytv>a</mytv>
<mymusic>b</mymusic>
<mypictures>c</mypictures>
<myvideo>d</myvideo>
</remote>


S3 resume combo Close button fix

The funny thing about this remote is; the only button which will allow it to resume the computer from S3 is the same button that puts the computer into standby. The same command is issued by the remote every time you press the close button and is retained in memory until issued to any output by lirc. Resuming from standby with the power button puts the computer back in standby or deactivates the remote.

In order to issue the S3 resume command to the computer and restart the remote controller without issuing the command to put the computer back into sleep mode or standby you will need to add the following resume script.

  • Using your SFTP client, create the file /etc/pm/sleep.d/99lirc-resume.sh
  • Modify the contents of /etc/pm/sleep.d/99lirc-resume.sh to contain the following:
#!/bin/sh
 
# This script uses curl.  Install curl by "apt-get install curl" from a terminal.   This script restarts any
# ATI USB compatable device, including the Snapstream Firefly.  It accomplishes this by first restarting the 
# XBMC, then Firefly, then restarting LIRC. It then ports the resident memory command to IRW, waits 1 seccond 
# and terminates the irw process. Finally, it sends a command back to XBMC to restart lirc input services.  
# When finished, it reports to /tmp/script.log.  This script goes in /etc/pm/sleep.d/99lirc-resume.sh  

case "$1" in 
	resume)
		curl "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn&parameter=LIRC.Stop"
		rmmod lirc_atiusb
		modprobe lirc_atiusb
		/etc/init.d/lirc restart 
		irw & sleep 1; killall irw
		curl "http://127.0.0.1:8080/xbmcCmds/xbmcHttp?command=ExecBuiltIn&parameter=LIRC.Start" 
		echo "lirc_atiusb resume script completed" >>/tmp/script.log
	;;
esac

You will now need to make the new file executable.

  • open your terminal, log in and type the following
sudo chmod +x /etc/pm/sleep.d/99lirc-resume.sh

You will now need to install curl to allow the resume script to send commands to the XBMC event server.

sudo apt-get install curl
  • Restart the computer

Your remote will now function properly. For the full feel of a media center device, and quicker load times in XBMC, change Settings-System-Hardware-Shutdown fucntion from Shutdown to Suspend.