40#include "FGAccelerometer.h"
41#include "models/FGAccelerations.h"
42#include "models/FGMassBalance.h"
43#include "models/FGFCS.h"
53FGAccelerometer::FGAccelerometer(FGFCS* fcs, Element* element)
54 : FGSensor(fcs, element),
55 FGSensorOrientation(element)
57 Propagate = fcs->GetExec()->GetPropagate();
58 Accelerations = fcs->GetExec()->GetAccelerations();
59 MassBalance = fcs->GetExec()->GetMassBalance();
61 Element* location_element = element->FindElement(
"location");
63 vLocation = location_element->FindElementTripletConvertTo(
"IN");
65 XMLLogException err(element);
66 err <<
"No location given for accelerometer.\n";
70 vRadius = MassBalance->StructuralToBody(vLocation);
77FGAccelerometer::~FGAccelerometer()
84bool FGAccelerometer::Run(
void )
88 vRadius = MassBalance->StructuralToBody(vLocation);
91 vAccel = (Accelerations->GetBodyAccel()
92 + Accelerations->GetPQRidot() * vRadius
93 + Propagate->GetPQRi() * (Propagate->GetPQRi() * vRadius));
100 ProcessSensorSignal();
126void FGAccelerometer::Debug(
int from)
128 string ax[4] = {
"none",
"X",
"Y",
"Z"};
130 if (debug_lvl <= 0)
return;
134 FGLogging log(LogLevel::DEBUG);
135 log <<
" Axis: " << ax[axis] <<
"\n";
138 if (debug_lvl & 2 ) {
139 FGLogging log(LogLevel::DEBUG);
140 if (from == 0) log <<
"Instantiated: FGAccelerometer\n";
141 if (from == 1) log <<
"Destroyed: FGAccelerometer\n";
143 if (debug_lvl & 4 ) {
145 if (debug_lvl & 8 ) {
147 if (debug_lvl & 16) {
149 if (debug_lvl & 64) {
Main namespace for the JSBSim Flight Dynamics Model.