You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
3.6 KiB
152 lines
3.6 KiB
/* Structure for storage of parameters */ |
|
|
|
#ifndef GLOBAL_DATA_PARAMETER_STORAGE_T_H_ //adjust this line! |
|
#define GLOBAL_DATA_PARAMETER_STORAGE_T_H_ //adjust this line! |
|
|
|
#define PX4_MSG_PARAM_VALUE_FIELD_PARAM_ID_LEN 16 |
|
#define MAX_PARAM_NAME_LEN 16 |
|
|
|
#include <stdbool.h> |
|
#include <stdint.h> |
|
|
|
enum MODE { |
|
TAKEOFF = 1, |
|
CRUISE, |
|
LOITER, |
|
LAND |
|
}; |
|
|
|
enum PARAM { |
|
PARAM_SYSTEM_ID = 0, ///< System ID used for communication |
|
PARAM_COMP_ID, ///< Component ID |
|
PARAM_FLIGHT_ENV, ///< Flight environment, indoor or outdoor |
|
PARAM_BATTERYVOLTAGE_CONVERSION, ///< Conversion factor from adc measurement to millivolts. if not set the sensor app will use the default value for the ardrone board |
|
PARAM_PID_YAWPOS_P, |
|
PARAM_PID_YAWPOS_I, |
|
PARAM_PID_YAWPOS_D, |
|
PARAM_PID_YAWPOS_AWU, |
|
PARAM_PID_YAWPOS_LIM, |
|
PARAM_PID_YAWSPEED_P, |
|
PARAM_PID_YAWSPEED_I, |
|
PARAM_PID_YAWSPEED_D, |
|
PARAM_PID_YAWSPEED_AWU, |
|
PARAM_PID_YAWSPEED_LIM, |
|
PARAM_PID_ATT_P, |
|
PARAM_PID_ATT_I, |
|
PARAM_PID_ATT_D, |
|
PARAM_PID_ATT_AWU, |
|
PARAM_PID_ATT_LIM, |
|
PARAM_PID_POS_P, |
|
PARAM_PID_POS_I, |
|
PARAM_PID_POS_D, |
|
PARAM_PID_POS_AWU, |
|
PARAM_PID_POS_LIM, |
|
PARAM_PID_POS_Z_P, |
|
PARAM_PID_POS_Z_I, |
|
PARAM_PID_POS_Z_D, |
|
PARAM_PID_POS_Z_AWU, |
|
PARAM_PID_POS_Z_LIM, |
|
PARAM_AIRSPEED, |
|
PARAM_WPLON, |
|
PARAM_WPLAT, |
|
PARAM_WPALT, |
|
PARAM_FLIGHTMODE, |
|
PARAM_SENSOR_GYRO_XOFFSET, |
|
PARAM_SENSOR_GYRO_YOFFSET, |
|
PARAM_SENSOR_GYRO_ZOFFSET, |
|
PARAM_SENSOR_MAG_XOFFSET, |
|
PARAM_SENSOR_MAG_YOFFSET, |
|
PARAM_SENSOR_MAG_ZOFFSET, |
|
PARAM_ATT_XOFFSET, |
|
PARAM_ATT_YOFFSET, |
|
PARAM_RC1_MIN, |
|
PARAM_RC1_MAX, |
|
PARAM_RC1_TRIM, |
|
PARAM_RC1_REV, |
|
PARAM_RC2_MIN, |
|
PARAM_RC2_MAX, |
|
PARAM_RC2_TRIM, |
|
PARAM_RC2_REV, |
|
PARAM_RC3_MIN, |
|
PARAM_RC3_MAX, |
|
PARAM_RC3_TRIM, |
|
PARAM_RC3_REV, |
|
PARAM_RC4_MIN, |
|
PARAM_RC4_MAX, |
|
PARAM_RC4_TRIM, |
|
PARAM_RC4_REV, |
|
PARAM_RC5_MIN, |
|
PARAM_RC5_MAX, |
|
PARAM_RC5_TRIM, |
|
PARAM_RC5_REV, |
|
PARAM_RC6_MIN, |
|
PARAM_RC6_MAX, |
|
PARAM_RC6_TRIM, |
|
PARAM_RC6_REV, |
|
PARAM_RC7_MIN, |
|
PARAM_RC7_MAX, |
|
PARAM_RC7_TRIM, |
|
PARAM_RC7_REV, |
|
PARAM_RC8_MIN, |
|
PARAM_RC8_MAX, |
|
PARAM_RC8_TRIM, |
|
PARAM_RC8_REV, |
|
PARAM_THROTTLE_CHAN, |
|
PARAM_ROLL_CHAN, |
|
PARAM_PITCH_CHAN, |
|
PARAM_YAW_CHAN, |
|
PARAM_OVERRIDE_CHAN, |
|
PARAM_SERVO1_MIN, |
|
PARAM_SERVO1_MAX, |
|
PARAM_SERVO1_TRIM, |
|
PARAM_SERVO2_MIN, |
|
PARAM_SERVO2_MAX, |
|
PARAM_SERVO2_TRIM, |
|
PARAM_SERVO3_MIN, |
|
PARAM_SERVO3_MAX, |
|
PARAM_SERVO3_TRIM, |
|
PARAM_SERVO4_MIN, |
|
PARAM_SERVO4_MAX, |
|
PARAM_SERVO4_TRIM, |
|
PARAM_SERVO_SCALE, |
|
PARAM_MAX_COUNT ///< LEAVE THIS IN PLACE AS LAST ELEMENT! |
|
}; |
|
|
|
#pragma pack(push, 1) |
|
struct px4_parameter_storage_t { |
|
float param_values[PARAM_MAX_COUNT]; ///< Parameter values |
|
bool param_needs_write[PARAM_MAX_COUNT]; |
|
const char *param_names[PARAM_MAX_COUNT]; ///< Parameter names |
|
uint16_t next_param; |
|
uint16_t size; |
|
}; |
|
#pragma pack(pop) |
|
|
|
|
|
#define PX4_FLIGHT_ENVIRONMENT_INDOOR 0 |
|
#define PX4_FLIGHT_ENVIRONMENT_OUTDOOR 1 |
|
#define PX4_FLIGHT_ENVIRONMENT_TESTING 2 //NO check for position fix in this environment |
|
|
|
#pragma pack(push, 1) |
|
struct global_data_parameter_storage_t { |
|
|
|
/* use of a counter and timestamp recommended (but not necessary) */ |
|
|
|
// uint16_t counter; //incremented by the writing thread everytime new data is stored |
|
uint64_t timestamp; //in microseconds since system start, is set whenever the writing thread stores new data |
|
|
|
/* Actual data, this is specific to the type of data which is stored in this struct */ |
|
|
|
//***** Start: Add your variables here ***** |
|
|
|
/* Parameters (set by a param_set mavlink message */ |
|
struct px4_parameter_storage_t pm; |
|
|
|
//*****END: Add your variables here ***** |
|
|
|
}; |
|
#pragma pack(pop) |
|
|
|
__attribute__ ((visibility ("default"))) extern struct global_data_parameter_storage_t *global_data_parameter_storage; //adjust this line! |
|
|
|
#endif
|
|
|