[arm] Virtual channels were not working any more

This commit is contained in:
bsongis
2012-12-22 21:43:00 +00:00
parent 5e29fa0737
commit 3f3cdadb30
2 changed files with 8 additions and 5 deletions
+3
View File
@@ -719,6 +719,9 @@ enum MixSources {
MIXSRC_SWA,
MIXSRC_SWB,
MIXSRC_SWC,
#if defined(CPUARM)
MIXSRC_SWW=MIXSRC_SWC+'W'-'C',
#endif
MIXSRC_CYC1,
MIXSRC_CYC2,
MIXSRC_CYC3,
+5 -5
View File
@@ -2322,12 +2322,12 @@ void perOut(uint8_t mode, uint8_t tick10ms)
if (v < 0 && !md->swtch) sw = false;
}
else {
v = getValue(k <= MIXSRC_3POS ? k : k - MAX_SWITCH);
if (k >= MIXSRC_CH1 - 1 && k <= MIXSRC_CHMAX - 1
&& md->destCh != k - MIXSRC_CH1 + 1) {
if (dirtyChannels & ((bitfield_channels_t) 1 << (k-MIXSRC_CH1+1)) & (passDirtyChannels|~(((bitfield_channels_t) 1 << md->destCh)-1)))
v = getValue(k<=MIXSRC_3POS ? k : k-MAX_SWITCH);
if (k>=MIXSRC_CH1-1 && k<=MIXSRC_CHMAX-1 && md->destCh != k-MIXSRC_CH1+1) {
if (dirtyChannels & ((bitfield_channels_t)1 << (k-MIXSRC_CH1+1)) & (passDirtyChannels|~(((bitfield_channels_t) 1 << md->destCh)-1)))
passDirtyChannels |= (bitfield_channels_t) 1 << md->destCh;
if (k - MIXSRC_CH1 + 1 < md->destCh || pass > 0) v = chans[k-MIXSRC_CH1+1] / 100;
if (k-MIXSRC_CH1+1 < md->destCh || pass > 0)
v = chans[k-MIXSRC_CH1+1] / 100;
}
}
#endif