From 4ac31808ec814f95da0e416570120778129457a3 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Mon, 19 Nov 2012 17:33:57 -0600
Subject: system-templates: including the python program i used to generate the
 conf files for all 16 ids.  This file is not used by part of LinHES,  just
 including it in this package in case it needs to be referenced again.

---
 abs/core/system-templates/firefly_gen.py | 212 +++++++++++++++++++++++++++++++
 1 file changed, 212 insertions(+)
 create mode 100644 abs/core/system-templates/firefly_gen.py

diff --git a/abs/core/system-templates/firefly_gen.py b/abs/core/system-templates/firefly_gen.py
new file mode 100644
index 0000000..1bb0070
--- /dev/null
+++ b/abs/core/system-templates/firefly_gen.py
@@ -0,0 +1,212 @@
+#!/bin/python2
+header='''
+begin remote
+ name Snapstream_Firefly
+ bits 40
+ eps 30
+ aeps 100
+ one 0 0
+ zero 0 0
+ gap 219964
+ toggle_bit 0
+ begin codes
+'''
+middle=[
+    'MAXI   0x0000001481AC0000',
+    'MAXI   0x00000014012C0000',
+    'CLOSE  0x00000014D7020000',
+    'CLOSE  0x0000001457820000',
+    '1      0x00000014628D0000',
+    '1      0x00000014E20D0000',
+    '2 0x00000014E30E0000',
+    '2 0x00000014638E0000',
+    '3 0x00000014648F0000',
+    '3 0x00000014E40F0000',
+    '4 0x00000014E5100000',
+    '4 0x0000001465900000',
+    '5 0x0000001466910000',
+    '5 0x00000014E6110000',
+    '6 0x00000014E7120000',
+    '6 0x0000001467920000',
+    '7 0x0000001468930000',
+    '7 0x00000014E8130000',
+    '8 0x00000014E9140000',
+    '8 0x0000001469940000',
+    '9 0x000000146A950000',
+    '9 0x00000014EA150000',
+    '0 0x00000014EC170000',
+    '0 0x000000146C970000',
+    'BACK 0x000000146B960000',
+    'BACK 0x00000014EB160000',
+    'ENT 0x00000014ED180000',
+    'ENT 0x000000146D980000',
+    'VOL+ 0x000000145E890000',
+    'VOL+ 0x00000014DE090000',
+    'VOL- 0x000000145D880000',
+    'VOL- 0x00000014DD080000',
+    'MUTE 0x000000145F8A0000',
+    'MUTE 0x00000014DF0A0000',
+    'FIREFLY 0x0000001455800000',
+    'FIREFLY 0x00000014D5000000',
+    'CH+ 0x00000014608B0000',
+    'CH+ 0x00000014E00B0000',
+    'CH- 0x00000014618C0000',
+    'CH- 0x00000014E10C0000',
+    'INFO 0x0000001483AE0000',
+    'INFO 0x00000014032E0000',
+    'OPTION 0x0000001484AF0000',
+    'OPTION 0x00000014042F0000',
+    'UP 0x000000146F9A0000',
+    'UP 0x00000014EF1A0000',
+    'LEFT 0x00000014729D0000',
+    'LEFT 0x00000014F21D0000',
+    'DOWN 0x0000001477A20000',
+    'DOWN 0x00000014F7220000',
+    'RIGHT 0x00000014749F0000',
+    'RIGHT 0x00000014F41F0000',
+    'OK 0x00000014739E0000',
+    'OK 0x00000014F31E0000',
+    'MENU 0x00000014719C0000',
+    'MENU 0x00000014F11C0000',
+    'EXIT 0x0000001475A00000',
+    'EXIT 0x00000014F5200000',
+    'REC 0x00000014FC270000',
+    'REC 0x000000147CA70000',
+    'PLAY 0x00000014FA250000',
+    'PLAY 0x000000147AA50000',
+    'STOP 0x00000014FD280000',
+    'STOP 0x000000147DA80000',
+    'REW 0x00000014F9240000',
+    'REW 0x0000001479A40000',
+    'FWD 0x00000014FB260000',
+    'FWD 0x000000147BA60000',
+    'PREV 0x00000014002B0000',
+    'PREV 0x0000001480AB0000',
+    'PAUSE 0x00000014FE290000',
+    'PAUSE 0x000000147EA90000',
+    'NEXT 0x00000014FF2A0000',
+    'NEXT 0x000000147FAA0000',
+    'MUSIC 0x00000014DB060000',
+    'MUSIC 0x000000145B860000',
+    'PHOTOS 0x00000014DA050000',
+    'PHOTOS 0x000000145A850000',
+    'DVD 0x00000014D9040000',
+    'DVD 0x0000001459840000',
+    'TV 0x00000014D8030000',
+    'TV 0x0000001458830000',
+    'VIDEO 0x00000014DC070000',
+    'VIDEO 0x000000145C870000',
+    'HELP 0x00000014D6010000',
+    'HELP 0x0000001456810000',
+    'MOUSE 0x00000014022D0000',
+    'MOUSE 0x0000001482AD0000',
+    'A 0x00000014EE190000',
+    'A 0x000000146E990000',
+    'B 0x00000014F01B0000',
+    'B 0x00000014709B0000',
+    'C 0x00000014F6210000',
+    'C 0x0000001476A10000',
+    'D 0x00000014F8230000',
+    'D 0x0000001478A30000'
+]
+footer='''
+ end codes
+
+end remote
+'''
+
+modules_conf='''
+#placed here by mv_ir.py
+blacklist ati_remote
+install ati_remote /bin/false
+
+alias char-major-61 lirc_atiusb
+options lirc_atiusb unique=1 mask=%s
+'''
+
+mod_mask=[(1, "0x0001") ,
+          (2,"0x0002"),
+          (3,"0x0004"),
+          (4,"0x0008"),
+          (5,"0x0010"),
+          (6,"0x0020"),
+          (7,"0x0040"),
+          (8,"0x0080"),
+          (9,"0x0100"),
+          (10,"0x0200"),
+          (11,"0x0400"),
+          (12,"0x0800"),
+          (13,"0x1000"),
+          (14,"0x2000"),
+          (15,"0x4000"),
+          (16,"0x8000") ]
+
+
+
+
+
+
+def hex_lookup(code):
+
+    hcode=str(hex(code)).replace("0x","").upper()
+    #print code, hcode
+    hcode = hcode[-1]
+    return hcode
+
+
+
+
+
+
+
+f = open('/tmp/lircd.conf.ff1', 'w')
+f.write("#Snapstream Firefly Default Channel 1")
+f.write(header)
+for i in middle:
+    f.write("    "+ i )
+    f.write("\n")
+f.write(footer)
+
+
+loop=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
+for mask in loop:
+    filename="/tmp/lircd.conf.ff%s" %(mask+1)
+    f = open(filename, 'w')
+    f.write("#Snapstream Firefly Channel %s" %(mask+1))
+    f.write(header)
+    for i in middle:
+
+        rkey,code=i.split()
+        #print code,rkey
+        #newkey="%s_chan%s" %(rkey,mask)
+        newkey=rkey
+        fourth_code = int(code[-4],16)
+        eight_code =  int(code[-8],16)
+
+        new_forth = fourth_code + mask
+        new_eigth = eight_code + mask
+
+        new_code=list(code)
+
+        new_code[-4] = (hex_lookup(new_forth))
+        new_code[-8] = (hex_lookup(new_eigth))
+
+        f.write("    " + newkey +"\t\t" +  ''.join(new_code))
+        f.write("\n")
+        #print fourth_code
+        #print new_forth
+
+    f.write(footer)
+    f.close()
+
+
+#write out modules.conf
+for i in mod_mask:
+    filename="/tmp/ir.conf.ff%s" %(i[0])
+    f = open(filename, 'w')
+    f.write("#Snapstream Firefly Channel %s" %(i[0]))
+    f.write(modules_conf %i[1])
+    f.close()
+
+
+
-- 
cgit v0.12

