Fixup housekeeping from being invoked twice per loop. (#12933)
This commit is contained in:
		
							parent
							
								
									6cdc996e0b
								
							
						
					
					
						commit
						58142f0726
					
				
					 6 changed files with 18 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -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();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -257,7 +257,6 @@ int main(void) {
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
        // Run housekeeping
 | 
			
		||||
        housekeeping_task_kb();
 | 
			
		||||
        housekeeping_task_user();
 | 
			
		||||
        housekeeping_task();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1107,8 +1107,7 @@ int main(void) {
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
        // Run housekeeping
 | 
			
		||||
        housekeeping_task_kb();
 | 
			
		||||
        housekeeping_task_user();
 | 
			
		||||
        housekeeping_task();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -173,8 +173,7 @@ int main(void) {
 | 
			
		|||
#endif
 | 
			
		||||
 | 
			
		||||
            // Run housekeeping
 | 
			
		||||
            housekeeping_task_kb();
 | 
			
		||||
            housekeeping_task_user();
 | 
			
		||||
            housekeeping_task();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue