Try tomorrow
This commit is contained in:
@@ -10,7 +10,7 @@ Add addresses to REGISTER_COMMANDS to capture more register ranges.
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import signal
|
import socket
|
||||||
import subprocess
|
import subprocess
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
@@ -94,7 +94,9 @@ def control_display():
|
|||||||
if state == "on":
|
if state == "on":
|
||||||
with _video_lock:
|
with _video_lock:
|
||||||
if _video_proc is not None and _video_proc.poll() is None:
|
if _video_proc is not None and _video_proc.poll() is None:
|
||||||
_video_proc.send_signal(signal.SIGUSR1)
|
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
_sock.sendto(b'switch', ('127.0.0.1', 5001))
|
||||||
|
_sock.close()
|
||||||
return jsonify({"status": "video switched"}), 200
|
return jsonify({"status": "video switched"}), 200
|
||||||
# fallback when video is not running
|
# fallback when video is not running
|
||||||
os.system("echo 0 > /sys/class/graphics/fb0/blank")
|
os.system("echo 0 > /sys/class/graphics/fb0/blank")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import gi
|
import gi
|
||||||
import signal # for signal.SIGUSR1 constant
|
import socket
|
||||||
import struct
|
import struct
|
||||||
|
import threading
|
||||||
import os
|
import os
|
||||||
|
|
||||||
gi.require_version('Gst', '1.0')
|
gi.require_version('Gst', '1.0')
|
||||||
@@ -130,9 +131,15 @@ def play_kiosk():
|
|||||||
manager = KioskManager(pipeline)
|
manager = KioskManager(pipeline)
|
||||||
pipeline.set_property("uri", manager.videos[0])
|
pipeline.set_property("uri", manager.videos[0])
|
||||||
|
|
||||||
# SIGUSR1 → switch video (used by device_server PUT /display {"state":"on"})
|
# UDP trigger → switch video (device_server sends a packet to port 5001)
|
||||||
GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGUSR1,
|
def _udp_listener():
|
||||||
lambda: manager.switch_video() or True)
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
|
sock.bind(('127.0.0.1', 5001))
|
||||||
|
while True:
|
||||||
|
sock.recv(64)
|
||||||
|
GLib.idle_add(manager.switch_video)
|
||||||
|
|
||||||
|
threading.Thread(target=_udp_listener, daemon=True).start()
|
||||||
|
|
||||||
# --- INPUT MONITORING ---
|
# --- INPUT MONITORING ---
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user