 e409fb47f2
			
		
	
	
		e409fb47f2
		
			
		
	
	
	
	
		
			
			* Selectively adding pieces * Adding georgi keymap * Adding more files, fixing make * Smaller makefiles * Fixing make rules * README more inline with QMK's guidelines * Turning off buggy assert * Improving documentation based on a user feedback. * Slightly better schema * Resurrected state machine diagram
		
			
				
	
	
		
			49 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			No EOL
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| digraph {
 | |
| 	IDLE
 | |
| 	READY
 | |
| 	ACTIVATED
 | |
| 	DEACTIVATED
 | |
| 	PRESS_FROM_ACTIVE
 | |
| 	FINISHED_FROM_ACTIVE
 | |
| 	IDLE_IN_DANCE
 | |
| 	READY_IN_DANCE
 | |
| 	FINISHED
 | |
| 	LOCKED
 | |
| 	READY_LOCKED
 | |
| 	RESTART
 | |
| 	IN_ONE_SHOT
 | |
| 
 | |
| 	// common
 | |
| 	FINISHED -> RESTART;
 | |
| 	RESTART -> IDLE;
 | |
| 	DEACTIVATED -> IDLE_IN_DANCE;
 | |
| 
 | |
| 	// kill_one_shots()
 | |
| 	IN_ONE_SHOT -> RESTART [label="non-one-shot key went through", color="blue"];
 | |
| 	
 | |
| 	// process_finished_dances()
 | |
| 	ACTIVATED -> PRESS_FROM_ACTIVE [label="dance timer", color="green"];
 | |
| 	IDLE_IN_DANCE -> FINISHED [label="dance timer", color="green"];
 | |
| 	PRESS_FROM_ACTIVE -> FINISHED_FROM_ACTIVE [label="dance timer", color="green"];
 | |
| 
 | |
| 	// remove_subchords()
 | |
| 	READY -> IDLE [label="superchord active", color="red"];
 | |
| 	READY_IN_DANCE -> IDLE_IN_DANCE [label="superchord active", color="red"];
 | |
| 	READY_LOCKED -> LOCKED [label="superchord active", color="red"];
 | |
| 
 | |
| 	// process_ready_chords()
 | |
| 	LOCKED -> READY_LOCKED [label="all keys pressed", color="orange"];
 | |
| 	IDLE -> READY [label="all keys pressed", color="orange"];
 | |
| 	IDLE_IN_DANCE -> READY_IN_DANCE [label="all keys pressed", color="orange"];
 | |
| 
 | |
| 	READY_LOCKED -> RESTART [label="chord timer", color="orange"];
 | |
| 	READY -> ACTIVATED [label="chord timer", color="orange"];
 | |
| 	READY_IN_DANCE -> ACTIVATED [label="chord timer", color="orange"];
 | |
| 	ACTIVATED -> PRESS_FROM_ACTIVE [label="lock next", color="orange"];
 | |
| 	PRESS_FROM_ACTIVE -> LOCKED [label="lock next", color="orange"];
 | |
| 
 | |
| 	// deactivate_active_chords()
 | |
| 	ACTIVATED -> DEACTIVATED [label="a key lifted", color="purple"];
 | |
| 	PRESS_FROM_ACTIVE -> RESTART [label="a key lifted", color="orange"];
 | |
| 	FINISHED_FROM_ACTIVE -> DEACTIVATED [label="a key lifted", color="orange"];
 | |
| } |