Package: qcontrol Version: 0.4.2+svn-r40-3 Severity: normal
Bug 689912 consolidated the upstream ts419p and ts41x configuration scripts, but the resulting script does not contain the lcd_button script from the ts419p example script. I copied the lcd_button script over, and it works fine. (This is a locally built copy of 0.4.2+svn-r40-3 based on the source in unstable, using debhelper 9 from backports) -- System Information: Debian Release: 6.0.7 APT prefers stable APT policy: (500, 'stable') Architecture: armel (armv5tel) Kernel: Linux 2.6.32-5-kirkwood Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages qcontrol depends on: ii libc6 2.11.3-4 Embedded GNU C Library: Shared lib ii liblua5.1-0 5.1.4-5 Simple, extensible, embeddable pro ii udev 164-3 /dev/ and hotplug management daemo qcontrol recommends no packages. qcontrol suggests no packages. -- Configuration Files: /etc/qcontrol/ts41x.lua changed: --[[ Debian configuration file for qcontrol (LUA syntax) Supports the QNAP TS-410, TS-410U, TS-419P and TS-419U. --]] register("ts41x") -- Requires CONFIG_KEYBOARD_GPIO enabled in the kernel and -- the kernel module gpio_keys to be loaded. register("evdev", "/dev/input/by-path/platform-gpio-keys-event", 408, "restart_button", 133, "media_button") function power_button( time ) os.execute("poweroff") end function restart_button( time ) os.execute("reboot") end function media_button( time ) piccmd("usbled", "8hz") end function lcd_button( state, down, up ) -- exactly key 1 and 2 pressed switches backlight off if state == 3 then piccmd("lcd-backlight", "off") else -- any key pressed activates the backlight if down ~= 0 then piccmd("lcd-backlight", "on") end -- pressing key 1 switches off the usbled the media-key enables... if down == 1 then piccmd("usbled", "off") end end end -- If argument is a function then call it, else return it. function evalfn(f) if type(f) == "function" then return f( ) else return f end end -- Select a value based on the state of a GPIO pin. -- -- results == list of result to return for each state -- value=0 => results[1] -- value=1 => results[2] -- value unknown => results[3] -- -- If result[N] is a function it will be called, -- otherwise it is simply returned as is. function gpio_select(number, results) local path=string.format("/sys/class/gpio/gpio%d/value", number) local gpio=io.open(path) if not gpio then logprint("ts41x: "..path.." does not exist, trying to enable") g = io.open("/sys/class/gpio/enable") if not g then logprint("ts41x: unable to open gpio control file") return evalfn(results[3]) end g:write(number) gpio=io.open(path) end if not gpio then logprint("ts41x: unable to open gpio file") return evalfn(results[3]) end local v=gpio:read("*n") if v == 0 then return evalfn(results[1]) elseif v == 1 then return evalfn(results[2]) else return evalfn(results[3]) end end -- MPP45_GPIO, JP1: 0: LCD, 1: serial console gpio_select(45, { function () register("a125", "/dev/ttyS0") end, nil, nil}) fanfail = 0 function fan_error( ) fanfail = fanfail + 1 if fanfail == 3 then logprint("ts41x: fan error") piccmd("statusled", "red2hz") piccmd("buzzer", "long") else if fanfail == 10 then fanfail = 0 end end end function fan_normal( ) piccmd("statusled", "greenon") fanfail = 0 end last_temp_log = nil last_temp_value = 0 function logtemp( temp ) now = os.time() -- Log only every 5 minutes or if the temperature has changed by -- more than 5. if ( ( not last_temp_log ) or ( os.difftime(now, last_temp_log) >= 300 ) or ( math.abs( temp - last_temp_value ) >= 5 ) ) then logprint(string.format("ts41x: temperature %d", temp)) last_temp_log = now last_temp_value = temp end end last_fan_setting = nil function setfan( speed ) if ( ( not last_fan_setting ) or ( last_fan_setting ~= speed ) ) then logprint(string.format("ts41x: setting fan to \"%s\"", speed)) end piccmd("fanspeed", speed) last_fan_setting = speed end function temp( temp ) logtemp(temp) if temp > 80 then setfan("full") elseif temp > 70 then setfan("high") elseif temp > 55 then setfan("medium") elseif temp > 30 then setfan("low") else setfan("silence") end end -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org