[FL-3677, FL-3798] RFID Improvements (#3524)

* Update saved_info and read_success scenes
* Update EM4100 rendering
* Update HIDExt rendering
* Update Gallagher rendering
* Update HidProx rendering
* Update IOProx rendering
* Update H10301 rendering
* Update PAC/Stanley rendering
* Add strcasecmp() to API, better manufacturer/name handling
* Update Viking rendering
* Update FDX-A rendering
* Update Pyramid rendering
* Update Indala26 rendering
* Update Idteck rendering
* Update Keri rendering
* Update Nexwatch rendering
* Update Jablotron rendering
* Update Paradox rendering
* Truncate long Hex string on scene_read_suceess
* Fix formatting
* Update AWID rendering
* Update FDX-B rendering
* Tweak string formatting in various screens
* More read_success view tweaks
* Fix formatting
* Fix Pyramid brief rendering
* Reset saved key menu when going back
* Reset other menus on back where applicable
* Update confirmation scenes
* Update emulation scene
* Update delete scene
* Update raw read info screen
* Update raw read scene, fix crash
* Update raw read success scene
* Update write scene
* Always return to SceneSelectKey after saving
* Update SceneWriteSuccess and SceneDeleteSuccess
* Replace closing parens with dots
* FL-3798: Fix special formatting in text_box
* Simplify SceneReadSuccess
* Fix crash when having a trailing newline in text_box
* Bump API symbols version
* Make PVS happy
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Georgii Surkov
2024-03-29 06:32:43 +03:00
committed by GitHub
parent c353182353
commit 64bd2f9c84
41 changed files with 512 additions and 352 deletions

View File

@@ -164,7 +164,8 @@ void protocol_awid_render_data(ProtocolAwid* protocol, FuriString* result) {
uint8_t* decoded_data = protocol->data;
uint8_t format_length = decoded_data[0];
furi_string_cat_printf(result, "Format: %d\r\n", format_length);
furi_string_printf(result, "Format: %hhu\n", format_length);
if(format_length == 26) {
uint8_t facility;
bit_lib_copy_bits(&facility, 0, 8, decoded_data, 9);
@@ -172,13 +173,17 @@ void protocol_awid_render_data(ProtocolAwid* protocol, FuriString* result) {
uint16_t card_id;
bit_lib_copy_bits((uint8_t*)&card_id, 8, 8, decoded_data, 17);
bit_lib_copy_bits((uint8_t*)&card_id, 0, 8, decoded_data, 25);
furi_string_cat_printf(result, "Facility: %d\r\n", facility);
furi_string_cat_printf(result, "Card: %d", card_id);
furi_string_cat_printf(
result,
"FC: %hhu\n"
"Card: %hu",
facility,
card_id);
} else {
// print 66 bits as hex
furi_string_cat_printf(result, "Data: ");
for(size_t i = 0; i < AWID_DECODED_DATA_SIZE; i++) {
furi_string_cat_printf(result, "%02X", decoded_data[i]);
furi_string_cat_printf(result, "%02hhX", decoded_data[i]);
}
}
};
@@ -187,7 +192,8 @@ void protocol_awid_render_brief_data(ProtocolAwid* protocol, FuriString* result)
uint8_t* decoded_data = protocol->data;
uint8_t format_length = decoded_data[0];
furi_string_cat_printf(result, "Format: %d\r\n", format_length);
furi_string_printf(result, "Format: %hhu", format_length);
if(format_length == 26) {
uint8_t facility;
bit_lib_copy_bits(&facility, 0, 8, decoded_data, 9);
@@ -195,9 +201,14 @@ void protocol_awid_render_brief_data(ProtocolAwid* protocol, FuriString* result)
uint16_t card_id;
bit_lib_copy_bits((uint8_t*)&card_id, 8, 8, decoded_data, 17);
bit_lib_copy_bits((uint8_t*)&card_id, 0, 8, decoded_data, 25);
furi_string_cat_printf(result, "ID: %03u,%05u", facility, card_id);
furi_string_cat_printf(
result,
"; FC: %hhu\n"
"Card: %hu",
facility,
card_id);
} else {
furi_string_cat_printf(result, "Data: unknown");
furi_string_cat(result, "\nData: Unknown");
}
};
@@ -252,4 +263,4 @@ const ProtocolBase protocol_awid = {
.render_data = (ProtocolRenderData)protocol_awid_render_data,
.render_brief_data = (ProtocolRenderData)protocol_awid_render_brief_data,
.write_data = (ProtocolWriteData)protocol_awid_write_data,
};
};