new structs for pointing parameters #348
@ -48,20 +48,17 @@ ReturnValue_t Detumble::bangbangLaw(const double *magRate, const bool magRateVal
|
|||||||
magMom[i] = -dipolMax * sign(magRate[i]);
|
magMom[i] = -dipolMax * sign(magRate[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnvalue::OK;
|
return returnvalue::OK;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t Detumble::bDotLawGyro(const double *satRate, const bool *satRateValid,
|
ReturnValue_t Detumble::bDotLawGyro(const double *satRate, const bool *satRateValid,
|
||||||
const double *magField, const bool *magFieldValid,
|
const double *magField, const bool *magFieldValid,
|
||||||
double *magMom) {
|
double *magMom) {
|
||||||
|
if (!satRateValid || !magFieldValid) {
|
||||||
if (!satRateValid || !magFieldValid) {
|
return DETUMBLE_NO_SENSORDATA;
|
||||||
return DETUMBLE_NO_SENSORDATA;
|
}
|
||||||
}
|
double gain = detumbleParameter->gainD;
|
||||||
double gain = detumbleParameter->gainD;
|
double factor = -gain / pow(VectorOperations<double>::norm(magField, 3), 2);
|
||||||
double factor = -gain / pow(VectorOperations<double>::norm(magField,3),2);
|
VectorOperations<double>::mulScalar(satRate, factor, magMom, 3);
|
||||||
VectorOperations<double>::mulScalar(satRate, factor, magMom, 3);
|
return returnvalue::OK;
|
||||||
return returnvalue::OK;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user