2026-08-04 09:15 remote-shack inclusive Spannungs-Modul
This commit is contained in:
parent
4ec2d7c9a9
commit
cd84ea8439
3 changed files with 73 additions and 38 deletions
70
Notizen.txt
70
Notizen.txt
|
|
@ -82,45 +82,41 @@ go mod tidy
|
|||
|
||||
weitermachen:
|
||||
==============================================================================
|
||||
PROJEKT-MERKER: REMOTE-SHACK START AM MORGEN
|
||||
PROJEKT-MERKER: REMOTE-SHACK START AM MORGEN - NEXT LEVEL RIG-CONTROL
|
||||
==============================================================================
|
||||
AKTUELLER STATUS (HEUTE ERREICHT):
|
||||
----------------------------------
|
||||
* Yaesu FT-897 Treiber: Vollständig fehlerfrei implementiert. Die 9-stellige
|
||||
BCD-Arithmetik läuft in beide Richtungen bitgenau synchron (inkl. Breitband
|
||||
wie 90,700 MHz).
|
||||
* Audio-Klicken eliminiert: Durch die Entlastung des gRPC-Monitor-Tickers
|
||||
(Frequenz alle 500ms, S-Meter alle 1000ms) ist das NF-Knacken im
|
||||
Lautsprecher des Transceivers vollständig verschwunden.
|
||||
* Puffer-Sicherheit: Die neue Methode 'clearSerialBuffer()' flusht das
|
||||
Linux-TTY vor jeder Interaktion und verhindert asynchrone Bit-Verschiebungen.
|
||||
* Dynamische Bänder: Die Amateurfunkbänder wurden komplett aus dem Go-Code
|
||||
in die 'client-config.toml' ausgelagert. Die 'internal/config/config.go'
|
||||
liest diese inklusive automatischem Werkseinstellungs-Fallback fehlerfrei ein.
|
||||
|
||||
AKTUELLER STATUS:
|
||||
-----------------
|
||||
* SDR-Rig-Client: Vollständig auf ein modernes SDR-Design umgestellt.
|
||||
Die Frequenzanzeige ist massiv vergrößert (canvas.Text, Größe 36, Monospace)
|
||||
und durch unverschiebbare Tausender-Punkte (014.250.000) in MHz-, kHz-
|
||||
und Hz-Blöcke strukturiert. Die Bandtasten werden dynamisch geladen.
|
||||
|
||||
* Sat-Rotor-Client: Geometrisch entkoppelt im 300x300-Format. Elevation
|
||||
wurde für Erdverbindungen/Troposcatter auf -20° bis 90° erweitert. Der
|
||||
Kreismittelpunkt wurde auf Y=200 angehoben, um Platz nach unten zu
|
||||
schaffen. Ein neuer -15°-Bogen-Button ist integriert. Die originale
|
||||
tokenbasierte gRPC-Schreib-Validierung via TargetPosition ist lückenlos aktiv.
|
||||
|
||||
* Kompilierung: Das build.sh-Skript ist repariert und berücksichtigt
|
||||
CGO_ENABLED=1. Alle Komponenten bauen fehlerfrei direkt in die
|
||||
Zielordner (./app/server/ und ./app/clients/).
|
||||
|
||||
* Architektur-Entscheidung: Wechsel auf ein flexibles Connector-Modell
|
||||
(Abstraktionsschicht analog zu Hamlib). Der gRPC-Server spricht nur noch
|
||||
mit generischen Interfaces. Die Hardware (ProSistel, SPID etc.) wird rein
|
||||
über die TOML-Konfigurationsdateien eingekoppelt, ohne den Core-Code zu verändern.
|
||||
NÄCHSTE SCHRITTE FÜR MORGEN:
|
||||
----------------------------
|
||||
1. Erweiterung der Client-GUI (SDR-Erscheinungsbild maximieren):
|
||||
- Einbau von farbigen Aktivitäts-Indikatoren für die Betriebsarten-Buttons
|
||||
(z. B. der gerade aktive Modus leuchtet in sattem Grün oder Blau,
|
||||
während die inaktiven Buttons im Standard-Design verbleiben).
|
||||
- Integration einer visuellen S-Meter-Balkenanzeige (Fortschrittsbalken/
|
||||
ProgressBar), um die vom Server gelieferten Werte (S0-S9) grafisch
|
||||
darzustellen, anstatt nur als Text.
|
||||
|
||||
NÄCHSTE SCHRITTE:
|
||||
-----------------
|
||||
1. Implementierung des konkreten ProSistel-Seriell-Protokolls im neuen
|
||||
Connector unter internal/driver/.
|
||||
2. Vorbereitung des SPID-Rotor-Connectors für das Gerät des Bekannten.
|
||||
3. Einbindung des ADS1115-I2C-Treibers im Server für die reine Shack-
|
||||
Betriebsspannungs-Telemetrie (Entkoppelt von der Rotor-Grad-Messung).
|
||||
2. Integration neuer CAT-Komfortfunktionen im Treiber & GUI:
|
||||
- VFO A/B Umschaltung (Opcode 0x85) & Split-Betrieb (Opcode 0x02/0x82).
|
||||
- Repeater-Shift (Ablagerichtung Minus/Plus/Simplex für Relais via Opcode 0x09).
|
||||
- CTCSS/DCS Subaudioton-Steuerung für den VHF/UHF-Relaisfunk.
|
||||
|
||||
BEREITZUSTELLENDE DATEIEN FÜR DEN START:
|
||||
----------------------------------------
|
||||
Bitte lade zu Beginn des neuen Chats diese Dateien hoch, um die Code-Basis
|
||||
direkt abzugleichen:
|
||||
1. internal/driver/interfaces.go (Das aktuelle Interface-Gerüst)
|
||||
2. server-config.toml & client-config.toml (Für die neuen Hardware-Felder)
|
||||
3. Technische Infos zum ProSistel-Protokoll (Befehlssatz für Az/El über Seriell)
|
||||
3. Danach: Weitermarsch zum SPID-Rotor-Connector (Protokoll-Klärung).
|
||||
|
||||
BEREITZUSTELLENDE DATEIEN FÜR DEN START MORGEN:
|
||||
----------------------------------------------
|
||||
* internal/driver/yaesu_ft897.go (Der aktuell perfekt flushende Treiber)
|
||||
* server/main.go & client-rig/main.go (Für die UI- und gRPC-Erweiterungen)
|
||||
==============================================================================
|
||||
|
||||
|
|
|
|||
39
build.sh
39
build.sh
|
|
@ -30,3 +30,42 @@ go build -o ./app/clients/client-volt ./cmd/client-volt/main.go
|
|||
find ./app -type f -exec chmod +x {} +
|
||||
|
||||
echo "✅ Alle Binaries erfolgreich in ./app/ erstellt."
|
||||
|
||||
# 3. Die Service-Datei universell generiert (nutzt systemd %h/%u Specifiers)
|
||||
cat << 'EOF' > ./app/spannung.service
|
||||
# ==============================================================================
|
||||
# KURZANLEITUNG ZUR INSTALLATION UND VERWALTUNG
|
||||
# ==============================================================================
|
||||
# 1. Datei kopieren nach: /etc/systemd/system/spannung.service
|
||||
# 2. Systemd neu laden: sudo systemctl daemon-reload
|
||||
# 3. Autostart aktivieren: sudo systemctl enable spannung.service
|
||||
# 4. Dienst starten: sudo systemctl start spannung.service
|
||||
# ==============================================================================
|
||||
|
||||
[Unit]
|
||||
Description=Spannung Control Service
|
||||
After=network-online.target i2c.service
|
||||
Wants=network-online.target
|
||||
StartLimitIntervalSec=0
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStartPre=/bin/bash -c 'for i in {1..10}; do i2cdetect -y 1 | grep -E "^40:" | grep -q -E "\b48\b" && exit 0; echo "warte auf ADS1115..."; sleep 2; done; exit 1'
|
||||
ExecStart=%h/spannung/app/spannung-arm32_7
|
||||
WorkingDirectory=%h/spannung/app
|
||||
User=%u
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
StartLimitIntervalSec=60s
|
||||
StartLimitBurst=3
|
||||
|
||||
StandardOutput=append:%h/spannung/app/spannung.log
|
||||
StandardError=append:%h/spannung/app/spannung.log
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
echo "📝 Service-Datei universell generiert (nutzt systemd %h/%u Specifiers)"
|
||||
echo "📂 Inhalt des fertigen app-Verzeichnisses:"
|
||||
ls -la app
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ ssh -t "$PI_USER@$PI_HOST" "
|
|||
REAL_PATH=\$(pwd)
|
||||
|
||||
# Pfade in Service-Files fixen
|
||||
sed -i \"s|TARGET_HOME_DIR/remote-shack/app/server|\$REAL_PATH|g\" ./*.service
|
||||
#sed -i \"s|TARGET_HOME_DIR/remote-shack/app/server|\$REAL_PATH|g\" ./*.service
|
||||
|
||||
sudo cp ./*.service /etc/systemd/system/
|
||||
sudo systemctl daemon-reload
|
||||
|
|
|
|||
Loading…
Reference in a new issue