Add laser_tracking_cli_tool/src/tracking.h
This commit is contained in:
parent
8adac2f6db
commit
aa564b5a88
1 changed files with 67 additions and 0 deletions
67
laser_tracking_cli_tool/src/tracking.h
Normal file
67
laser_tracking_cli_tool/src/tracking.h
Normal file
|
|
@ -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 <stdbool.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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 */
|
||||||
Loading…
Reference in a new issue