~toykeeper/flashlight-firmware/fsm

« back to all changes in this revision

Viewing changes to ToyKeeper/spaghetti-monster/meteor/meteor.c

  • Committer: Selene ToyKeeper
  • Date: 2023-11-04 15:09:10 UTC
  • mfrom: (483.1.175 anduril2)
  • Revision ID: bzr@toykeeper.net-20231104150910-ddd3afw4nhfvof2l
merged anduril2 branch -> fsm, with *years* of changes
(this also means this code is now Anduril 2 instead of Anduril 1)

Show diffs side-by-side

added added

removed removed

Lines of Context:
262
262
    // 1 click: off
263
263
    if (event == EV_1click) {
264
264
        set_state(base_off_state, 0);
265
 
        return MISCHIEF_MANAGED;
 
265
        return EVENT_HANDLED;
266
266
    }
267
267
    #ifdef USE_THERMAL_REGULATION
268
268
    // overheating: drop by an amount proportional to how far we are above the ceiling
312
312
    else if (event == EV_2clicks) {
313
313
        *mode ^= 1;
314
314
        set_any_mode(*mode, group);
315
 
        return MISCHIEF_MANAGED;
 
315
        return EVENT_HANDLED;
316
316
    }
317
317
    // hold: turbo
318
318
    else if (event == EV_hold) {
319
319
        if (arg == 0) set_level(MAX_LEVEL);
320
 
        return MISCHIEF_MANAGED;
 
320
        return EVENT_HANDLED;
321
321
    }
322
322
    // release: exit turbo
323
323
    else if (event == EV_click1_hold_release) {
324
324
        set_any_mode(*mode, group);
325
 
        return MISCHIEF_MANAGED;
 
325
        return EVENT_HANDLED;
326
326
    }
327
327
    return base_on_state(event, arg, mode, group);
328
328
}
361
361
    else if (event == EV_2clicks) {
362
362
        *mode ^= 1;
363
363
        set_any_mode(*mode, group);
364
 
        return MISCHIEF_MANAGED;
 
364
        return EVENT_HANDLED;
365
365
    }
366
366
    // hold: rotate through low/mid/high/turbo
367
367
    else if (event == EV_hold) {
371
371
        else if (arg % HOLD_TIMEOUT == 1) {
372
372
            set_any_mode(*mode, group);
373
373
        }
374
 
        return MISCHIEF_MANAGED;
 
374
        return EVENT_HANDLED;
375
375
    }
376
376
    return base_on_state(event, arg, mode, group);
377
377
}
413
413
    /*
414
414
    else if (event == EV_click1_hold) {
415
415
        set_level(levels[*mode]);
416
 
        return MISCHIEF_MANAGED;
 
416
        return EVENT_HANDLED;
417
417
    }
418
418
    */
419
419
    // hold: turbo
427
427
    // 1 click: off
428
428
    if (event == EV_1click) {
429
429
        set_state(base_off_state, 0);
430
 
        return MISCHIEF_MANAGED;
 
430
        return EVENT_HANDLED;
431
431
    }
432
432
    return EVENT_NOT_HANDLED;
433
433
}