/** * Module initialization */ int32_t StabilizationStart() { StabilizationSettingsConnectCallback(SettingsUpdatedCb); ManualControlCommandConnectCallback(FlightModeSwitchUpdatedCb); StabilizationBankConnectCallback(BankUpdatedCb); StabilizationSettingsBank1ConnectCallback(SettingsBankUpdatedCb); StabilizationSettingsBank2ConnectCallback(SettingsBankUpdatedCb); StabilizationSettingsBank3ConnectCallback(SettingsBankUpdatedCb); StabilizationDesiredConnectCallback(StabilizationDesiredUpdatedCb); SettingsUpdatedCb(StabilizationSettingsHandle()); StabilizationDesiredUpdatedCb(StabilizationDesiredHandle()); FlightModeSwitchUpdatedCb(ManualControlCommandHandle()); BankUpdatedCb(StabilizationBankHandle()); #ifdef PIOS_INCLUDE_WDG PIOS_WDG_RegisterFlag(PIOS_WDG_STABILIZATION); #endif return 0; }
void StabilizationBankThrustPIDScaleTargetSet(uint8_t *NewThrustPIDScaleTarget) { UAVObjSetDataField(StabilizationBankHandle(), (void *)NewThrustPIDScaleTarget, offsetof(StabilizationBankData, ThrustPIDScaleTarget), sizeof(uint8_t)); }
void StabilizationBankEnableThrustPIDScalingGet(uint8_t *NewEnableThrustPIDScaling) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewEnableThrustPIDScaling, offsetof(StabilizationBankData, EnableThrustPIDScaling), sizeof(uint8_t)); }
void StabilizationBankEnablePiroCompGet(uint8_t *NewEnablePiroComp) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewEnablePiroComp, offsetof(StabilizationBankData, EnablePiroComp), sizeof(uint8_t)); }
void StabilizationBankStickExpoArrayGet( int8_t *NewStickExpo ) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewStickExpo, offsetof(StabilizationBankData, StickExpo), 3*sizeof(int8_t)); }
void StabilizationBankYawMaxGet(uint8_t *NewYawMax) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewYawMax, offsetof(StabilizationBankData, YawMax), sizeof(uint8_t)); }
void StabilizationBankPitchMaxSet(uint8_t *NewPitchMax) { UAVObjSetDataField(StabilizationBankHandle(), (void *)NewPitchMax, offsetof(StabilizationBankData, PitchMax), sizeof(uint8_t)); }
void StabilizationBankMaximumRateArrayGet( float *NewMaximumRate ) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewMaximumRate, offsetof(StabilizationBankData, MaximumRate), 3*sizeof(float)); }
void StabilizationBankAcroInsanityFactorGet(float *NewAcroInsanityFactor) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewAcroInsanityFactor, offsetof(StabilizationBankData, AcroInsanityFactor), sizeof(float)); }
void StabilizationBankYawPIArrayGet( float *NewYawPI ) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewYawPI, offsetof(StabilizationBankData, YawPI), 3*sizeof(float)); }
void StabilizationBankPitchPIArraySet( float *NewPitchPI ) { UAVObjSetDataField(StabilizationBankHandle(), (void *)NewPitchPI, offsetof(StabilizationBankData, PitchPI), 3*sizeof(float)); }
void StabilizationBankRollPIGet( StabilizationBankRollPIData *NewRollPI ) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewRollPI, offsetof(StabilizationBankData, RollPI), 3*sizeof(float)); }
void StabilizationBankYawRatePIDArrayGet( float *NewYawRatePID ) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewYawRatePID, offsetof(StabilizationBankData, YawRatePID), 4*sizeof(float)); }
void StabilizationBankPitchRatePIDArraySet( float *NewPitchRatePID ) { UAVObjSetDataField(StabilizationBankHandle(), (void *)NewPitchRatePID, offsetof(StabilizationBankData, PitchRatePID), 4*sizeof(float)); }
void StabilizationBankRollRatePIDGet( StabilizationBankRollRatePIDData *NewRollRatePID ) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewRollRatePID, offsetof(StabilizationBankData, RollRatePID), 4*sizeof(float)); }
void StabilizationBankThrustPIDScaleAxesGet(uint8_t *NewThrustPIDScaleAxes) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewThrustPIDScaleAxes, offsetof(StabilizationBankData, ThrustPIDScaleAxes), sizeof(uint8_t)); }
void StabilizationBankThrustPIDScaleCurveGet( float *NewThrustPIDScaleCurve ) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewThrustPIDScaleCurve, offsetof(StabilizationBankData, ThrustPIDScaleCurve), 5*sizeof(float)); }
void StabilizationBankManualRateGet( StabilizationBankManualRateData *NewManualRate ) { UAVObjGetDataField(StabilizationBankHandle(), (void *)NewManualRate, offsetof(StabilizationBankData, ManualRate), 3*sizeof(float)); }