44 #if defined(__PX4_NUTTX) && !defined(CONFIG_ARCH_MATH_H) 45 #error CONFIG_ARCH_MATH_H is required to use math definitions and functions 53 #define PX4_PARAM_DEFAULT_VALUE_NAME(_name) PARAM_##_name##_DEFAULT 56 #define PX4_PARAM_DEFINE_INT32(_name) PARAM_DEFINE_INT32(_name, PX4_PARAM_DEFAULT_VALUE_NAME(_name)) 57 #define PX4_PARAM_DEFINE_FLOAT(_name) PARAM_DEFINE_FLOAT(_name, PX4_PARAM_DEFAULT_VALUE_NAME(_name)) 59 #define PX4_ERROR (-1) 63 #define PX4_ARRAY2D(_array, _ncols, _x, _y) (_array[_x * _ncols + _y]) 66 #define PX4_R(_array, _x, _y) PX4_ARRAY2D(_array, 3, _x, _y) 70 constexpr
bool PX4_ISFINITE(
float x) {
return __builtin_isfinite(x); }
71 constexpr
bool PX4_ISFINITE(
double x) {
return __builtin_isfinite(x); }
74 #if defined(__PX4_NUTTX) || defined(__PX4_POSIX) 80 #define PX4_MAIN_FUNCTION(_prefix) int _prefix##_task_main(int argc, char *argv[]) 87 #define PX4_PARAM_GET_BYNAME(_name, _destpt) param_get(param_find(_name), _destpt) 89 #else // defined(__PX4_NUTTX) || defined(__PX4_POSIX) 91 #error "No target OS defined" 94 #if defined(__PX4_NUTTX) 99 #define PX4_ROOTFSDIR "" 100 #define PX4_STORAGEDIR PX4_ROOTFSDIR "/fs/microsd" 101 #define _PX4_IOC(x,y) _IOC(x,y) 104 #define PX4_O_MODE_777 0777 105 #define PX4_O_MODE_666 0666 106 #define PX4_O_MODE_600 0600 109 # define PRIu64 "llu" 112 # define PRId64 "lld" 116 # define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER) 119 #elif defined(__PX4_POSIX) 130 #define PX4_O_MODE_777 (S_IRWXU | S_IRWXG | S_IRWXO) 131 #define PX4_O_MODE_666 (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH ) 132 #define PX4_O_MODE_600 (S_IRUSR | S_IWUSR) 135 #define _PX4_IOC(x,y) _IO(x,y) 138 #define getreg32(a) (*(volatile uint32_t *)(a)) 140 #define USEC_PER_TICK (1000000/PX4_TICKS_PER_SEC) 141 #define USEC2TICK(x) (((x)+(USEC_PER_TICK/2))/USEC_PER_TICK) 146 # include "dspal_math.h" 147 # define PX4_ROOTFSDIR "." 148 # define PX4_TICKS_PER_SEC 1000L 149 # define SIOCDEVPRIVATE 999999 156 extern long PX4_TICKS_PER_SEC;
159 # if defined(__PX4_POSIX_EAGLE) || defined(__PX4_POSIX_EXCELSIOR) 160 # define PX4_ROOTFSDIR "/home/linaro" 161 # elif defined(__PX4_POSIX_BEBOP) 162 # define PX4_ROOTFSDIR "/data/ftp/internal_000" 164 # define PX4_ROOTFSDIR "." 169 #define PX4_STORAGEDIR PX4_ROOTFSDIR 170 #endif // __PX4_POSIX 172 #if defined(__PX4_POSIX) 179 #define MAX_RAND 32767 183 #define M_E_F 2.71828183f 184 #define M_LOG2E_F 1.44269504f 185 #define M_LOG10E_F 0.43429448f 186 #define M_LN2_F 0.69314718f 187 #define M_LN10_F 2.30258509f 188 #define M_PI_F 3.14159265f 189 #define M_TWOPI_F 6.28318531f 190 #define M_PI_2_F 1.57079632f 191 #define M_PI_4_F 0.78539816f 192 #define M_3PI_4_F 2.35619449f 193 #define M_SQRTPI_F 1.77245385f 194 #define M_1_PI_F 0.31830989f 195 #define M_2_PI_F 0.63661977f 196 #define M_2_SQRTPI_F 1.12837917f 197 #define M_DEG_TO_RAD_F 0.0174532925f 198 #define M_RAD_TO_DEG_F 57.2957795f 199 #define M_SQRT2_F 1.41421356f 200 #define M_SQRT1_2_F 0.70710678f 201 #define M_LN2LO_F 1.90821484E-10f 202 #define M_LN2HI_F 0.69314718f 203 #define M_SQRT3_F 1.73205081f 204 #define M_IVLN10_F 0.43429448f // 1 / log(10) 205 #define M_LOG2_E_F 0.69314718f 206 #define M_INVLN2_F 1.44269504f // 1 / log(2) 208 #define M_DEG_TO_RAD 0.017453292519943295 209 #define M_RAD_TO_DEG 57.295779513082323 211 #endif // defined(__PX4_POSIX) Global flash based parameter store.
Platform dependant logging/debug implementation.
uint32_t param_t
Parameter handle.
Definition: param.h:98