mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-07 01:41:36 +08:00
Fixed compile and logic errors, behaving now
This commit is contained in:
@@ -174,7 +174,7 @@ mixer_tick(void)
|
|||||||
* here.
|
* here.
|
||||||
*/
|
*/
|
||||||
bool should_arm = (
|
bool should_arm = (
|
||||||
/* FMU is armed */ (r_setup_arming & PX4IO_P_SETUP_ARMING_ARM_OK) &&
|
/* FMU is armed */ (r_setup_arming & PX4IO_P_SETUP_ARMING_FMU_ARMED) &&
|
||||||
/* IO is armed */ (r_status_flags & PX4IO_P_STATUS_FLAGS_ARMED) &&
|
/* IO is armed */ (r_status_flags & PX4IO_P_STATUS_FLAGS_ARMED) &&
|
||||||
/* there is valid input */ (r_status_flags & (PX4IO_P_STATUS_FLAGS_RAW_PWM | PX4IO_P_STATUS_FLAGS_MIXER_OK)) &&
|
/* there is valid input */ (r_status_flags & (PX4IO_P_STATUS_FLAGS_RAW_PWM | PX4IO_P_STATUS_FLAGS_MIXER_OK)) &&
|
||||||
/* IO initialised without error */ (r_status_flags & PX4IO_P_STATUS_FLAGS_INIT_OK) &&
|
/* IO initialised without error */ (r_status_flags & PX4IO_P_STATUS_FLAGS_INIT_OK) &&
|
||||||
@@ -246,7 +246,7 @@ void
|
|||||||
mixer_handle_text(const void *buffer, size_t length)
|
mixer_handle_text(const void *buffer, size_t length)
|
||||||
{
|
{
|
||||||
/* do not allow a mixer change while fully armed */
|
/* do not allow a mixer change while fully armed */
|
||||||
if (/* FMU is armed */ (r_setup_arming & PX4IO_P_SETUP_ARMING_ARM_OK) &&
|
if (/* FMU is armed */ (r_setup_arming & PX4IO_P_SETUP_ARMING_FMU_ARMED) &&
|
||||||
/* IO is armed */ (r_status_flags & PX4IO_P_STATUS_FLAGS_ARMED)) {
|
/* IO is armed */ (r_status_flags & PX4IO_P_STATUS_FLAGS_ARMED)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,9 +142,10 @@ volatile uint16_t r_page_setup[] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define PX4IO_P_SETUP_FEATURES_VALID (0)
|
#define PX4IO_P_SETUP_FEATURES_VALID (0)
|
||||||
#define PX4IO_P_SETUP_ARMING_VALID (PX4IO_P_SETUP_ARMING_ARM_OK | \
|
#define PX4IO_P_SETUP_ARMING_VALID (PX4IO_P_SETUP_ARMING_FMU_ARMED | \
|
||||||
PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK | \
|
PX4IO_P_SETUP_ARMING_MANUAL_OVERRIDE_OK | \
|
||||||
PX4IO_P_SETUP_ARMING_INAIR_RESTART_OK)
|
PX4IO_P_SETUP_ARMING_INAIR_RESTART_OK | \
|
||||||
|
PX4IO_P_SETUP_ARMING_IO_ARM_OK)
|
||||||
#define PX4IO_P_SETUP_RATES_VALID ((1 << IO_SERVO_COUNT) - 1)
|
#define PX4IO_P_SETUP_RATES_VALID ((1 << IO_SERVO_COUNT) - 1)
|
||||||
#define PX4IO_P_SETUP_RELAYS_VALID ((1 << PX4IO_RELAY_CHANNELS) - 1)
|
#define PX4IO_P_SETUP_RELAYS_VALID ((1 << PX4IO_RELAY_CHANNELS) - 1)
|
||||||
|
|
||||||
@@ -311,7 +312,7 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value)
|
|||||||
* so that an in-air reset of FMU can not lead to a
|
* so that an in-air reset of FMU can not lead to a
|
||||||
* lockup of the IO arming state.
|
* lockup of the IO arming state.
|
||||||
*/
|
*/
|
||||||
if ((r_setup_arming & PX4IO_P_SETUP_ARMING_ARM_OK) && !(value & PX4IO_P_SETUP_ARMING_ARM_OK)) {
|
if ((r_setup_arming & PX4IO_P_SETUP_ARMING_FMU_ARMED) && !(value & PX4IO_P_SETUP_ARMING_FMU_ARMED)) {
|
||||||
r_status_flags &= ~PX4IO_P_STATUS_FLAGS_ARMED;
|
r_status_flags &= ~PX4IO_P_STATUS_FLAGS_ARMED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -362,7 +363,7 @@ registers_set_one(uint8_t page, uint8_t offset, uint16_t value)
|
|||||||
case PX4IO_PAGE_RC_CONFIG: {
|
case PX4IO_PAGE_RC_CONFIG: {
|
||||||
|
|
||||||
/* do not allow a RC config change while fully armed */
|
/* do not allow a RC config change while fully armed */
|
||||||
if (/* FMU is armed */ (r_setup_arming & PX4IO_P_SETUP_ARMING_ARM_OK) &&
|
if (/* FMU is armed */ (r_setup_arming & PX4IO_P_SETUP_ARMING_FMU_ARMED) &&
|
||||||
/* IO is armed */ (r_status_flags & PX4IO_P_STATUS_FLAGS_ARMED)) {
|
/* IO is armed */ (r_status_flags & PX4IO_P_STATUS_FLAGS_ARMED)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user