mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-17 13:25:30 +03:00
Added adjustmentProfile() macro
This commit is contained in:
parent
1475138e75
commit
389eaacd8a
6 changed files with 15 additions and 11 deletions
|
@ -99,6 +99,7 @@
|
||||||
#define blackboxConfig(x) (&masterConfig.blackboxConfig)
|
#define blackboxConfig(x) (&masterConfig.blackboxConfig)
|
||||||
#define flashConfig(x) (&masterConfig.flashConfig)
|
#define flashConfig(x) (&masterConfig.flashConfig)
|
||||||
#define pidConfig(x) (&masterConfig.pidConfig)
|
#define pidConfig(x) (&masterConfig.pidConfig)
|
||||||
|
#define adjustmentProfile(x) (&masterConfig.adjustmentProfile)
|
||||||
|
|
||||||
|
|
||||||
// System-wide
|
// System-wide
|
||||||
|
@ -216,8 +217,7 @@ typedef struct master_s {
|
||||||
uint8_t current_profile_index;
|
uint8_t current_profile_index;
|
||||||
|
|
||||||
modeActivationCondition_t modeActivationConditions[MAX_MODE_ACTIVATION_CONDITION_COUNT];
|
modeActivationCondition_t modeActivationConditions[MAX_MODE_ACTIVATION_CONDITION_COUNT];
|
||||||
adjustmentRange_t adjustmentRanges[MAX_ADJUSTMENT_RANGE_COUNT];
|
adjustmentProfile_t adjustmentProfile;
|
||||||
|
|
||||||
#ifdef VTX
|
#ifdef VTX
|
||||||
uint8_t vtx_band; //1=A, 2=B, 3=E, 4=F(Airwaves/Fatshark), 5=Raceband
|
uint8_t vtx_band; //1=A, 2=B, 3=E, 4=F(Airwaves/Fatshark), 5=Raceband
|
||||||
uint8_t vtx_channel; //1-8
|
uint8_t vtx_channel; //1-8
|
||||||
|
|
|
@ -808,7 +808,7 @@ static bool mspFcProcessOutCommand(uint8_t cmdMSP, sbuf_t *dst, mspPostProcessFn
|
||||||
|
|
||||||
case MSP_ADJUSTMENT_RANGES:
|
case MSP_ADJUSTMENT_RANGES:
|
||||||
for (int i = 0; i < MAX_ADJUSTMENT_RANGE_COUNT; i++) {
|
for (int i = 0; i < MAX_ADJUSTMENT_RANGE_COUNT; i++) {
|
||||||
adjustmentRange_t *adjRange = &masterConfig.adjustmentRanges[i];
|
adjustmentRange_t *adjRange = &adjustmentProfile()->adjustmentRanges[i];
|
||||||
sbufWriteU8(dst, adjRange->adjustmentIndex);
|
sbufWriteU8(dst, adjRange->adjustmentIndex);
|
||||||
sbufWriteU8(dst, adjRange->auxChannelIndex);
|
sbufWriteU8(dst, adjRange->auxChannelIndex);
|
||||||
sbufWriteU8(dst, adjRange->range.startStep);
|
sbufWriteU8(dst, adjRange->range.startStep);
|
||||||
|
@ -1337,7 +1337,7 @@ static mspResult_e mspFcProcessInCommand(uint8_t cmdMSP, sbuf_t *src)
|
||||||
case MSP_SET_ADJUSTMENT_RANGE:
|
case MSP_SET_ADJUSTMENT_RANGE:
|
||||||
i = sbufReadU8(src);
|
i = sbufReadU8(src);
|
||||||
if (i < MAX_ADJUSTMENT_RANGE_COUNT) {
|
if (i < MAX_ADJUSTMENT_RANGE_COUNT) {
|
||||||
adjustmentRange_t *adjRange = &masterConfig.adjustmentRanges[i];
|
adjustmentRange_t *adjRange = &adjustmentProfile()->adjustmentRanges[i];
|
||||||
i = sbufReadU8(src);
|
i = sbufReadU8(src);
|
||||||
if (i < MAX_SIMULTANEOUS_ADJUSTMENT_COUNT) {
|
if (i < MAX_SIMULTANEOUS_ADJUSTMENT_COUNT) {
|
||||||
adjRange->adjustmentIndex = i;
|
adjRange->adjustmentIndex = i;
|
||||||
|
|
|
@ -579,8 +579,8 @@ void processRx(timeUs_t currentTimeUs)
|
||||||
updateActivatedModes(masterConfig.modeActivationConditions);
|
updateActivatedModes(masterConfig.modeActivationConditions);
|
||||||
|
|
||||||
if (!cliMode) {
|
if (!cliMode) {
|
||||||
updateAdjustmentStates(masterConfig.adjustmentRanges);
|
updateAdjustmentStates(adjustmentProfile()->adjustmentRanges);
|
||||||
processRcAdjustments(currentControlRateProfile, &masterConfig.rxConfig);
|
processRcAdjustments(currentControlRateProfile, rxConfig());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool canUseHorizonMode = true;
|
bool canUseHorizonMode = true;
|
||||||
|
|
|
@ -263,6 +263,10 @@ typedef struct adjustmentState_s {
|
||||||
|
|
||||||
#define MAX_ADJUSTMENT_RANGE_COUNT 15
|
#define MAX_ADJUSTMENT_RANGE_COUNT 15
|
||||||
|
|
||||||
|
typedef struct adjustmentProfile_s {
|
||||||
|
adjustmentRange_t adjustmentRanges[MAX_ADJUSTMENT_RANGE_COUNT];
|
||||||
|
} adjustmentProfile_t;
|
||||||
|
|
||||||
bool isAirmodeActive(void);
|
bool isAirmodeActive(void);
|
||||||
void resetAdjustmentStates(void);
|
void resetAdjustmentStates(void);
|
||||||
void updateAdjustmentStates(adjustmentRange_t *adjustmentRanges);
|
void updateAdjustmentStates(adjustmentRange_t *adjustmentRanges);
|
||||||
|
|
|
@ -1485,8 +1485,8 @@ static void printAdjustmentRange(uint8_t dumpMask, master_t *defaultConfig)
|
||||||
adjustmentRange_t *arDefault;
|
adjustmentRange_t *arDefault;
|
||||||
bool equalsDefault;
|
bool equalsDefault;
|
||||||
for (uint32_t i = 0; i < MAX_ADJUSTMENT_RANGE_COUNT; i++) {
|
for (uint32_t i = 0; i < MAX_ADJUSTMENT_RANGE_COUNT; i++) {
|
||||||
ar = &masterConfig.adjustmentRanges[i];
|
ar = &adjustmentProfile()->adjustmentRanges[i];
|
||||||
arDefault = &defaultConfig->adjustmentRanges[i];
|
arDefault = &defaultConfig->adjustmentProfile.adjustmentRanges[i];
|
||||||
equalsDefault = ar->auxChannelIndex == arDefault->auxChannelIndex
|
equalsDefault = ar->auxChannelIndex == arDefault->auxChannelIndex
|
||||||
&& ar->range.startStep == arDefault->range.startStep
|
&& ar->range.startStep == arDefault->range.startStep
|
||||||
&& ar->range.endStep == arDefault->range.endStep
|
&& ar->range.endStep == arDefault->range.endStep
|
||||||
|
@ -1526,7 +1526,7 @@ static void cliAdjustmentRange(char *cmdline)
|
||||||
ptr = cmdline;
|
ptr = cmdline;
|
||||||
i = atoi(ptr++);
|
i = atoi(ptr++);
|
||||||
if (i < MAX_ADJUSTMENT_RANGE_COUNT) {
|
if (i < MAX_ADJUSTMENT_RANGE_COUNT) {
|
||||||
adjustmentRange_t *ar = &masterConfig.adjustmentRanges[i];
|
adjustmentRange_t *ar = &adjustmentProfile()->adjustmentRanges[i];
|
||||||
uint8_t validArgumentCount = 0;
|
uint8_t validArgumentCount = 0;
|
||||||
|
|
||||||
ptr = nextArg(ptr);
|
ptr = nextArg(ptr);
|
||||||
|
|
|
@ -730,7 +730,7 @@ static bool bstSlaveProcessFeedbackCommand(uint8_t bstRequest)
|
||||||
break;
|
break;
|
||||||
case BST_ADJUSTMENT_RANGES:
|
case BST_ADJUSTMENT_RANGES:
|
||||||
for (i = 0; i < MAX_ADJUSTMENT_RANGE_COUNT; i++) {
|
for (i = 0; i < MAX_ADJUSTMENT_RANGE_COUNT; i++) {
|
||||||
adjustmentRange_t *adjRange = &masterConfig.adjustmentRanges[i];
|
adjustmentRange_t *adjRange = &adjustmentProfile()->adjustmentRanges[i];
|
||||||
bstWrite8(adjRange->adjustmentIndex);
|
bstWrite8(adjRange->adjustmentIndex);
|
||||||
bstWrite8(adjRange->auxChannelIndex);
|
bstWrite8(adjRange->auxChannelIndex);
|
||||||
bstWrite8(adjRange->range.startStep);
|
bstWrite8(adjRange->range.startStep);
|
||||||
|
@ -1076,7 +1076,7 @@ static bool bstSlaveProcessWriteCommand(uint8_t bstWriteCommand)
|
||||||
case BST_SET_ADJUSTMENT_RANGE:
|
case BST_SET_ADJUSTMENT_RANGE:
|
||||||
i = bstRead8();
|
i = bstRead8();
|
||||||
if (i < MAX_ADJUSTMENT_RANGE_COUNT) {
|
if (i < MAX_ADJUSTMENT_RANGE_COUNT) {
|
||||||
adjustmentRange_t *adjRange = &masterConfig.adjustmentRanges[i];
|
adjustmentRange_t *adjRange = &adjustmentProfile()->adjustmentRanges[i];
|
||||||
i = bstRead8();
|
i = bstRead8();
|
||||||
if (i < MAX_SIMULTANEOUS_ADJUSTMENT_COUNT) {
|
if (i < MAX_SIMULTANEOUS_ADJUSTMENT_COUNT) {
|
||||||
adjRange->adjustmentIndex = i;
|
adjRange->adjustmentIndex = i;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue