21#ifndef APPS_PD_ATTITUDE_CONTROL_H
22#define APPS_PD_ATTITUDE_CONTROL_H
106 int16
command(uint16
apid, uint8* buffer, uint16 size)
override;
108 int16
start()
override;
#define SIGNAL(NAME, TYPE, INITIAL_VALUE)
Definition appmacros.h:27
#define START_PARAMS
Definition appmacros.h:42
#define END_OUTPUTS
Definition appmacros.h:33
#define END_PARAMS
Definition appmacros.h:47
#define START_OUTPUTS
Definition appmacros.h:28
#define END_INPUTS
Definition appmacros.h:40
#define START_INPUTS
Definition appmacros.h:35
Quaternion class for attitude representation.
Definition Quaternion.h:68
App(FlightExecutive &executive, const char *name, uint16 apid, uint8 instance=0)
Executive-based constructor for the task.
Definition App.cpp:21
uint16 apid()
Get the apid for this app.
Definition App.h:105
Executive derivation specifically to run flight systems.
Definition FlightExecutive.h:46
int16 execute() override
Definition PdAttitudeControl.cpp:41
floating_point _att_deadband_rad
Definition PdAttitudeControl.h:117
virtual ~PdAttitudeControl()
Definition PdAttitudeControl.h:91
int16 start() override
Definition PdAttitudeControl.cpp:33
int16 command(uint16 apid, uint8 *buffer, uint16 size) override
Process commands issued to the app.
Definition PdAttitudeControl.cpp:123
clockwerk::Quaternion _quat_act_cmd
Quaternion representing the distance between the actual and commanded quaternion.
Definition PdAttitudeControl.h:127
clockwerk::CartesianVector< 3 > _PP
Definition PdAttitudeControl.h:116
clockwerk::CartesianVector< 3 > _deriv_cmd
Definition PdAttitudeControl.h:124
floating_point _angle
Internal variable for the attiude angle error (radians).
Definition PdAttitudeControl.h:112
int16 deactivate() override
Deactivate the app. The app will not step when deactivated.
Definition PdAttitudeControl.cpp:108
PdAttitudeControl(FlightExecutive &executive)
Definition PdAttitudeControl.cpp:21
clockwerk::CartesianVector< 3 > _err_quat_vec
Temporary vector for quaternion vector component.
Definition PdAttitudeControl.h:120
clockwerk::CartesianVector< 3 > _prop_cmd
Temporary vectors to hold proportional and derivative command terms:
Definition PdAttitudeControl.h:123
clockwerk::CartesianVector< 3 > _K
Internal constants for gains.
Definition PdAttitudeControl.h:115
tlm_gnc_pd_att_ctrl_data _tlm_data
Internal variables to hold telemetry buffer for packing tlm.
Definition PdAttitudeControl.h:130
int16 activate() override
Activate the app. The app will step when active.
Definition PdAttitudeControl.cpp:102
#define CartesianVector3
Definition mathmacros.h:43
Definition DeadReckon.cpp:20
PD Control packet definition.
Definition tlm_PdAttitudeControl.h:42
clockwerk::DataIO< clockwerk::CartesianVector< 3 > > cmd_torque__body
Definition PdAttitudeControl.h:80
clockwerk::DataIO< floating_point > err_angle
Definition PdAttitudeControl.h:84
clockwerk::DataIO< clockwerk::CartesianVector< 3 > > err_omega
Definition PdAttitudeControl.h:86
clockwerk::DataIO< clockwerk::Quaternion > err_quat
Definition PdAttitudeControl.h:82
clockwerk::DataIO< clockwerk::CartesianVector< 3 > > K
Definition PdAttitudeControl.h:61
clockwerk::DataIO< clockwerk::CartesianVector< 3 > > P
Definition PdAttitudeControl.h:59
clockwerk::DataIO< floating_point > angle_deadband_rad
Definition PdAttitudeControl.h:64