@@ -43,7 +43,8 @@ void picopass_scene_read_card_success_on_enter(void* context) {
43
43
AA1 [PICOPASS_ICLASS_PACS_CFG_BLOCK_INDEX ].data , 0x00 , PICOPASS_BLOCK_LEN );
44
44
bool empty = picopass_is_memset (
45
45
AA1 [PICOPASS_ICLASS_PACS_CFG_BLOCK_INDEX ].data , 0xFF , PICOPASS_BLOCK_LEN );
46
- bool sio = 0x30 == AA1 [PICOPASS_ICLASS_PACS_CFG_BLOCK_INDEX ].data [0 ];
46
+ bool SE = 0x30 == AA1 [PICOPASS_ICLASS_PACS_CFG_BLOCK_INDEX ].data [0 ];
47
+ bool configCard = (AA1 [PICOPASS_ICLASS_PACS_CFG_BLOCK_INDEX ].data [7 ] >> 2 & 3 ) == 2 ;
47
48
48
49
if (no_key ) {
49
50
furi_string_cat_printf (wiegand_str , "Read Failed" );
@@ -68,7 +69,8 @@ void picopass_scene_read_card_success_on_enter(void* context) {
68
69
"More" ,
69
70
picopass_scene_read_card_success_widget_callback ,
70
71
picopass );
71
-
72
+ } else if (configCard ) {
73
+ furi_string_cat_printf (wiegand_str , "Config Card" );
72
74
} else if (empty ) {
73
75
furi_string_cat_printf (wiegand_str , "Empty" );
74
76
widget_add_button_element (
@@ -79,7 +81,7 @@ void picopass_scene_read_card_success_on_enter(void* context) {
79
81
picopass );
80
82
} else if (pacs -> bitLength == 0 || pacs -> bitLength == 255 ) {
81
83
// Neither of these are valid. Indicates the block was all 0x00 or all 0xff
82
- if (sio ) {
84
+ if (SE ) {
83
85
furi_string_cat_printf (wiegand_str , "SIO" );
84
86
} else {
85
87
furi_string_cat_printf (wiegand_str , "Invalid PACS" );
0 commit comments