systemd services: midi-bridge, pd-synth-onboard, led-matrix-viz + install script

This commit is contained in:
2026-06-24 01:36:36 -07:00
parent f919af3d8b
commit 242c74236f
3 changed files with 70 additions and 36 deletions
+30 -18
View File
@@ -91,27 +91,46 @@ install:
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "\
rm -rf {{REPO_DIR}} 2>/dev/null; \
git clone {{REPO_URL}} {{REPO_DIR}} && \
echo '[OK] Repo cloned to {{REPO_DIR}}'"
@echo "[OK] Repo installed. Run: just deploy"
echo '[OK] Repo cloned' && \
chmod +x {{REPO_DIR}}/scripts/*.py {{REPO_DIR}}/scripts/*.sh && \
bash {{REPO_DIR}}/install.sh && \
echo '[OK] Services installed'"
@echo "[OK] Run: just deploy"
# Deploy: push local commits + git pull on board
# Deploy + reload services after git pull
deploy:
@git push origin HEAD 2>&1
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "\
cd {{REPO_DIR}} && git pull && echo '[OK] Deployed'"
cd {{REPO_DIR}} && git pull && \
chmod +x scripts/*.py scripts/*.sh 2>/dev/null; \
echo '{{BOARD_PASS}}' | sudo -S systemctl daemon-reload && \
echo '{{BOARD_PASS}}' | sudo -S systemctl restart midi-bridge pd-synth-onboard led-matrix-viz && \
echo '[OK] Deployed + restarted'"
# Start synth (onboard audio)
synth-onboard:
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "\
sudo killall pd 2>/dev/null; sleep 0.5; \
echo '{{BOARD_PASS}}' | sudo -S sed -i '/RX HPH Mode/d' /usr/share/alsa/ucm2/codecs/qcom-lpass/rx-macro/HeadphoneEnableSeq.conf 2>/dev/null; \
nohup {{REPO_DIR}}/scripts/start-synth.sh --onboard > /tmp/synth.log 2>&1 & \
sleep 2; \
pgrep -x pd >/dev/null && echo '[OK] Synth running (onboard)' || echo '[FAIL] Check /tmp/synth.log'"
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "sudo systemctl start pd-synth-onboard && echo '[OK] Synth started'"
# Stop synth
synth-stop:
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "sudo killall pd 2>/dev/null; echo '[OK] Stopped'"
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "sudo systemctl stop pd-synth-onboard && echo '[OK] Stopped'"
# Restart all services
synth-restart:
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "\
sudo systemctl restart midi-bridge pd-synth-onboard led-matrix-viz && \
echo '[OK] All services restarted'"
# Show service status
status:
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "\
echo '=== Pd ==='; pgrep -a pd | grep -v watchdog | grep -v kswapd || echo '(not running)'; \
echo '=== Services ==='; \
for svc in midi-bridge pd-synth-onboard led-matrix-viz; do \
echo -n \" \$svc: \"; systemctl is-active \$svc 2>/dev/null || echo 'inactive'; \
done; \
echo '=== Audio ==='; cat /proc/asound/cards; \
echo '=== Git ==='; cd {{REPO_DIR}} && git log --oneline -1"
# Enable midi-bridge service
enable-midi-bridge:
@@ -165,13 +184,6 @@ diag-led:
deploy-diag:
@scp {{SSH_OPTS}} scripts/diag.sh "{{BOARD_USER}}@{{BOARD_HOST}}:{{SYSTEM_DIR}}/bin/diag.sh"
# Show system status (quick)
status:
@ssh {{SSH_OPTS}} "{{BOARD_USER}}@{{BOARD_HOST}}" "\
cd {{REPO_DIR}} && git log --oneline -1; \
echo '---'; pgrep -a pd 2>/dev/null || echo 'Pd: not running'; \
echo '---'; cat /proc/asound/cards"
# Full deploy + restart synth
cycle: deploy synth-stop synth-onboard