163ad4145b
- prometheus-exporter.py: stdlib-only HTTP metrics on :9090/metrics - Exposes: ALSA status, hw_ptr rate, service health, mixer controls - MIDI counters: notes_on, notes_off, errors - test-unit.py: 10-test suite covering full MIDI→Pd→Audio pipeline - test-tone.pd, test-midi-log.pd: minimal debug patches - systemd service for exporter - install.sh/deploy updated to include exporter
31 lines
977 B
Bash
Executable File
31 lines
977 B
Bash
Executable File
#!/bin/bash
|
|
# install-services.sh — Deploy systemd services to board
|
|
set -euo pipefail
|
|
|
|
REPO="/home/arduino/uno-q-audio-synth"
|
|
SERVICES=(midi-bridge pd-synth-onboard led-matrix-viz prometheus-exporter)
|
|
|
|
for svc in "${SERVICES[@]}"; do
|
|
sudo cp "$REPO/system/$svc.service" /etc/systemd/system/
|
|
done
|
|
|
|
# Fix UCM bug (must survive OS updates)
|
|
FILE=/usr/share/alsa/ucm2/codecs/qcom-lpass/rx-macro/HeadphoneEnableSeq.conf
|
|
if grep -q "RX HPH Mode" "$FILE" 2>/dev/null; then
|
|
sudo sed -i '/RX HPH Mode/d' "$FILE"
|
|
echo "[OK] UCM HeadphoneEnableSeq patched"
|
|
fi
|
|
|
|
sudo systemctl daemon-reload
|
|
|
|
# Stop/mask old conflicting services
|
|
sudo systemctl stop pd-synth pd-synth-auto pd-synth-i2s 2>/dev/null || true
|
|
sudo systemctl disable pd-synth pd-synth-auto pd-synth-i2s 2>/dev/null || true
|
|
sudo systemctl mask pd-synth pd-synth-auto pd-synth-i2s 2>/dev/null || true
|
|
|
|
for svc in "${SERVICES[@]}"; do
|
|
sudo systemctl enable "$svc"
|
|
done
|
|
|
|
echo "[OK] Services installed and enabled"
|