Add lz4_path_on_remarkable setting (solves #1)

This commit is contained in:
Emanuele 2020-05-03 22:43:11 +01:00
parent 462b5757db
commit 5e456edc1f
3 changed files with 8 additions and 4 deletions

View file

@ -32,6 +32,7 @@ The supported configuration settings are:
"pen_size": 10, // set to 0 to disable
"pen_color": "red",
"fetch_frame_delay": 0.03 // sleep 0.03s on remarkable before fetching new frame (default is no delay)
"lz4_path_on_remarkable": "/usr/opt/lz4" // default: $HOME/lz4
}
```

View file

@ -130,7 +130,7 @@ class rMViewApp(QApplication):
def connected(self, ssh):
self.ssh = ssh
self.viewer.setWindowTitle("rMview - " + self.config.get('ssh').get('address'))
self.fbworker = FrameBufferWorker(ssh, delay=self.config.get('fetch_frame_delay'))
self.fbworker = FrameBufferWorker(ssh, delay=self.config.get('fetch_frame_delay'), lz4_path=self.config.get('lz4_path_on_remarkable'))
self.fbworker.signals.onNewFrame.connect(lambda image: self.viewer.setImage(image))
self.fbworker.signals.onFatalError.connect(self.frameError)
self.threadpool.start(self.fbworker)

View file

@ -28,11 +28,14 @@ class FrameBufferWorker(QRunnable):
_stop = False
def __init__(self, ssh, delay=None):
def __init__(self, ssh, delay=None, lz4_path=None):
super(FrameBufferWorker, self).__init__()
self._read_loop = """\
while dd if=/dev/fb0 count=1 bs={bytes} 2>/dev/null; do {delay}; done | $HOME/lz4
""".format(bytes=TOTAL_BYTES, delay="sleep "+str(delay) if delay else "true")
while dd if=/dev/fb0 count=1 bs={bytes} 2>/dev/null; do {delay}; done | {lz4_path}\
""".format(bytes=TOTAL_BYTES,
delay="sleep "+str(delay) if delay else "true",
lz4_path=lz4_path or "$HOME/lz4")
print(self._read_loop)
self.ssh = ssh
self.signals = FBWSignals()