+ printf(" Execution Error: %s\n", status & (1 << 28) ? "Yes" : "No" );
+ printf(" ID Error: %s\n", status & (1 << 29) ? "Yes" : "No" );
+ printf(" Invalid Command: %s\n", status & (1 << 30) ? "Yes" : "No" );
+ printf(" WDT Busy: %s\n", status & (1 << 31) ? "Yes" : "No" );
+ printf(" Dry Run DONE: %s\n", status & (1UL << 33) ? "Yes" : "No" );
+
+ uint8_t bse_error1 = (status & (0b1111UL << 34)) >> 34;
+ switch (bse_error1){
+ case 0b0000: printf(" BSE Error 1 Code: (Previous Bitstream) No Error (0b000)\n"); break;
+ case 0b0001: printf(" BSE Error 1 Code: (Previous Bitstream) ID Error (0b001)\n"); break;
+ case 0b0010: printf(" BSE Error 1 Code: (Previous Bitstream) CMD Error - illegal command (0b010)\n"); break;
+ case 0b0011: printf(" BSE Error 1 Code: (Previous Bitstream) CRC Error (0b011)\n"); break;
+ case 0b0100: printf(" BSE Error 1 Code: (Previous Bitstream) PRMB Error - preamble error (0b100)\n"); break;
+ case 0b0101: printf(" BSE Error 1 Code: (Previous Bitstream) ABRT Error - configuration aborted by the user (0b101)\n"); break;
+ case 0b0110: printf(" BSE Error 1 Code: (Previous Bitstream) OVFL Error - data overflow error (0b110)\n"); break;
+ case 0b0111: printf(" BSE Error 1 Code: (Previous Bitstream) SDM Error - bitstream pass the size of SRAM array (0b111)\n"); break;
+ case 0b1000: printf(" BSE Error 1 Code: (Previous Bitstream) Authentication Error (0b1000)\n"); break;
+ case 0b1001: printf(" BSE Error 1 Code: (Previous Bitstream) Authentication Setup Error (0b1001)\n"); break;
+ case 0b1010: printf(" BSE Error 1 Code: (Previous Bitstream) Bitstream Engine Timeout Error (0b1010) \n"); break;
+ }
+
+ printf(" Bypass Mode: %s\n", status & (1UL << 38) ? "Yes" : "No" );
+ printf(" Flow Through Mode: %s\n", status & (1UL << 39) ? "Yes" : "No" );
+ printf(" SFDP Timeout: %s\n", status & (1UL << 42) ? "Yes" : "No" );
+ printf(" Key Destroy Pass: %s\n", status & (1UL << 43) ? "Yes" : "No" );
+ printf(" INITN: %s\n", status & (1UL << 44) ? "Yes" : "No" );
+ printf(" I3C Parity Error 2: %s\n", status & (1UL << 45) ? "Yes" : "No" );
+ printf(" Init Bus ID Error: %s\n", status & (1UL << 46) ? "Yes" : "No" );
+ printf(" I3C Parity Error 1: %s\n", status & (1UL << 47) ? "Yes" : "No" );
+
+ uint8_t auth_mode = (status & (0b11UL << 48)) >> 48;
+ switch (auth_mode){
+ case 0b00: printf(" Authentication Mode: No Auth (0b00)\n"); break;
+ case 0b01: printf(" Authentication Mode: ECDSA (0b01)\n"); break;
+ case 0b10: printf(" Authentication Mode: HMAC (0b10)\n"); break;
+ case 0b11: printf(" Authentication Mode: No Auth (0b11)\n"); break;
+ }