Merge remote-tracking branch 'RebornedBrain/reborned/ultralight_write' into dev

This commit is contained in:
MX 2024-06-06 00:48:46 +03:00
commit 373f61459a
No known key found for this signature in database
GPG Key ID: 7CCC66B7DBDD1C83
5 changed files with 22 additions and 2 deletions

View File

@ -191,7 +191,8 @@ static void nfc_scene_read_and_saved_menu_on_enter_mf_ultralight(NfcApp* instanc
instance);
} else if(
data->type == MfUltralightTypeNTAG213 || data->type == MfUltralightTypeNTAG215 ||
data->type == MfUltralightTypeNTAG216) {
data->type == MfUltralightTypeNTAG216 || data->type == MfUltralightTypeUL11 ||
data->type == MfUltralightTypeUL21) {
submenu_add_item(
submenu,
"Write",

View File

@ -570,6 +570,22 @@ uint16_t mf_ultralight_get_config_page_num(MfUltralightType type) {
return mf_ultralight_features[type].config_page;
}
uint8_t mf_ultralight_get_write_end_page(MfUltralightType type) {
furi_check(type < MfUltralightTypeNum);
furi_assert(
type == MfUltralightTypeUL11 || type == MfUltralightTypeUL21 ||
type == MfUltralightTypeNTAG213 || type == MfUltralightTypeNTAG215 ||
type == MfUltralightTypeNTAG216);
uint8_t end_page = mf_ultralight_get_config_page_num(type);
if(type == MfUltralightTypeNTAG213 || type == MfUltralightTypeNTAG215 ||
type == MfUltralightTypeNTAG216) {
end_page -= 1;
}
return end_page;
}
uint8_t mf_ultralight_get_pwd_page_num(MfUltralightType type) {
furi_check(type < MfUltralightTypeNum);

View File

@ -210,6 +210,8 @@ uint32_t mf_ultralight_get_feature_support_set(MfUltralightType type);
uint16_t mf_ultralight_get_config_page_num(MfUltralightType type);
uint8_t mf_ultralight_get_write_end_page(MfUltralightType type);
uint8_t mf_ultralight_get_pwd_page_num(MfUltralightType type);
bool mf_ultralight_is_page_pwd_or_pack(MfUltralightType type, uint16_t page_num);

View File

@ -616,7 +616,7 @@ static NfcCommand mf_ultralight_poller_handler_write_pages(MfUltralightPoller* i
do {
const MfUltralightData* write_data = instance->mfu_event.data->write_data;
uint8_t end_page = mf_ultralight_get_config_page_num(write_data->type) - 1;
uint8_t end_page = mf_ultralight_get_write_end_page(write_data->type);
if(instance->current_page == end_page) {
instance->state = MfUltralightPollerStateWriteSuccess;
break;

View File

@ -2576,6 +2576,7 @@ Function,+,mf_ultralight_get_pages_total,uint16_t,MfUltralightType
Function,+,mf_ultralight_get_pwd_page_num,uint8_t,MfUltralightType
Function,+,mf_ultralight_get_type_by_version,MfUltralightType,MfUltralightVersion*
Function,+,mf_ultralight_get_uid,const uint8_t*,"const MfUltralightData*, size_t*"
Function,+,mf_ultralight_get_write_end_page,uint8_t,MfUltralightType
Function,+,mf_ultralight_is_all_data_read,_Bool,const MfUltralightData*
Function,+,mf_ultralight_is_counter_configured,_Bool,const MfUltralightData*
Function,+,mf_ultralight_is_equal,_Bool,"const MfUltralightData*, const MfUltralightData*"

1 entry status name type params
2576 Function + mf_ultralight_get_pwd_page_num uint8_t MfUltralightType
2577 Function + mf_ultralight_get_type_by_version MfUltralightType MfUltralightVersion*
2578 Function + mf_ultralight_get_uid const uint8_t* const MfUltralightData*, size_t*
2579 Function + mf_ultralight_get_write_end_page uint8_t MfUltralightType
2580 Function + mf_ultralight_is_all_data_read _Bool const MfUltralightData*
2581 Function + mf_ultralight_is_counter_configured _Bool const MfUltralightData*
2582 Function + mf_ultralight_is_equal _Bool const MfUltralightData*, const MfUltralightData*