Modul fusion_hat.modules.compass
- class fusion_hat.modules.compass.Compass(placement=['x', 'y', 'z'], offset=[0, 0, 0, 0, 0, 0], declination="0°0'W", field_range='8G')[Quellcode]
Basisklasse:
MagnetometerKompassmodul zum Lesen und Berechnen von Kurswinkeln aus Magnetometerdaten.
Diese Klasse erweitert die Magnetometerklasse, um Kompassfunktionen bereitzustellen, die sich leicht in Projekte integrieren lassen, die Kursinformationen benötigen.
- Öffentliche Methoden:
read_raw(): Rohdaten des Magnetfeldes abrufen read(): Verarbeitete Kompassdaten einschließlich Kurswinkel abrufen read_angle(): Nur den Kurswinkel abrufen (mit optionaler Filterung) set_offset(): Den Kompass mit Offset-Werten kalibrieren set_magnetic_declination(): An die lokale magnetische Deklination anpassen clear_calibration(): Alle Kalibrierungsdaten zurücksetzen
- FILTER_SIZE = 30
- read_raw()[Quellcode]
Rohdaten des Magnetometers lesen.
- Rückgabe:
Rohdaten des Magnetfeldes [x, y, z] in mGauss.
- Rückgabetyp:
list
- angle_str_2_number(str)[Quellcode]
Magnetische Deklination vom Zeichenkettenformat in einen Zahlenwert umwandeln.
- Parameter:
str (str) – Magnetische Deklination im Format „DD°MM’E“ oder „DD°MM’W“.
- Rückgabe:
Magnetische Deklination in Grad (positiv für Osten, negativ für Westen).
- Rückgabetyp:
float
- angle_number_2_str(number)[Quellcode]
Magnetische Deklination von einem numerischen Wert in ein Zeichenkettenformat umwandeln.
- Parameter:
number (float) – Magnetische Deklination in Grad (positiv für Osten, negativ für Westen).
- Rückgabe:
Magnetische Deklination im Format „DD°MM’E“ oder „DD°MM’W“.
- Rückgabetyp:
str
- read()[Quellcode]
Verarbeitete Kompassdaten lesen.
- Rückgabe:
Verarbeitete Magnetfelddaten (x, y, z, Winkel), wobei: x, y, z nach Anwendung der Offsets in mGauss sind, der Winkel der Kurswinkel in Grad ist.
- Rückgabetyp:
tuple
- read_angle(filter=False)[Quellcode]
Den aktuellen Kurswinkel lesen.
- Parameter:
filter (bool, optional) – Ob ein gleitender Mittelwertfilter angewendet werden soll. Standard ist False.
- Rückgabe:
Kurswinkel in Grad (0–360).
- Rückgabetyp:
float
- set_offset(offset)[Quellcode]
Kalibrierungs-Offsets für das Magnetometer einstellen.
- Parameter:
offset (list) – Kalibrierungs-Offsets in mGauss. Format: [x_min, x_max, y_min, y_max, z_min, z_max].
- set_magnetic_declination(angle)[Quellcode]
Magnetische Deklination einstellen.
- Parameter:
angle (str or float or int) – Magnetische Deklination. Kann entweder sein: - Zeichenkettenformat: „DD°MM’E“ oder „DD°MM’W“ - Numerisches Format: Grad (positiv für Osten, negativ für Westen)
- clear_calibration()[Quellcode]
Alle Kalibrierungsdaten löschen.
Setzt alle Minimal- und Maximalwerte sowie Offsets auf Null zurück.