Allow for skipping bootloader double-reset wait
This commit is contained in:
		@@ -105,6 +105,7 @@ void usb_teardown(void);
 | 
			
		||||
#define DFU_MAGIC_UF2_RESET             0x57
 | 
			
		||||
 | 
			
		||||
#define DFU_DBL_RESET_MAGIC             0x5A1AD5      // SALADS
 | 
			
		||||
#define DFU_DBL_RESET_APP               0x4ee5677e
 | 
			
		||||
#define DFU_DBL_RESET_DELAY             500
 | 
			
		||||
#define DFU_DBL_RESET_MEM               0x20007F7C
 | 
			
		||||
 | 
			
		||||
@@ -197,9 +198,10 @@ int main(void)
 | 
			
		||||
  _ota_dfu = _ota_dfu  || ( button_pressed(BUTTON_DFU) && button_pressed(BUTTON_FRESET) ) ;
 | 
			
		||||
 | 
			
		||||
  bool const valid_app = bootloader_app_is_valid(DFU_BANK_0_REGION_START);
 | 
			
		||||
  bool const just_start_app = valid_app && !dfu_start && (*dbl_reset_mem) == DFU_DBL_RESET_APP;
 | 
			
		||||
 | 
			
		||||
  // App mode: register 1st reset and DFU startup (nrf52832)
 | 
			
		||||
  if ( ! (dfu_start || !valid_app) )
 | 
			
		||||
  if ( ! (just_start_app || dfu_start || !valid_app) )
 | 
			
		||||
  {
 | 
			
		||||
    // Register our first reset for double reset detection
 | 
			
		||||
    (*dbl_reset_mem) = DFU_DBL_RESET_MAGIC;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user