Da ich meine Recording LED wieder zum Leben erwecken wollte und blinkd veraltet zu sein scheint hab ich das ganze schnell mit einem Skipt nachgebaut.
Spoiler anzeigen
Code
#!/usr/bin/env python
import fcntl
import os
import time
import thread
PIPE_NAME = '/dev/blink'
KDSETLED = 0x4B32
SCR_LED = 0x01
NUM_LED = 0x02
CAP_LED = 0x04
blink = 0
def read_pipe():
global blink
pipe = open(PIPE_NAME, 'r')
while True:
b = pipe.read(1)
if b == '1':
blink += 1
elif b == '0':
blink -= 1
elif b == 'c':
blink = 0
time.sleep(1)
console = os.open('/dev/console', os.O_NOCTTY)
if not os.path.exists(PIPE_NAME):
os.mkfifo(PIPE_NAME)
os.chmod(PIPE_NAME, 0666)
thread.start_new_thread(read_pipe, ())
try:
while True:
if blink > 0:
fcntl.ioctl(console, KDSETLED, CAP_LED)
time.sleep(0.5)
fcntl.ioctl(console, KDSETLED, 0)
time.sleep(0.9)
else:
fcntl.ioctl(console, KDSETLED, 0)
time.sleep(1)
finally:
if os.path.exists(PIPE_NAME):
os.remove(PIPE_NAME)
Alles anzeigen
Dieses starte ich als Service beim Systemstart. Über '/dev/blink' kann man dann die LED aktivieren und wieder aussschalten.
Die Verbindung zum VDR geschieht über recording hooks:
Beim Starten einer Aufnahme wird
ausgeführt. Und am Ende
.