~ruther/qmk_firmware

58142f0726147d538167ff3ab793743348f40dcd — Nick Brassel 4 years ago 6cdc996
Fixup housekeeping from being invoked twice per loop. (#12933)

M tmk_core/common/keyboard.c => tmk_core/common/keyboard.c +9 -3
@@ 280,6 280,15 @@ __attribute__((weak)) void housekeeping_task_kb(void) {}
 */
__attribute__((weak)) void housekeeping_task_user(void) {}

/** \brief housekeeping_task
 *
 * Invokes hooks for executing code after QMK is done after each loop iteration.
 */
void housekeeping_task(void) {
    housekeeping_task_kb();
    housekeeping_task_user();
}

/** \brief keyboard_init
 *
 * FIXME: needs doc


@@ 374,9 383,6 @@ void keyboard_task(void) {
    bool encoders_changed = false;
#endif

    housekeeping_task_kb();
    housekeeping_task_user();

    uint8_t matrix_changed = matrix_scan();
    if (matrix_changed) last_matrix_activity_trigger();


M tmk_core/common/keyboard.h => tmk_core/common/keyboard.h +3 -2
@@ 70,8 70,9 @@ void keyboard_pre_init_user(void);
void keyboard_post_init_kb(void);
void keyboard_post_init_user(void);

void housekeeping_task_kb(void);
void housekeeping_task_user(void);
void housekeeping_task(void); // To be executed by the main loop in each backend TMK protocol
void housekeeping_task_kb(void); // To be overridden by keyboard-level code
void housekeeping_task_user(void); // To be overridden by user/keymap-level code

uint32_t last_input_activity_time(void);     // Timestamp of the last matrix or encoder activity
uint32_t last_input_activity_elapsed(void);  // Number of milliseconds since the last matrix or encoder activity

M tmk_core/protocol/arm_atsam/main_arm_atsam.c => tmk_core/protocol/arm_atsam/main_arm_atsam.c +3 -0
@@ 305,6 305,9 @@ int main(void) {
            // dprintf("5v=%u 5vu=%u dlow=%u dhi=%u gca=%u gcd=%u\r\n", v_5v, v_5v_avg, v_5v_avg - V5_LOW, v_5v_avg - V5_HIGH, gcr_actual, gcr_desired);
        }
#endif  // CONSOLE_ENABLE

        // Run housekeeping
        housekeeping_task();
    }

    return 1;

M tmk_core/protocol/chibios/main.c => tmk_core/protocol/chibios/main.c +1 -2
@@ 257,7 257,6 @@ int main(void) {
#endif

        // Run housekeeping
        housekeeping_task_kb();
        housekeeping_task_user();
        housekeeping_task();
    }
}

M tmk_core/protocol/lufa/lufa.c => tmk_core/protocol/lufa/lufa.c +1 -2
@@ 1107,8 1107,7 @@ int main(void) {
#endif

        // Run housekeeping
        housekeeping_task_kb();
        housekeeping_task_user();
        housekeeping_task();
    }
}


M tmk_core/protocol/vusb/main.c => tmk_core/protocol/vusb/main.c +1 -2
@@ 173,8 173,7 @@ int main(void) {
#endif

            // Run housekeeping
            housekeeping_task_kb();
            housekeeping_task_user();
            housekeeping_task();
        }
    }
}