Fix reporting of flight modes broken in 3f0754d

The conversion of the flags to bitmasks meant the mask was being bitshifted instead of 1 or 0.
This commit is contained in:
Dominic Clifton 2014-08-24 21:31:52 +01:00
parent 3f0754d295
commit b6a8e20d8c
1 changed files with 10 additions and 8 deletions

View File

@ -441,6 +441,8 @@ void mspInit(serialConfig_t *serialConfig)
openAllMSPSerialPorts(serialConfig);
}
#define IS_ENABLED(mask) (mask == 0 ? 0 : 1)
static bool processOutCommand(uint8_t cmdMSP)
{
uint32_t i, tmp, junk;
@ -466,17 +468,17 @@ static bool processOutCommand(uint8_t cmdMSP)
// the bits in order, instead of setting the enabled bits based on BOXINDEX. WHERE IS THE FUCKING LOGIC IN THIS, FUCKWADS.
// Serialize the boxes in the order we delivered them, until multiwii retards fix their shit
junk = 0;
tmp = FLIGHT_MODE(ANGLE_MODE) << BOXANGLE |
FLIGHT_MODE(HORIZON_MODE) << BOXHORIZON |
FLIGHT_MODE(BARO_MODE) << BOXBARO |
FLIGHT_MODE(MAG_MODE) << BOXMAG |
FLIGHT_MODE(HEADFREE_MODE) << BOXHEADFREE |
tmp = IS_ENABLED(FLIGHT_MODE(ANGLE_MODE)) << BOXANGLE |
IS_ENABLED(FLIGHT_MODE(HORIZON_MODE)) << BOXHORIZON |
IS_ENABLED(FLIGHT_MODE(BARO_MODE)) << BOXBARO |
IS_ENABLED(FLIGHT_MODE(MAG_MODE)) << BOXMAG |
IS_ENABLED(FLIGHT_MODE(HEADFREE_MODE)) << BOXHEADFREE |
rcOptions[BOXHEADADJ] << BOXHEADADJ |
rcOptions[BOXCAMSTAB] << BOXCAMSTAB |
rcOptions[BOXCAMTRIG] << BOXCAMTRIG |
FLIGHT_MODE(GPS_HOME_MODE) << BOXGPSHOME |
FLIGHT_MODE(GPS_HOLD_MODE) << BOXGPSHOLD |
FLIGHT_MODE(PASSTHRU_MODE) << BOXPASSTHRU |
IS_ENABLED(FLIGHT_MODE(GPS_HOME_MODE)) << BOXGPSHOME |
IS_ENABLED(FLIGHT_MODE(GPS_HOLD_MODE)) << BOXGPSHOLD |
IS_ENABLED(FLIGHT_MODE(PASSTHRU_MODE)) << BOXPASSTHRU |
rcOptions[BOXBEEPERON] << BOXBEEPERON |
rcOptions[BOXLEDMAX] << BOXLEDMAX |
rcOptions[BOXLLIGHTS] << BOXLLIGHTS |