Firmware
Classes | Macros | Typedefs
px4_param.h File Reference

C++ Parameter class. More...

#include "px4_param_macros.h"
#include <parameters/px4_parameters_public.h>

Go to the source code of this file.

Classes

class  do_not_explicitly_use_this_namespace::Param< T, p >
 
class  do_not_explicitly_use_this_namespace::Param< float, p >
 
class  do_not_explicitly_use_this_namespace::Param< float &, p >
 
class  do_not_explicitly_use_this_namespace::Param< int32_t, p >
 
class  do_not_explicitly_use_this_namespace::Param< int32_t &, p >
 
class  do_not_explicitly_use_this_namespace::Param< bool, p >
 
class  ParamInt< p >
 
class  ParamFloat< p >
 

Macros

#define _DEFINE_SINGLE_PARAMETER(x)   do_not_explicitly_use_this_namespace::PAIR(x);
 
#define _CALL_UPDATE(x)   STRIP(x).update();
 
#define _DEFINE_PARAMETER_UPDATE_METHOD(...)
 
#define DEFINE_PARAMETERS(...)
 
#define _DEFINE_PARAMETER_UPDATE_METHOD_CUSTOM_PARENT(parent_class, ...)
 
#define DEFINE_PARAMETERS_CUSTOM_PARENT(parent_class, ...)
 

Typedefs

template<px4::params p>
using do_not_explicitly_use_this_namespace::ParamFloat = Param< float, p >
 
template<px4::params p>
using do_not_explicitly_use_this_namespace::ParamInt = Param< int32_t, p >
 
template<px4::params p>
using do_not_explicitly_use_this_namespace::ParamExtFloat = Param< float &, p >
 
template<px4::params p>
using do_not_explicitly_use_this_namespace::ParamExtInt = Param< int32_t &, p >
 
template<px4::params p>
using do_not_explicitly_use_this_namespace::ParamBool = Param< bool, p >
 

Detailed Description

C++ Parameter class.

Macro Definition Documentation

§ _DEFINE_PARAMETER_UPDATE_METHOD

#define _DEFINE_PARAMETER_UPDATE_METHOD (   ...)
Value:
protected: \
void updateParamsImpl() final { \
APPLY_ALL(_CALL_UPDATE, __VA_ARGS__) \
} \
private:

§ _DEFINE_PARAMETER_UPDATE_METHOD_CUSTOM_PARENT

#define _DEFINE_PARAMETER_UPDATE_METHOD_CUSTOM_PARENT (   parent_class,
  ... 
)
Value:
protected: \
void updateParamsImpl() override { \
parent_class::updateParamsImpl(); \
APPLY_ALL(_CALL_UPDATE, __VA_ARGS__) \
} \
private:

§ DEFINE_PARAMETERS

#define DEFINE_PARAMETERS (   ...)
Value:
APPLY_ALL(_DEFINE_SINGLE_PARAMETER, __VA_ARGS__) \
_DEFINE_PARAMETER_UPDATE_METHOD(__VA_ARGS__)

§ DEFINE_PARAMETERS_CUSTOM_PARENT

#define DEFINE_PARAMETERS_CUSTOM_PARENT (   parent_class,
  ... 
)
Value:
APPLY_ALL(_DEFINE_SINGLE_PARAMETER, __VA_ARGS__) \
_DEFINE_PARAMETER_UPDATE_METHOD_CUSTOM_PARENT(parent_class, __VA_ARGS__)