From aa564b5a886068f2744e2bd5377f0edab623a1bd Mon Sep 17 00:00:00 2001 From: Mika Date: Sun, 17 May 2026 02:07:31 +0000 Subject: [PATCH] Add laser_tracking_cli_tool/src/tracking.h --- laser_tracking_cli_tool/src/tracking.h | 67 ++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 laser_tracking_cli_tool/src/tracking.h diff --git a/laser_tracking_cli_tool/src/tracking.h b/laser_tracking_cli_tool/src/tracking.h new file mode 100644 index 0000000..4489e81 --- /dev/null +++ b/laser_tracking_cli_tool/src/tracking.h @@ -0,0 +1,67 @@ +/* + * tracking.h - Einfache, simulierte Tracking-API + * + * Definiert die Struktur 'tracking_status' und zwei Funktionen: + * - start_tracking(target_satellite, elevation_angle, status_out, debug) + * - get_status(status_out) + * + * Diese Implementierung simuliert ein Laser-Tracking-System für Satelliten und + * steuert KEINE echte Hardware. + */ + +#ifndef TRACKING_H +#define TRACKING_H + +#include +#include + +/* + * Datenstruktur: tracking_status + * Felder (aus der API-Beschreibung): + * - active : bool, ob Tracking aktiv ist + * - last_update : Zeitstempel der letzten Aktualisierung + * - deviation : Abweichung vom Sollwinkel in Grad + */ +typedef struct tracking_status { + bool active; + time_t last_update; + double deviation; +} tracking_status; + +/* + * start_tracking + * + * Startet ein simuliertes Tracking auf den angegebenen Satelliten mit + * gegebener Elevation. Es wird KEINE echte Hardware angesprochen. + * + * Parameter: + * - target_satellite : Name/ID des Satelliten (nicht NULL) + * - elevation_angle : Elevation in Grad (0.0–90.0) + * - status_out : Pointer auf tracking_status, wird gefüllt + * - debug : wenn != 0, werden Debug-Ausgaben erzeugt + * + * Rückgabewert: + * - true bei Erfolg (Simulation) + * - false bei Fehler (z.B. ungültige Parameter) + */ +bool start_tracking(const char *target_satellite, + double elevation_angle, + tracking_status *status_out, + int debug); + +/* + * get_status + * + * Liefert den aktuellen simulierten Tracking-Status. In dieser einfachen + * Demo wird bei jedem Aufruf ein plausibler Status generiert. + * + * Parameter: + * - status_out : Pointer auf tracking_status, wird gefüllt + * + * Rückgabewert: + * - true bei Erfolg + * - false bei Fehler (z.B. NULL-Pointer) + */ +bool get_status(tracking_status *status_out); + +#endif /* TRACKING_H */