Skip to content
Snippets Groups Projects
Commit 67e3adb4 authored by Maximilian Leske's avatar Maximilian Leske
Browse files

Anpassen der ProcMeas.cpp an den Softwarestand für SOAPP 2.0

parent 3760057e
No related branches found
No related tags found
No related merge requests found
...@@ -7,10 +7,28 @@ ...@@ -7,10 +7,28 @@
// Lizenz: CC-BY-SA (siehe Wikipedia: Creative Commons) // Lizenz: CC-BY-SA (siehe Wikipedia: Creative Commons)
// //
//###########################################################################
// Anpassungschronik
// Stand: 12.02.2024
//Nachrüstung vom 04.10.2023 -> Einfügen der "angepassten" Berechnungnen der Eulerwinkel
//###########################################################################
#include "ProcMeas.h" #include "ProcMeas.h"
#include "arduinoDefs.h" #include "arduinoDefs.h"
//#########################################################################
// Nachrüstung/ Erweiterung der Eulerfunktionen Stand: 04.10.2023 #
//Software Switch zur auswahl der Eulerwinkel berechnung
//Ist dieses Define nicht auskommentiert, so werden die "neueren" Eulerberechnungnen durchgeführt.
//#define __NewEuler__
// Ende Nachrüstung/ Erweiterung der Eulerfunktionen #
//#########################################################################
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Konstruktoren und Initialisierungen // Konstruktoren und Initialisierungen
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
...@@ -51,6 +69,13 @@ void ProcMeas::run() ...@@ -51,6 +69,13 @@ void ProcMeas::run()
if(pMeas->available(1, 1)) if(pMeas->available(1, 1))
{ {
pMeas->getValues(1, 1, &gravAngles); pMeas->getValues(1, 1, &gravAngles);
//#########################################################################
// Nachrüstung/ Erweiterung der Eulerfunktionen Stand: 04.10.2023 #
pMeas->getValues(3, 1, &magValues);
// Ende Nachrüstung/ Erweiterung der Eulerfunktionen #
//#########################################################################
gravSigns = pMeas->getSigns(1, 1); gravSigns = pMeas->getSigns(1, 1);
pmState = pmCalc; pmState = pmCalc;
} }
...@@ -60,9 +85,25 @@ void ProcMeas::run() ...@@ -60,9 +85,25 @@ void ProcMeas::run()
#ifdef ProcMeasDebug #ifdef ProcMeasDebug
statistics.pmCalcCnt++; statistics.pmCalcCnt++;
#endif #endif
#ifndef __NewEuler__
posture.pitch = euler.getPitchFromGravity(gravAngles.x, gravAngles.y, gravAngles.z) * smnRAD_TO_DEG; posture.pitch = euler.getPitchFromGravity(gravAngles.x, gravAngles.y, gravAngles.z) * smnRAD_TO_DEG;
posture.roll = euler.getRollFromGravity(gravAngles.y, gravAngles.z) * smnRAD_TO_DEG; posture.roll = euler.getRollFromGravity(gravAngles.y, gravAngles.z) * smnRAD_TO_DEG;
posture.yaw = 0.0; #endif
#ifdef __NewEuler__
//#########################################################################
// Nachrüstung/ Erweiterung der Eulerfunktionen Stand: 04.10.2023 #
posture.pitch = euler.getNewPitchFromGravity(gravAngles.x, gravAngles.y, gravAngles.z) * smnRAD_TO_DEG;
posture.roll = euler.getNewRollFromGravity(gravAngles.x, gravAngles.y, gravAngles.z) *smnRAD_TO_DEG;
posture.yaw = euler.getNewYawFromMagnetAndGravity(magValues.x, magValues.y, magValues.z, gravAngles.x, gravAngles.y, gravAngles.z) * smnRAD_TO_DEG;
// Ende Nachrüstung/ Erweiterung der Eulerfunktionen #
//#########################################################################
#endif
pMeas->sync(1, 1); pMeas->sync(1, 1);
gravAnglesAvail = true; gravAnglesAvail = true;
pmState = pmWait; pmState = pmWait;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment