| 
					
				 | 
			
			
				@@ -685,6 +685,18 @@ void failstats_reset_print() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	eeprom_update_byte((uint8_t *)EEPROM_MMU_LOAD_FAIL, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+extern "C" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+void __attribute__ ((naked)) __attribute__ ((section (".init3"))) stopWatchdogOnInit(void) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Regardless if the watchdog support is enabled or not, disable the watchdog very early 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // after the program starts since there's no danger in doing this. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // The reason for this is because old bootloaders might not handle the watchdog timer at all, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // leaving it enabled when jumping to the program. This could cause another watchdog reset 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // during setup() if not handled properly. So to avoid any issue of this kind, stop the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // watchdog timer manually. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    wdt_disable(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void softReset() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cli(); 
			 |