mirror of
https://github.com/iNavFlight/inav.git
synced 2025-07-18 22:05:15 +03:00
Rename a few more flags
NAV -> USE_NAV FIXED_WING_LANDING -> NAV_FIXED_WING_LANDING ASYNC_GYRO_PROCESSING -> USE_ASYNC_GYRO_PROCESSING BOOTLOG -> USE_BOOTLOG STATS -> USE_STATS
This commit is contained in:
parent
7a1491e158
commit
d5ba9c4eec
38 changed files with 112 additions and 112 deletions
|
@ -100,7 +100,7 @@ static OSD_Entry menuFeaturesEntries[] =
|
||||||
{
|
{
|
||||||
{"--- FEATURES ---", OME_Label, NULL, NULL, 0},
|
{"--- FEATURES ---", OME_Label, NULL, NULL, 0},
|
||||||
{"BLACKBOX", OME_Submenu, cmsMenuChange, &cmsx_menuBlackbox, 0},
|
{"BLACKBOX", OME_Submenu, cmsMenuChange, &cmsx_menuBlackbox, 0},
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
{"NAVIGATION", OME_Submenu, cmsMenuChange, &cmsx_menuNavigation, 0},
|
{"NAVIGATION", OME_Submenu, cmsMenuChange, &cmsx_menuNavigation, 0},
|
||||||
#endif
|
#endif
|
||||||
#if defined(VTX) || defined(USE_RTC6705)
|
#if defined(VTX) || defined(USE_RTC6705)
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
#include "drivers/logging.h"
|
#include "drivers/logging.h"
|
||||||
|
|
||||||
#ifdef BOOTLOG
|
#ifdef USE_BOOTLOG
|
||||||
|
|
||||||
#include "drivers/time.h"
|
#include "drivers/time.h"
|
||||||
|
|
||||||
|
|
|
@ -135,7 +135,7 @@ static uint32_t bufferIndex = 0;
|
||||||
static void cliAssert(char *cmdline);
|
static void cliAssert(char *cmdline);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(BOOTLOG)
|
#if defined(USE_BOOTLOG)
|
||||||
static void cliBootlog(char *cmdline);
|
static void cliBootlog(char *cmdline);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -562,7 +562,7 @@ static void cliAssert(char *cmdline)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(BOOTLOG)
|
#if defined(USE_BOOTLOG)
|
||||||
static void cliBootlog(char *cmdline)
|
static void cliBootlog(char *cmdline)
|
||||||
{
|
{
|
||||||
UNUSED(cmdline);
|
UNUSED(cmdline);
|
||||||
|
@ -2412,7 +2412,7 @@ static void cliStatus(char *cmdline)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
cliPrintf("System load: %d", averageSystemLoadPercent);
|
cliPrintf("System load: %d", averageSystemLoadPercent);
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
const timeDelta_t pidTaskDeltaTime = getTaskDeltaTime(TASK_PID);
|
const timeDelta_t pidTaskDeltaTime = getTaskDeltaTime(TASK_PID);
|
||||||
#else
|
#else
|
||||||
const timeDelta_t pidTaskDeltaTime = getTaskDeltaTime(TASK_GYROPID);
|
const timeDelta_t pidTaskDeltaTime = getTaskDeltaTime(TASK_GYROPID);
|
||||||
|
@ -2702,7 +2702,7 @@ const clicmd_t cmdTable[] = {
|
||||||
CLI_COMMAND_DEF("beeper", "turn on/off beeper", "list\r\n"
|
CLI_COMMAND_DEF("beeper", "turn on/off beeper", "list\r\n"
|
||||||
"\t<+|->[name]", cliBeeper),
|
"\t<+|->[name]", cliBeeper),
|
||||||
#endif
|
#endif
|
||||||
#if defined(BOOTLOG)
|
#if defined(USE_BOOTLOG)
|
||||||
CLI_COMMAND_DEF("bootlog", "show boot events", NULL, cliBootlog),
|
CLI_COMMAND_DEF("bootlog", "show boot events", NULL, cliBootlog),
|
||||||
#endif
|
#endif
|
||||||
#ifdef USE_LED_STRIP
|
#ifdef USE_LED_STRIP
|
||||||
|
|
|
@ -134,7 +134,7 @@ PG_RESET_TEMPLATE(adcChannelConfig_t, adcChannelConfig,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
void validateNavConfig(void)
|
void validateNavConfig(void)
|
||||||
{
|
{
|
||||||
// Make sure minAlt is not more than maxAlt, maxAlt cannot be set lower than 500.
|
// Make sure minAlt is not more than maxAlt, maxAlt cannot be set lower than 500.
|
||||||
|
@ -153,7 +153,7 @@ void validateNavConfig(void)
|
||||||
|
|
||||||
uint32_t getPidUpdateRate(void)
|
uint32_t getPidUpdateRate(void)
|
||||||
{
|
{
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
if (systemConfig()->asyncMode == ASYNC_MODE_NONE) {
|
if (systemConfig()->asyncMode == ASYNC_MODE_NONE) {
|
||||||
return getGyroUpdateRate();
|
return getGyroUpdateRate();
|
||||||
} else {
|
} else {
|
||||||
|
@ -170,7 +170,7 @@ timeDelta_t getGyroUpdateRate(void)
|
||||||
}
|
}
|
||||||
uint16_t getAccUpdateRate(void)
|
uint16_t getAccUpdateRate(void)
|
||||||
{
|
{
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
// ACC will be updated at its own rate
|
// ACC will be updated at its own rate
|
||||||
if (systemConfig()->asyncMode == ASYNC_MODE_ALL) {
|
if (systemConfig()->asyncMode == ASYNC_MODE_ALL) {
|
||||||
return 1000000 / systemConfig()->accTaskFrequency;
|
return 1000000 / systemConfig()->accTaskFrequency;
|
||||||
|
@ -183,7 +183,7 @@ uint16_t getAccUpdateRate(void)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
uint16_t getAttitudeUpdateRate(void) {
|
uint16_t getAttitudeUpdateRate(void) {
|
||||||
if (systemConfig()->asyncMode == ASYNC_MODE_ALL) {
|
if (systemConfig()->asyncMode == ASYNC_MODE_ALL) {
|
||||||
return 1000000 / systemConfig()->attitudeTaskFrequency;
|
return 1000000 / systemConfig()->attitudeTaskFrequency;
|
||||||
|
@ -275,7 +275,7 @@ void validateAndFixConfig(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
/*
|
/*
|
||||||
* When async processing mode is enabled, gyroSync has to be forced to "ON"
|
* When async processing mode is enabled, gyroSync has to be forced to "ON"
|
||||||
*/
|
*/
|
||||||
|
@ -377,7 +377,7 @@ void validateAndFixConfig(void)
|
||||||
mixerConfigMutable()->mixerMode = DEFAULT_MIXER;
|
mixerConfigMutable()->mixerMode = DEFAULT_MIXER;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
// Ensure sane values of navConfig settings
|
// Ensure sane values of navConfig settings
|
||||||
validateNavConfig();
|
validateNavConfig();
|
||||||
#endif
|
#endif
|
||||||
|
@ -463,7 +463,7 @@ static void activateConfig(void)
|
||||||
|
|
||||||
pidInit();
|
pidInit();
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
navigationUsePIDs();
|
navigationUsePIDs();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,7 @@ typedef struct adcChannelConfig_s {
|
||||||
PG_DECLARE(adcChannelConfig_t, adcChannelConfig);
|
PG_DECLARE(adcChannelConfig_t, adcChannelConfig);
|
||||||
|
|
||||||
|
|
||||||
#ifdef STATS
|
#ifdef USE_STATS
|
||||||
PG_DECLARE(statsConfig_t, statsConfig);
|
PG_DECLARE(statsConfig_t, statsConfig);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ void targetConfiguration(void);
|
||||||
uint32_t getPidUpdateRate(void);
|
uint32_t getPidUpdateRate(void);
|
||||||
timeDelta_t getGyroUpdateRate(void);
|
timeDelta_t getGyroUpdateRate(void);
|
||||||
uint16_t getAccUpdateRate(void);
|
uint16_t getAccUpdateRate(void);
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
uint16_t getAttitudeUpdateRate(void);
|
uint16_t getAttitudeUpdateRate(void);
|
||||||
uint8_t getAsyncMode(void);
|
uint8_t getAsyncMode(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -122,7 +122,7 @@ bool isCalibrating(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
if (!navIsCalibrationComplete()) {
|
if (!navIsCalibrationComplete()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -212,7 +212,7 @@ static void updateArmingStatus(void)
|
||||||
DISABLE_ARMING_FLAG(ARMING_DISABLED_SYSTEM_OVERLOADED);
|
DISABLE_ARMING_FLAG(ARMING_DISABLED_SYSTEM_OVERLOADED);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
/* CHECK: Navigation safety */
|
/* CHECK: Navigation safety */
|
||||||
if (navigationBlockArming()) {
|
if (navigationBlockArming()) {
|
||||||
ENABLE_ARMING_FLAG(ARMING_DISABLED_NAVIGATION_UNSAFE);
|
ENABLE_ARMING_FLAG(ARMING_DISABLED_NAVIGATION_UNSAFE);
|
||||||
|
@ -379,7 +379,7 @@ void mwArm(void)
|
||||||
disarmAt = millis() + armingConfig()->auto_disarm_delay * 1000; // start disarm timeout, will be extended when throttle is nonzero
|
disarmAt = millis() + armingConfig()->auto_disarm_delay * 1000; // start disarm timeout, will be extended when throttle is nonzero
|
||||||
|
|
||||||
//beep to indicate arming
|
//beep to indicate arming
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
if (navigationPositionEstimateIsHealthy())
|
if (navigationPositionEstimateIsHealthy())
|
||||||
beeper(BEEPER_ARMING_GPS_FIX);
|
beeper(BEEPER_ARMING_GPS_FIX);
|
||||||
else
|
else
|
||||||
|
@ -702,7 +702,7 @@ void taskMainPidLoop(timeUs_t currentTimeUs)
|
||||||
cycleTime = getTaskDeltaTime(TASK_SELF);
|
cycleTime = getTaskDeltaTime(TASK_SELF);
|
||||||
dT = (float)cycleTime * 0.000001f;
|
dT = (float)cycleTime * 0.000001f;
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
if (getAsyncMode() == ASYNC_MODE_NONE) {
|
if (getAsyncMode() == ASYNC_MODE_NONE) {
|
||||||
taskGyro(currentTimeUs);
|
taskGyro(currentTimeUs);
|
||||||
}
|
}
|
||||||
|
@ -725,7 +725,7 @@ void taskMainPidLoop(timeUs_t currentTimeUs)
|
||||||
filterRc(isRXDataNew);
|
filterRc(isRXDataNew);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
if (isRXDataNew) {
|
if (isRXDataNew) {
|
||||||
updateWaypointsAndNavigationMode();
|
updateWaypointsAndNavigationMode();
|
||||||
}
|
}
|
||||||
|
@ -733,7 +733,7 @@ void taskMainPidLoop(timeUs_t currentTimeUs)
|
||||||
|
|
||||||
isRXDataNew = false;
|
isRXDataNew = false;
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
updatePositionEstimator();
|
updatePositionEstimator();
|
||||||
applyWaypointNavigationAndAltitudeHold();
|
applyWaypointNavigationAndAltitudeHold();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -571,7 +571,7 @@ void init(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
navigationInit();
|
navigationInit();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -463,7 +463,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP_ALTITUDE:
|
case MSP_ALTITUDE:
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
sbufWriteU32(dst, lrintf(getEstimatedActualPosition(Z)));
|
sbufWriteU32(dst, lrintf(getEstimatedActualPosition(Z)));
|
||||||
sbufWriteU16(dst, lrintf(getEstimatedActualVelocity(Z)));
|
sbufWriteU16(dst, lrintf(getEstimatedActualVelocity(Z)));
|
||||||
#else
|
#else
|
||||||
|
@ -622,7 +622,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
sbufWriteU16(dst, GPS_directionToHome);
|
sbufWriteU16(dst, GPS_directionToHome);
|
||||||
sbufWriteU8(dst, gpsSol.flags.gpsHeartbeat ? 1 : 0);
|
sbufWriteU8(dst, gpsSol.flags.gpsHeartbeat ? 1 : 0);
|
||||||
break;
|
break;
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
case MSP_NAV_STATUS:
|
case MSP_NAV_STATUS:
|
||||||
sbufWriteU8(dst, NAV_Status.mode);
|
sbufWriteU8(dst, NAV_Status.mode);
|
||||||
sbufWriteU8(dst, NAV_Status.state);
|
sbufWriteU8(dst, NAV_Status.state);
|
||||||
|
@ -937,7 +937,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP_INAV_PID:
|
case MSP_INAV_PID:
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
sbufWriteU8(dst, systemConfig()->asyncMode);
|
sbufWriteU8(dst, systemConfig()->asyncMode);
|
||||||
sbufWriteU16(dst, systemConfig()->accTaskFrequency);
|
sbufWriteU16(dst, systemConfig()->accTaskFrequency);
|
||||||
sbufWriteU16(dst, systemConfig()->attitudeTaskFrequency);
|
sbufWriteU16(dst, systemConfig()->attitudeTaskFrequency);
|
||||||
|
@ -986,7 +986,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
case MSP_NAV_POSHOLD:
|
case MSP_NAV_POSHOLD:
|
||||||
sbufWriteU8(dst, navConfig()->general.flags.user_control_mode);
|
sbufWriteU8(dst, navConfig()->general.flags.user_control_mode);
|
||||||
sbufWriteU16(dst, navConfig()->general.max_auto_speed);
|
sbufWriteU16(dst, navConfig()->general.max_auto_speed);
|
||||||
|
@ -1054,7 +1054,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP_POSITION_ESTIMATION_CONFIG:
|
case MSP_POSITION_ESTIMATION_CONFIG:
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
|
|
||||||
sbufWriteU16(dst, positionEstimationConfig()->w_z_baro_p * 100); // inav_w_z_baro_p float as value * 100
|
sbufWriteU16(dst, positionEstimationConfig()->w_z_baro_p * 100); // inav_w_z_baro_p float as value * 100
|
||||||
sbufWriteU16(dst, positionEstimationConfig()->w_z_gps_p * 100); // 2 inav_w_z_gps_p float as value * 100
|
sbufWriteU16(dst, positionEstimationConfig()->w_z_gps_p * 100); // 2 inav_w_z_gps_p float as value * 100
|
||||||
|
@ -1084,7 +1084,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP_WP_GETINFO:
|
case MSP_WP_GETINFO:
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
sbufWriteU8(dst, 0); // Reserved for waypoint capabilities
|
sbufWriteU8(dst, 0); // Reserved for waypoint capabilities
|
||||||
sbufWriteU8(dst, NAV_MAX_WAYPOINTS); // Maximum number of waypoints supported
|
sbufWriteU8(dst, NAV_MAX_WAYPOINTS); // Maximum number of waypoints supported
|
||||||
sbufWriteU8(dst, isWaypointListValid()); // Is current mission valid
|
sbufWriteU8(dst, isWaypointListValid()); // Is current mission valid
|
||||||
|
@ -1159,7 +1159,7 @@ static bool mspFcProcessOutCommand(uint16_t cmdMSP, sbuf_t *dst, mspPostProcessF
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
static void mspFcWaypointOutCommand(sbuf_t *dst, sbuf_t *src)
|
static void mspFcWaypointOutCommand(sbuf_t *dst, sbuf_t *src)
|
||||||
{
|
{
|
||||||
const uint8_t msp_wp_no = sbufReadU8(src); // get the wp number
|
const uint8_t msp_wp_no = sbufReadU8(src); // get the wp number
|
||||||
|
@ -1271,7 +1271,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
||||||
pidBankMutable()->pid[i].D = sbufReadU8(src);
|
pidBankMutable()->pid[i].D = sbufReadU8(src);
|
||||||
}
|
}
|
||||||
schedulePidGainsUpdate();
|
schedulePidGainsUpdate();
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
navigationUsePIDs();
|
navigationUsePIDs();
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
@ -1510,7 +1510,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP_SET_INAV_PID:
|
case MSP_SET_INAV_PID:
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
systemConfigMutable()->asyncMode = sbufReadU8(src);
|
systemConfigMutable()->asyncMode = sbufReadU8(src);
|
||||||
systemConfigMutable()->accTaskFrequency = sbufReadU16(src);
|
systemConfigMutable()->accTaskFrequency = sbufReadU16(src);
|
||||||
systemConfigMutable()->attitudeTaskFrequency = sbufReadU16(src);
|
systemConfigMutable()->attitudeTaskFrequency = sbufReadU16(src);
|
||||||
|
@ -1559,7 +1559,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
case MSP_SET_NAV_POSHOLD:
|
case MSP_SET_NAV_POSHOLD:
|
||||||
navConfigMutable()->general.flags.user_control_mode = sbufReadU8(src);
|
navConfigMutable()->general.flags.user_control_mode = sbufReadU8(src);
|
||||||
navConfigMutable()->general.max_auto_speed = sbufReadU16(src);
|
navConfigMutable()->general.max_auto_speed = sbufReadU16(src);
|
||||||
|
@ -1628,7 +1628,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MSP_SET_POSITION_ESTIMATION_CONFIG:
|
case MSP_SET_POSITION_ESTIMATION_CONFIG:
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
positionEstimationConfigMutable()->w_z_baro_p = constrainf(sbufReadU16(src) / 100.0f, 0.0f, 10.0f);
|
positionEstimationConfigMutable()->w_z_baro_p = constrainf(sbufReadU16(src) / 100.0f, 0.0f, 10.0f);
|
||||||
positionEstimationConfigMutable()->w_z_gps_p = constrainf(sbufReadU16(src) / 100.0f, 0.0f, 10.0f);
|
positionEstimationConfigMutable()->w_z_gps_p = constrainf(sbufReadU16(src) / 100.0f, 0.0f, 10.0f);
|
||||||
positionEstimationConfigMutable()->w_z_gps_v = constrainf(sbufReadU16(src) / 100.0f, 0.0f, 10.0f);
|
positionEstimationConfigMutable()->w_z_gps_v = constrainf(sbufReadU16(src) / 100.0f, 0.0f, 10.0f);
|
||||||
|
@ -1792,7 +1792,7 @@ static mspResult_e mspFcProcessInCommand(uint16_t cmdMSP, sbuf_t *src)
|
||||||
onNewGPSData();
|
onNewGPSData();
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
case MSP_SET_WP:
|
case MSP_SET_WP:
|
||||||
{
|
{
|
||||||
const uint8_t msp_wp_no = sbufReadU8(src); // get the waypoint number
|
const uint8_t msp_wp_no = sbufReadU8(src); // get the waypoint number
|
||||||
|
@ -2158,7 +2158,7 @@ mspResult_e mspFcProcessCommand(mspPacket_t *cmd, mspPacket_t *reply, mspPostPro
|
||||||
mspFc4waySerialCommand(dst, src, mspPostProcessFn);
|
mspFc4waySerialCommand(dst, src, mspPostProcessFn);
|
||||||
ret = MSP_RESULT_ACK;
|
ret = MSP_RESULT_ACK;
|
||||||
#endif
|
#endif
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
} else if (cmdMSP == MSP_WP) {
|
} else if (cmdMSP == MSP_WP) {
|
||||||
mspFcWaypointOutCommand(dst, src);
|
mspFcWaypointOutCommand(dst, src);
|
||||||
ret = MSP_RESULT_ACK;
|
ret = MSP_RESULT_ACK;
|
||||||
|
|
|
@ -251,7 +251,7 @@ void taskSyncPwmDriver(timeUs_t currentTimeUs)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
void taskAttitude(timeUs_t currentTimeUs)
|
void taskAttitude(timeUs_t currentTimeUs)
|
||||||
{
|
{
|
||||||
imuUpdateAttitude(currentTimeUs);
|
imuUpdateAttitude(currentTimeUs);
|
||||||
|
@ -291,7 +291,7 @@ void fcTasksInit(void)
|
||||||
{
|
{
|
||||||
schedulerInit();
|
schedulerInit();
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
rescheduleTask(TASK_PID, getPidUpdateRate());
|
rescheduleTask(TASK_PID, getPidUpdateRate());
|
||||||
setTaskEnabled(TASK_PID, true);
|
setTaskEnabled(TASK_PID, true);
|
||||||
|
|
||||||
|
@ -387,7 +387,7 @@ cfTask_t cfTasks[TASK_COUNT] = {
|
||||||
.staticPriority = TASK_PRIORITY_HIGH,
|
.staticPriority = TASK_PRIORITY_HIGH,
|
||||||
},
|
},
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
[TASK_PID] = {
|
[TASK_PID] = {
|
||||||
.taskName = "PID",
|
.taskName = "PID",
|
||||||
.taskFunc = taskMainPidLoop,
|
.taskFunc = taskMainPidLoop,
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
static uint8_t specifiedConditionCountPerMode[CHECKBOX_ITEM_COUNT];
|
static uint8_t specifiedConditionCountPerMode[CHECKBOX_ITEM_COUNT];
|
||||||
static bool isUsingSticksToArm = true;
|
static bool isUsingSticksToArm = true;
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
static bool isUsingNAVModes = false;
|
static bool isUsingNAVModes = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ bool isAirmodeActive(void)
|
||||||
return feature(FEATURE_AIRMODE) || IS_RC_MODE_ACTIVE(BOXAIRMODE);
|
return feature(FEATURE_AIRMODE) || IS_RC_MODE_ACTIVE(BOXAIRMODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
bool isUsingNavigationModes(void)
|
bool isUsingNavigationModes(void)
|
||||||
{
|
{
|
||||||
return isUsingNAVModes;
|
return isUsingNAVModes;
|
||||||
|
@ -150,7 +150,7 @@ void updateUsedModeActivationConditionFlags(void)
|
||||||
|
|
||||||
isUsingSticksToArm = !isModeActivationConditionPresent(BOXARM);
|
isUsingSticksToArm = !isModeActivationConditionPresent(BOXARM);
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
isUsingNAVModes = isModeActivationConditionPresent(BOXNAVPOSHOLD) ||
|
isUsingNAVModes = isModeActivationConditionPresent(BOXNAVPOSHOLD) ||
|
||||||
isModeActivationConditionPresent(BOXNAVRTH) ||
|
isModeActivationConditionPresent(BOXNAVRTH) ||
|
||||||
isModeActivationConditionPresent(BOXNAVWP);
|
isModeActivationConditionPresent(BOXNAVWP);
|
||||||
|
|
|
@ -847,98 +847,98 @@ groups:
|
||||||
|
|
||||||
- name: nav_mc_pos_z_p
|
- name: nav_mc_pos_z_p
|
||||||
field: bank_mc.pid[PID_POS_Z].P
|
field: bank_mc.pid[PID_POS_Z].P
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_pos_z_i
|
- name: nav_mc_pos_z_i
|
||||||
field: bank_mc.pid[PID_POS_Z].I
|
field: bank_mc.pid[PID_POS_Z].I
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_pos_z_d
|
- name: nav_mc_pos_z_d
|
||||||
field: bank_mc.pid[PID_POS_Z].D
|
field: bank_mc.pid[PID_POS_Z].D
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_vel_z_p
|
- name: nav_mc_vel_z_p
|
||||||
field: bank_mc.pid[PID_VEL_Z].P
|
field: bank_mc.pid[PID_VEL_Z].P
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_vel_z_i
|
- name: nav_mc_vel_z_i
|
||||||
field: bank_mc.pid[PID_VEL_Z].I
|
field: bank_mc.pid[PID_VEL_Z].I
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_vel_z_d
|
- name: nav_mc_vel_z_d
|
||||||
field: bank_mc.pid[PID_VEL_Z].D
|
field: bank_mc.pid[PID_VEL_Z].D
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_pos_xy_p
|
- name: nav_mc_pos_xy_p
|
||||||
field: bank_mc.pid[PID_POS_XY].P
|
field: bank_mc.pid[PID_POS_XY].P
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_pos_xy_i
|
- name: nav_mc_pos_xy_i
|
||||||
field: bank_mc.pid[PID_POS_XY].I
|
field: bank_mc.pid[PID_POS_XY].I
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_pos_xy_d
|
- name: nav_mc_pos_xy_d
|
||||||
field: bank_mc.pid[PID_POS_XY].D
|
field: bank_mc.pid[PID_POS_XY].D
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_vel_xy_p
|
- name: nav_mc_vel_xy_p
|
||||||
field: bank_mc.pid[PID_VEL_XY].P
|
field: bank_mc.pid[PID_VEL_XY].P
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_vel_xy_i
|
- name: nav_mc_vel_xy_i
|
||||||
field: bank_mc.pid[PID_VEL_XY].I
|
field: bank_mc.pid[PID_VEL_XY].I
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_mc_vel_xy_d
|
- name: nav_mc_vel_xy_d
|
||||||
field: bank_mc.pid[PID_VEL_XY].D
|
field: bank_mc.pid[PID_VEL_XY].D
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_fw_pos_z_p
|
- name: nav_fw_pos_z_p
|
||||||
field: bank_fw.pid[PID_POS_Z].P
|
field: bank_fw.pid[PID_POS_Z].P
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_fw_pos_z_i
|
- name: nav_fw_pos_z_i
|
||||||
field: bank_fw.pid[PID_POS_Z].I
|
field: bank_fw.pid[PID_POS_Z].I
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_fw_pos_z_d
|
- name: nav_fw_pos_z_d
|
||||||
field: bank_fw.pid[PID_POS_Z].D
|
field: bank_fw.pid[PID_POS_Z].D
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_fw_pos_xy_p
|
- name: nav_fw_pos_xy_p
|
||||||
field: bank_fw.pid[PID_POS_XY].P
|
field: bank_fw.pid[PID_POS_XY].P
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_fw_pos_xy_i
|
- name: nav_fw_pos_xy_i
|
||||||
field: bank_fw.pid[PID_POS_XY].I
|
field: bank_fw.pid[PID_POS_XY].I
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
- name: nav_fw_pos_xy_d
|
- name: nav_fw_pos_xy_d
|
||||||
field: bank_fw.pid[PID_POS_XY].D
|
field: bank_fw.pid[PID_POS_XY].D
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
min: 0
|
min: 0
|
||||||
max: 255
|
max: 255
|
||||||
|
|
||||||
- name: PG_PID_AUTOTUNE_CONFIG
|
- name: PG_PID_AUTOTUNE_CONFIG
|
||||||
type: pidAutotuneConfig_t
|
type: pidAutotuneConfig_t
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
members:
|
members:
|
||||||
- name: fw_autotune_overshoot_time
|
- name: fw_autotune_overshoot_time
|
||||||
field: fw_overshoot_time
|
field: fw_overshoot_time
|
||||||
|
@ -963,7 +963,7 @@ groups:
|
||||||
|
|
||||||
- name: PG_POSITION_ESTIMATION_CONFIG
|
- name: PG_POSITION_ESTIMATION_CONFIG
|
||||||
type: positionEstimationConfig_t
|
type: positionEstimationConfig_t
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
members:
|
members:
|
||||||
- name: inav_auto_mag_decl
|
- name: inav_auto_mag_decl
|
||||||
field: automatic_mag_declination
|
field: automatic_mag_declination
|
||||||
|
@ -1039,7 +1039,7 @@ groups:
|
||||||
- name: PG_NAV_CONFIG
|
- name: PG_NAV_CONFIG
|
||||||
type: navConfig_t
|
type: navConfig_t
|
||||||
headers: ["navigation/navigation.h"]
|
headers: ["navigation/navigation.h"]
|
||||||
condition: NAV
|
condition: USE_NAV
|
||||||
members:
|
members:
|
||||||
- name: nav_disarm_on_landing
|
- name: nav_disarm_on_landing
|
||||||
field: general.flags.disarm_on_landing
|
field: general.flags.disarm_on_landing
|
||||||
|
@ -1170,7 +1170,7 @@ groups:
|
||||||
|
|
||||||
- name: nav_fw_land_dive_angle
|
- name: nav_fw_land_dive_angle
|
||||||
field: fw.land_dive_angle
|
field: fw.land_dive_angle
|
||||||
condition: FIXED_WING_LANDING
|
condition: NAV_FIXED_WING_LANDING
|
||||||
min: -20
|
min: -20
|
||||||
max: 20
|
max: 20
|
||||||
|
|
||||||
|
@ -1502,17 +1502,17 @@ groups:
|
||||||
table: debug_modes
|
table: debug_modes
|
||||||
- name: acc_task_frequency
|
- name: acc_task_frequency
|
||||||
field: accTaskFrequency
|
field: accTaskFrequency
|
||||||
condition: ASYNC_GYRO_PROCESSING
|
condition: USE_ASYNC_GYRO_PROCESSING
|
||||||
min: ACC_TASK_FREQUENCY_MIN
|
min: ACC_TASK_FREQUENCY_MIN
|
||||||
max: ACC_TASK_FREQUENCY_MAX
|
max: ACC_TASK_FREQUENCY_MAX
|
||||||
- name: attitude_task_frequency
|
- name: attitude_task_frequency
|
||||||
field: attitudeTaskFrequency
|
field: attitudeTaskFrequency
|
||||||
condition: ASYNC_GYRO_PROCESSING
|
condition: USE_ASYNC_GYRO_PROCESSING
|
||||||
min: ATTITUDE_TASK_FREQUENCY_MIN
|
min: ATTITUDE_TASK_FREQUENCY_MIN
|
||||||
max: ATTITUDE_TASK_FREQUENCY_MAX
|
max: ATTITUDE_TASK_FREQUENCY_MAX
|
||||||
- name: async_mode
|
- name: async_mode
|
||||||
field: asyncMode
|
field: asyncMode
|
||||||
condition: ASYNC_GYRO_PROCESSING
|
condition: USE_ASYNC_GYRO_PROCESSING
|
||||||
table: async_mode
|
table: async_mode
|
||||||
- name: throttle_tilt_comp_str
|
- name: throttle_tilt_comp_str
|
||||||
field: throttle_tilt_compensation_strength
|
field: throttle_tilt_compensation_strength
|
||||||
|
@ -1534,7 +1534,7 @@ groups:
|
||||||
- name: PG_STATS_CONFIG
|
- name: PG_STATS_CONFIG
|
||||||
type: statsConfig_t
|
type: statsConfig_t
|
||||||
headers: ["fc/stats.h"]
|
headers: ["fc/stats.h"]
|
||||||
condition: STATS
|
condition: USE_STATS
|
||||||
members:
|
members:
|
||||||
- name: stats
|
- name: stats
|
||||||
field: stats_enabled
|
field: stats_enabled
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#ifdef STATS
|
#ifdef USE_STATS
|
||||||
|
|
||||||
#include "fc/stats.h"
|
#include "fc/stats.h"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#ifdef STATS
|
#ifdef USE_STATS
|
||||||
|
|
||||||
typedef struct statsConfig_s {
|
typedef struct statsConfig_s {
|
||||||
uint32_t stats_total_time; // [s]
|
uint32_t stats_total_time; // [s]
|
||||||
|
|
|
@ -168,7 +168,7 @@ void failsafeInit(void)
|
||||||
failsafeState.suspended = false;
|
failsafeState.suspended = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
bool failsafeBypassNavigation(void)
|
bool failsafeBypassNavigation(void)
|
||||||
{
|
{
|
||||||
return failsafeState.active && failsafeState.controlling && failsafeProcedureLogic[failsafeConfig()->failsafe_procedure].bypassNavigation;
|
return failsafeState.active && failsafeState.controlling && failsafeProcedureLogic[failsafeConfig()->failsafe_procedure].bypassNavigation;
|
||||||
|
@ -419,7 +419,7 @@ void failsafeUpdateState(void)
|
||||||
failsafeState.receivingRxDataPeriodPreset = PERIOD_OF_3_SECONDS; // require 3 seconds of valid rxData
|
failsafeState.receivingRxDataPeriodPreset = PERIOD_OF_3_SECONDS; // require 3 seconds of valid rxData
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
case FAILSAFE_PROCEDURE_RTH:
|
case FAILSAFE_PROCEDURE_RTH:
|
||||||
// Proceed to handling & monitoring RTH navigation
|
// Proceed to handling & monitoring RTH navigation
|
||||||
failsafeActivate(FAILSAFE_RETURN_TO_HOME);
|
failsafeActivate(FAILSAFE_RETURN_TO_HOME);
|
||||||
|
@ -444,7 +444,7 @@ void failsafeUpdateState(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
case FAILSAFE_RETURN_TO_HOME:
|
case FAILSAFE_RETURN_TO_HOME:
|
||||||
if (receivingRxDataAndNotFailsafeMode && sticksAreMoving) {
|
if (receivingRxDataAndNotFailsafeMode && sticksAreMoving) {
|
||||||
abortForcedRTH();
|
abortForcedRTH();
|
||||||
|
|
|
@ -70,7 +70,7 @@ typedef enum {
|
||||||
* failsafe_procedure = NONE.
|
* failsafe_procedure = NONE.
|
||||||
*/
|
*/
|
||||||
FAILSAFE_RX_LOSS_IDLE,
|
FAILSAFE_RX_LOSS_IDLE,
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
/* Failsafe is executing RTH. This phase is the first one
|
/* Failsafe is executing RTH. This phase is the first one
|
||||||
* enabled when failsafe_procedure = RTH if an RTH is
|
* enabled when failsafe_procedure = RTH if an RTH is
|
||||||
* deemed possible (RTH might not be activated if e.g.
|
* deemed possible (RTH might not be activated if e.g.
|
||||||
|
|
|
@ -554,7 +554,7 @@ static uint8_t getHeadingHoldState(void)
|
||||||
return HEADING_HOLD_DISABLED;
|
return HEADING_HOLD_DISABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
int navHeadingState = navigationGetHeadingControlState();
|
int navHeadingState = navigationGetHeadingControlState();
|
||||||
// NAV will prevent MAG_MODE from activating, but require heading control
|
// NAV will prevent MAG_MODE from activating, but require heading control
|
||||||
if (navHeadingState != NAV_HEADING_CONTROL_NONE) {
|
if (navHeadingState != NAV_HEADING_CONTROL_NONE) {
|
||||||
|
|
|
@ -264,7 +264,7 @@ static void updateFailsafeStatus(void)
|
||||||
case FAILSAFE_RX_LOSS_IDLE:
|
case FAILSAFE_RX_LOSS_IDLE:
|
||||||
failsafeIndicator = 'I';
|
failsafeIndicator = 'I';
|
||||||
break;
|
break;
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
case FAILSAFE_RETURN_TO_HOME:
|
case FAILSAFE_RETURN_TO_HOME:
|
||||||
failsafeIndicator = 'H';
|
failsafeIndicator = 'H';
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -557,7 +557,7 @@ static const char * osdFailsafePhaseMessage(void)
|
||||||
{
|
{
|
||||||
// See failsafe.h for each phase explanation
|
// See failsafe.h for each phase explanation
|
||||||
switch (failsafePhase()) {
|
switch (failsafePhase()) {
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
case FAILSAFE_RETURN_TO_HOME:
|
case FAILSAFE_RETURN_TO_HOME:
|
||||||
// XXX: Keep this in sync with OSD_FLYMODE.
|
// XXX: Keep this in sync with OSD_FLYMODE.
|
||||||
return OSD_MESSAGE_STR("(RTH)");
|
return OSD_MESSAGE_STR("(RTH)");
|
||||||
|
@ -723,7 +723,7 @@ static void osdFormatThrottlePosition(char *buff, bool autoThr)
|
||||||
|
|
||||||
static inline int32_t osdGetAltitude(void)
|
static inline int32_t osdGetAltitude(void)
|
||||||
{
|
{
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
return getEstimatedActualPosition(Z);
|
return getEstimatedActualPosition(Z);
|
||||||
#elif defined(USE_BARO)
|
#elif defined(USE_BARO)
|
||||||
return baro.alt;
|
return baro.alt;
|
||||||
|
|
|
@ -70,7 +70,7 @@ gpsLocation_t GPS_home;
|
||||||
uint16_t GPS_distanceToHome; // distance to home point in meters
|
uint16_t GPS_distanceToHome; // distance to home point in meters
|
||||||
int16_t GPS_directionToHome; // direction to home point in degrees
|
int16_t GPS_directionToHome; // direction to home point in degrees
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
#if defined(NAV_NON_VOLATILE_WAYPOINT_STORAGE)
|
#if defined(NAV_NON_VOLATILE_WAYPOINT_STORAGE)
|
||||||
PG_DECLARE_ARRAY(navWaypoint_t, NAV_MAX_WAYPOINTS, nonVolatileWaypointList);
|
PG_DECLARE_ARRAY(navWaypoint_t, NAV_MAX_WAYPOINTS, nonVolatileWaypointList);
|
||||||
PG_REGISTER_ARRAY(navWaypoint_t, NAV_MAX_WAYPOINTS, nonVolatileWaypointList, PG_WAYPOINT_MISSION_STORAGE, 0);
|
PG_REGISTER_ARRAY(navWaypoint_t, NAV_MAX_WAYPOINTS, nonVolatileWaypointList, PG_WAYPOINT_MISSION_STORAGE, 0);
|
||||||
|
|
|
@ -31,7 +31,7 @@ extern int16_t GPS_directionToHome; // direction to home poin
|
||||||
/* Navigation system updates */
|
/* Navigation system updates */
|
||||||
void onNewGPSData(void);
|
void onNewGPSData(void);
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
#if defined(USE_BLACKBOX)
|
#if defined(USE_BLACKBOX)
|
||||||
#define NAV_BLACKBOX
|
#define NAV_BLACKBOX
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
|
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "build/debug.h"
|
#include "build/debug.h"
|
||||||
|
@ -428,7 +428,7 @@ void applyFixedWingPitchRollThrottleController(navigationFSMStateFlags_t navStat
|
||||||
pitchCorrection += posControl.rcAdjustment[PITCH];
|
pitchCorrection += posControl.rcAdjustment[PITCH];
|
||||||
throttleCorrection += DECIDEGREES_TO_DEGREES(pitchCorrection) * navConfig()->fw.pitch_to_throttle;
|
throttleCorrection += DECIDEGREES_TO_DEGREES(pitchCorrection) * navConfig()->fw.pitch_to_throttle;
|
||||||
|
|
||||||
#ifdef FIXED_WING_LANDING
|
#ifdef NAV_FIXED_WING_LANDING
|
||||||
if (navStateFlags & NAV_CTL_LAND) {
|
if (navStateFlags & NAV_CTL_LAND) {
|
||||||
/*
|
/*
|
||||||
* During LAND we do not allow to raise THROTTLE when nose is up
|
* During LAND we do not allow to raise THROTTLE when nose is up
|
||||||
|
@ -438,7 +438,7 @@ void applyFixedWingPitchRollThrottleController(navigationFSMStateFlags_t navStat
|
||||||
} else {
|
} else {
|
||||||
#endif
|
#endif
|
||||||
throttleCorrection = constrain(throttleCorrection, minThrottleCorrection, maxThrottleCorrection);
|
throttleCorrection = constrain(throttleCorrection, minThrottleCorrection, maxThrottleCorrection);
|
||||||
#ifdef FIXED_WING_LANDING
|
#ifdef NAV_FIXED_WING_LANDING
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -467,7 +467,7 @@ void applyFixedWingPitchRollThrottleController(navigationFSMStateFlags_t navStat
|
||||||
rcCommand[THROTTLE] = constrain(correctedThrottleValue, motorConfig()->minthrottle, motorConfig()->maxthrottle);
|
rcCommand[THROTTLE] = constrain(correctedThrottleValue, motorConfig()->minthrottle, motorConfig()->maxthrottle);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FIXED_WING_LANDING
|
#ifdef NAV_FIXED_WING_LANDING
|
||||||
/*
|
/*
|
||||||
* Then altitude is below landing slowdown min. altitude, enable final approach procedure
|
* Then altitude is below landing slowdown min. altitude, enable final approach procedure
|
||||||
* TODO refactor conditions in this metod if logic is proven to be correct
|
* TODO refactor conditions in this metod if logic is proven to be correct
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
|
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "build/debug.h"
|
#include "build/debug.h"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
|
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "build/debug.h"
|
#include "build/debug.h"
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
|
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "build/debug.h"
|
#include "build/debug.h"
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
|
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "build/debug.h"
|
#include "build/debug.h"
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#define DISTANCE_BETWEEN_TWO_LONGITUDE_POINTS_AT_EQUATOR 1.113195f // MagicEarthNumber from APM
|
#define DISTANCE_BETWEEN_TWO_LONGITUDE_POINTS_AT_EQUATOR 1.113195f // MagicEarthNumber from APM
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
|
|
||||||
#include "common/filter.h"
|
#include "common/filter.h"
|
||||||
#include "fc/runtime_config.h"
|
#include "fc/runtime_config.h"
|
||||||
|
|
|
@ -326,7 +326,7 @@ static void telemetryRX(void)
|
||||||
if (sensors(SENSOR_GPS)) {
|
if (sensors(SENSOR_GPS)) {
|
||||||
uint16_t gpsspeed = (gpsSol.groundSpeed*9L)/250L;
|
uint16_t gpsspeed = (gpsSol.groundSpeed*9L)/250L;
|
||||||
int16_t course = (gpsSol.groundCourse+360)%360;
|
int16_t course = (gpsSol.groundCourse+360)%360;
|
||||||
#ifdef NAV
|
#ifdef USE_NAV
|
||||||
int32_t alt = getEstimatedActualPosition(Z);
|
int32_t alt = getEstimatedActualPosition(Z);
|
||||||
#else
|
#else
|
||||||
int32_t alt = baro.BaroAlt;
|
int32_t alt = baro.BaroAlt;
|
||||||
|
|
|
@ -51,7 +51,7 @@ typedef struct {
|
||||||
typedef enum {
|
typedef enum {
|
||||||
/* Actual tasks */
|
/* Actual tasks */
|
||||||
TASK_SYSTEM = 0,
|
TASK_SYSTEM = 0,
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
TASK_PID,
|
TASK_PID,
|
||||||
TASK_GYRO,
|
TASK_GYRO,
|
||||||
TASK_ACC,
|
TASK_ACC,
|
||||||
|
|
|
@ -454,7 +454,7 @@ static void applyAccelerationZero(const flightDynamicsTrims_t * accZero, const f
|
||||||
accADC[Z] = (accADC[Z] - accZero->raw[Z]) * accGain->raw[Z] / 4096;
|
accADC[Z] = (accADC[Z] - accZero->raw[Z]) * accGain->raw[Z] / 4096;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
STATIC_FASTRAM float accumulatedMeasurements[XYZ_AXIS_COUNT];
|
STATIC_FASTRAM float accumulatedMeasurements[XYZ_AXIS_COUNT];
|
||||||
STATIC_FASTRAM int accumulatedMeasurementCount;
|
STATIC_FASTRAM int accumulatedMeasurementCount;
|
||||||
|
|
||||||
|
@ -472,7 +472,7 @@ static void accUpdateAccumulatedMeasurements(void)
|
||||||
*/
|
*/
|
||||||
void accGetMeasuredAcceleration(t_fp_vector *measuredAcc)
|
void accGetMeasuredAcceleration(t_fp_vector *measuredAcc)
|
||||||
{
|
{
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
if (accumulatedMeasurementCount) {
|
if (accumulatedMeasurementCount) {
|
||||||
for (int axis = 0; axis < XYZ_AXIS_COUNT; axis++) {
|
for (int axis = 0; axis < XYZ_AXIS_COUNT; axis++) {
|
||||||
measuredAcc->A[axis] = accumulatedMeasurements[axis] * GRAVITY_CMSS / accumulatedMeasurementCount;
|
measuredAcc->A[axis] = accumulatedMeasurements[axis] * GRAVITY_CMSS / accumulatedMeasurementCount;
|
||||||
|
@ -528,7 +528,7 @@ void accUpdate(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
accUpdateAccumulatedMeasurements();
|
accUpdateAccumulatedMeasurements();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -357,7 +357,7 @@ STATIC_UNIT_TESTED void performGyroCalibration(gyroDev_t *dev, gyroCalibration_t
|
||||||
gyroCalibration->calibratingG--;
|
gyroCalibration->calibratingG--;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
STATIC_FASTRAM float accumulatedRates[XYZ_AXIS_COUNT];
|
STATIC_FASTRAM float accumulatedRates[XYZ_AXIS_COUNT];
|
||||||
STATIC_FASTRAM timeUs_t accumulatedRateTimeUs;
|
STATIC_FASTRAM timeUs_t accumulatedRateTimeUs;
|
||||||
|
|
||||||
|
@ -376,7 +376,7 @@ static void gyroUpdateAccumulatedRates(timeDelta_t gyroUpdateDeltaUs)
|
||||||
*/
|
*/
|
||||||
void gyroGetMeasuredRotationRate(t_fp_vector *measuredRotationRate)
|
void gyroGetMeasuredRotationRate(t_fp_vector *measuredRotationRate)
|
||||||
{
|
{
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
const float accumulatedRateTime = accumulatedRateTimeUs * 1e-6;
|
const float accumulatedRateTime = accumulatedRateTimeUs * 1e-6;
|
||||||
accumulatedRateTimeUs = 0;
|
accumulatedRateTimeUs = 0;
|
||||||
for (int axis = 0; axis < 3; axis++) {
|
for (int axis = 0; axis < 3; axis++) {
|
||||||
|
@ -432,7 +432,7 @@ void gyroUpdate(timeDelta_t gyroUpdateDeltaUs)
|
||||||
gyro.gyroADCf[axis] = gyroADCf;
|
gyro.gyroADCf[axis] = gyroADCf;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ASYNC_GYRO_PROCESSING
|
#ifdef USE_ASYNC_GYRO_PROCESSING
|
||||||
// Accumulate gyro readings for better IMU accuracy
|
// Accumulate gyro readings for better IMU accuracy
|
||||||
gyroUpdateAccumulatedRates(gyroUpdateDeltaUs);
|
gyroUpdateAccumulatedRates(gyroUpdateDeltaUs);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -160,7 +160,7 @@
|
||||||
|
|
||||||
#define SENSORS_SET (SENSOR_ACC|SENSOR_MAG|SENSOR_BARO)
|
#define SENSORS_SET (SENSOR_ACC|SENSOR_MAG|SENSOR_BARO)
|
||||||
|
|
||||||
#define NAV
|
#define USE_NAV
|
||||||
#define NAV_AUTO_MAG_DECLINATION
|
#define NAV_AUTO_MAG_DECLINATION
|
||||||
#define NAV_GPS_GLITCH_DETECTION
|
#define NAV_GPS_GLITCH_DETECTION
|
||||||
|
|
||||||
|
|
|
@ -167,7 +167,7 @@
|
||||||
// #define USE_RANGEFINDER_SRF10
|
// #define USE_RANGEFINDER_SRF10
|
||||||
|
|
||||||
// *************** NAV *****************************
|
// *************** NAV *****************************
|
||||||
#define NAV
|
#define USE_NAV
|
||||||
#define NAV_AUTO_MAG_DECLINATION
|
#define NAV_AUTO_MAG_DECLINATION
|
||||||
#define NAV_GPS_GLITCH_DETECTION
|
#define NAV_GPS_GLITCH_DETECTION
|
||||||
#define NAV_MAX_WAYPOINTS 60
|
#define NAV_MAX_WAYPOINTS 60
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
#define USE_BLACKBOX
|
#define USE_BLACKBOX
|
||||||
#define USE_GPS
|
#define USE_GPS
|
||||||
#define USE_GPS_PROTO_UBLOX
|
#define USE_GPS_PROTO_UBLOX
|
||||||
#define NAV
|
#define USE_NAV
|
||||||
#define USE_FLM_TURN_ASSIST // This is mandatory for fixed-wing navigation
|
#define USE_FLM_TURN_ASSIST // This is mandatory for fixed-wing navigation
|
||||||
#define USE_TELEMETRY
|
#define USE_TELEMETRY
|
||||||
#define USE_TELEMETRY_LTM
|
#define USE_TELEMETRY_LTM
|
||||||
|
@ -59,12 +59,12 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (FLASH_SIZE > 128)
|
#if (FLASH_SIZE > 128)
|
||||||
#define FIXED_WING_LANDING
|
#define NAV_FIXED_WING_LANDING
|
||||||
#define AUTOTUNE_FIXED_WING
|
#define AUTOTUNE_FIXED_WING
|
||||||
#define ASYNC_GYRO_PROCESSING
|
#define USE_ASYNC_GYRO_PROCESSING
|
||||||
#define BOOTLOG
|
#define USE_BOOTLOG
|
||||||
#define BOOTLOG_DESCRIPTIONS
|
#define BOOTLOG_DESCRIPTIONS
|
||||||
#define STATS
|
#define USE_STATS
|
||||||
#define USE_64BIT_TIME
|
#define USE_64BIT_TIME
|
||||||
#define USE_GYRO_NOTCH_1
|
#define USE_GYRO_NOTCH_1
|
||||||
#define USE_GYRO_NOTCH_2
|
#define USE_GYRO_NOTCH_2
|
||||||
|
|
|
@ -132,7 +132,7 @@ void ltm_gframe(sbuf_t *dst)
|
||||||
ltm_gs = gpsSol.groundSpeed / 100;
|
ltm_gs = gpsSol.groundSpeed / 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
ltm_alt = getEstimatedActualPosition(Z); // cm
|
ltm_alt = getEstimatedActualPosition(Z); // cm
|
||||||
#else
|
#else
|
||||||
ltm_alt = sensors(SENSOR_GPS) ? gpsSol.llh.alt : 0; // cm
|
ltm_alt = sensors(SENSOR_GPS) ? gpsSol.llh.alt : 0; // cm
|
||||||
|
@ -247,7 +247,7 @@ void ltm_xframe(sbuf_t *dst)
|
||||||
ltm_x_counter++; // overflow is OK
|
ltm_x_counter++; // overflow is OK
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
/** OSD additional data frame, ~4 Hz rate, navigation system status
|
/** OSD additional data frame, ~4 Hz rate, navigation system status
|
||||||
*/
|
*/
|
||||||
void ltm_nframe(sbuf_t *dst)
|
void ltm_nframe(sbuf_t *dst)
|
||||||
|
@ -363,7 +363,7 @@ static void process_ltm(void)
|
||||||
ltm_finalise(dst);
|
ltm_finalise(dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
if (current_schedule & LTM_BIT_NFRAME) {
|
if (current_schedule & LTM_BIT_NFRAME) {
|
||||||
ltm_initialise_packet(dst);
|
ltm_initialise_packet(dst);
|
||||||
ltm_nframe(dst);
|
ltm_nframe(dst);
|
||||||
|
@ -476,7 +476,7 @@ int getLtmFrame(uint8_t *frame, ltm_frame_e ltmFrameType)
|
||||||
case LTM_XFRAME:
|
case LTM_XFRAME:
|
||||||
ltm_xframe(sbuf);
|
ltm_xframe(sbuf);
|
||||||
break;
|
break;
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
case LTM_NFRAME:
|
case LTM_NFRAME:
|
||||||
ltm_nframe(sbuf);
|
ltm_nframe(sbuf);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -28,7 +28,7 @@ typedef enum {
|
||||||
LTM_OFRAME, // Origin Frame
|
LTM_OFRAME, // Origin Frame
|
||||||
LTM_XFRAME, // Extended information data frame
|
LTM_XFRAME, // Extended information data frame
|
||||||
#endif
|
#endif
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
LTM_NFRAME, // Navigation Frame (inav extension)
|
LTM_NFRAME, // Navigation Frame (inav extension)
|
||||||
#endif
|
#endif
|
||||||
LTM_FRAME_COUNT
|
LTM_FRAME_COUNT
|
||||||
|
|
|
@ -327,7 +327,7 @@ void mavlinkSendPosition(timeUs_t currentTimeUs)
|
||||||
// alt Altitude in 1E3 meters (millimeters) above MSL
|
// alt Altitude in 1E3 meters (millimeters) above MSL
|
||||||
gpsSol.llh.alt * 10,
|
gpsSol.llh.alt * 10,
|
||||||
// relative_alt Altitude above ground in meters, expressed as * 1000 (millimeters)
|
// relative_alt Altitude above ground in meters, expressed as * 1000 (millimeters)
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
getEstimatedActualPosition(Z) * 10,
|
getEstimatedActualPosition(Z) * 10,
|
||||||
#else
|
#else
|
||||||
gpsSol.llh.alt * 10,
|
gpsSol.llh.alt * 10,
|
||||||
|
@ -398,7 +398,7 @@ void mavlinkSendHUDAndHeartbeat(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// select best source for altitude
|
// select best source for altitude
|
||||||
#if defined(NAV)
|
#if defined(USE_NAV)
|
||||||
mavAltitude = getEstimatedActualPosition(Z) / 100.0f;
|
mavAltitude = getEstimatedActualPosition(Z) / 100.0f;
|
||||||
mavClimbRate = getEstimatedActualVelocity(Z) / 100.0f;
|
mavClimbRate = getEstimatedActualVelocity(Z) / 100.0f;
|
||||||
#elif defined(USE_GPS)
|
#elif defined(USE_GPS)
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#define USE_GPS_PROTO_NAZA
|
#define USE_GPS_PROTO_NAZA
|
||||||
#define USE_GPS_PROTO_MTK
|
#define USE_GPS_PROTO_MTK
|
||||||
#define USE_DASHBOARD
|
#define USE_DASHBOARD
|
||||||
#define NAV
|
#define USE_NAV
|
||||||
#define USE_TELEMETRY
|
#define USE_TELEMETRY
|
||||||
#define USE_TELEMETRY_FRSKY
|
#define USE_TELEMETRY_FRSKY
|
||||||
#define USE_TELEMETRY_HOTT
|
#define USE_TELEMETRY_HOTT
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue