1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 17:25:20 +03:00

Cleaned up feature handling functions.

This commit is contained in:
mikeller 2018-07-04 23:33:58 +12:00
parent 8abf138e2a
commit 985a9208d5
2 changed files with 13 additions and 19 deletions

View file

@ -35,39 +35,34 @@ PG_RESET_TEMPLATE(featureConfig_t, featureConfig,
.enabledFeatures = DEFAULT_FEATURES | DEFAULT_RX_FEATURE | FEATURE_DYNAMIC_FILTER | FEATURE_ANTI_GRAVITY, .enabledFeatures = DEFAULT_FEATURES | DEFAULT_RX_FEATURE | FEATURE_DYNAMIC_FILTER | FEATURE_ANTI_GRAVITY,
); );
void intFeatureSet(uint32_t mask, uint32_t *features) void featureSetLocal(const uint32_t mask, uint32_t *features)
{ {
*features |= mask; *features |= mask;
} }
void intFeatureClear(uint32_t mask, uint32_t *features) void featureClearLocal(const uint32_t mask, uint32_t *features)
{ {
*features &= ~(mask); *features &= ~(mask);
} }
void intFeatureClearAll(uint32_t *features) bool featureConfigured(const uint32_t mask)
{
*features = 0;
}
bool featureConfigured(uint32_t mask)
{ {
return featureConfig()->enabledFeatures & mask; return featureConfig()->enabledFeatures & mask;
} }
void featureSet(uint32_t mask) void featureSet(const uint32_t mask)
{ {
intFeatureSet(mask, &featureConfigMutable()->enabledFeatures); featureSetLocal(mask, &featureConfigMutable()->enabledFeatures);
} }
void featureClear(uint32_t mask) void featureClear(const uint32_t mask)
{ {
intFeatureClear(mask, &featureConfigMutable()->enabledFeatures); featureClearLocal(mask, &featureConfigMutable()->enabledFeatures);
} }
void featureClearAll(void) void featureClearAll(void)
{ {
intFeatureClearAll(&featureConfigMutable()->enabledFeatures); featureConfigMutable()->enabledFeatures = 0;
} }
uint32_t featureMask(void) uint32_t featureMask(void)

View file

@ -62,12 +62,11 @@ typedef struct featureConfig_s {
PG_DECLARE(featureConfig_t, featureConfig); PG_DECLARE(featureConfig_t, featureConfig);
bool featureConfigured(uint32_t mask); bool featureConfigured(const uint32_t mask);
void featureSet(uint32_t mask); void featureSet(const uint32_t mask);
void featureClear(uint32_t mask); void featureClear(const uint32_t mask);
void featureClearAll(void); void featureClearAll(void);
uint32_t featureMask(void); uint32_t featureMask(void);
void intFeatureClearAll(uint32_t *features); void featureSetLocal(const uint32_t mask, uint32_t *features);
void intFeatureSet(uint32_t mask, uint32_t *features); void featureClearLocal(const uint32_t mask, uint32_t *features);
void intFeatureClear(uint32_t mask, uint32_t *features);