unsigned lowest_bit = changes&~(changes-1);
unsigned i;
for(i=0; (lowest_bit>>i)>1; ++i) ;
+ active_index = i;
acc.state.set(acc.state^lowest_bit);
PendingCommand cmd(acc, Accessory::ACTIVATE, i);
command_queue.push(cmd);
if(t>off_timeout)
{
off_timeout = Time::TimeStamp();
- PendingCommand cmd(*active_accessory, Accessory::DEACTIVATE);
+ PendingCommand cmd(*active_accessory, Accessory::DEACTIVATE, active_index);
command_queue.push(cmd);
}
}