/* 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 #include 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! }; struct px4_parameter_storage_t { float param_values[PARAM_MAX_COUNT]; ///< Parameter values const char *param_names[PARAM_MAX_COUNT]; ///< Parameter names bool param_needs_write[PARAM_MAX_COUNT]; uint16_t next_param; uint16_t size; }; #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 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 ***** }; __attribute__ ((visibility ("default"))) extern struct global_data_parameter_storage_t *global_data_parameter_storage; //adjust this line! #endif