示例#1
0
void Pause::task()
{
    /*
     * The system is paused for
     */

    BitVector<NUM_WORK_ITEMS> pending = taskWork;
    unsigned index;

    while (pending.clearFirst(index)) {
        taskWork.atomicClear(index);
        switch (index) {

        case ButtonPress:
            onButtonChange();
            break;

        case ButtonHold:
            monitorButtonHold();
            break;

        case BluetoothPairing:
            mainLoop(ModeBluetoothPairing);
            break;

        case LowBattery:
            mainLoop(ModeLowBattery);
            break;
        }
    }
}