* New scenes for ultralight poller write mode * Added new button and transition logic for write operation For now write is only possible for NTAG21x cards with default password and no AUTHLIM set * Poller states extended * Enums and datatypes extended for new poller mode * Added mode field to poller instance datatype * New states for poller added in order to implement write mode * Added new event type for locked cards in order to simplify state flow * New logic for poller write commands * Scenes adjustments * Scenes renamed * New field added to poller instance * Now we write in 'page per call' mode * Now function takes callback return value into account * Callback will be called only in write mode * Event type added * Log adjusted and start page to write set * Logs added and check in now false at start, then it moves to true * Now mf_ultralight_poller_handler_request_write_data halts card in case of check failure and stops poller * All fail events now returns NfcCommandStop callback * In case of fail we move back properly * Remove garbage Co-authored-by: gornekich <n.gorbadey@gmail.com> Co-authored-by: あく <alleteam@gmail.com>
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
ADD_SCENE(nfc, start, Start)
 | 
						|
ADD_SCENE(nfc, file_select, FileSelect)
 | 
						|
ADD_SCENE(nfc, saved_menu, SavedMenu)
 | 
						|
ADD_SCENE(nfc, save_name, SaveName)
 | 
						|
ADD_SCENE(nfc, save_success, SaveSuccess)
 | 
						|
ADD_SCENE(nfc, delete, Delete)
 | 
						|
ADD_SCENE(nfc, delete_success, DeleteSuccess)
 | 
						|
ADD_SCENE(nfc, restore_original_confirm, RestoreOriginalConfirm)
 | 
						|
ADD_SCENE(nfc, restore_original, RestoreOriginal)
 | 
						|
 | 
						|
ADD_SCENE(nfc, detect, Detect)
 | 
						|
ADD_SCENE(nfc, read, Read)
 | 
						|
ADD_SCENE(nfc, info, Info)
 | 
						|
ADD_SCENE(nfc, more_info, MoreInfo)
 | 
						|
ADD_SCENE(nfc, supported_card, SupportedCard)
 | 
						|
ADD_SCENE(nfc, select_protocol, SelectProtocol)
 | 
						|
ADD_SCENE(nfc, extra_actions, ExtraActions)
 | 
						|
ADD_SCENE(nfc, read_success, ReadSuccess)
 | 
						|
ADD_SCENE(nfc, read_menu, ReadMenu)
 | 
						|
ADD_SCENE(nfc, emulate, Emulate)
 | 
						|
ADD_SCENE(nfc, rpc, Rpc)
 | 
						|
ADD_SCENE(nfc, debug, Debug)
 | 
						|
ADD_SCENE(nfc, field, Field)
 | 
						|
ADD_SCENE(nfc, retry_confirm, RetryConfirm)
 | 
						|
ADD_SCENE(nfc, exit_confirm, ExitConfirm)
 | 
						|
 | 
						|
ADD_SCENE(nfc, mf_ultralight_write, MfUltralightWrite)
 | 
						|
ADD_SCENE(nfc, mf_ultralight_write_success, MfUltralightWriteSuccess)
 | 
						|
ADD_SCENE(nfc, mf_ultralight_write_fail, MfUltralightWriteFail)
 | 
						|
ADD_SCENE(nfc, mf_ultralight_wrong_card, MfUltralightWrongCard)
 | 
						|
ADD_SCENE(nfc, mf_ultralight_unlock_menu, MfUltralightUnlockMenu)
 | 
						|
ADD_SCENE(nfc, mf_ultralight_unlock_warn, MfUltralightUnlockWarn)
 | 
						|
ADD_SCENE(nfc, mf_ultralight_key_input, MfUltralightKeyInput)
 | 
						|
ADD_SCENE(nfc, mf_ultralight_capture_pass, MfUltralightCapturePass)
 | 
						|
 | 
						|
ADD_SCENE(nfc, mf_desfire_more_info, MfDesfireMoreInfo)
 | 
						|
ADD_SCENE(nfc, mf_desfire_app, MfDesfireApp)
 | 
						|
 | 
						|
ADD_SCENE(nfc, mf_classic_dict_attack, MfClassicDictAttack)
 | 
						|
ADD_SCENE(nfc, mf_classic_detect_reader, MfClassicDetectReader)
 | 
						|
ADD_SCENE(nfc, mf_classic_mfkey_nonces_info, MfClassicMfkeyNoncesInfo)
 | 
						|
ADD_SCENE(nfc, mf_classic_mfkey_complete, MfClassicMfkeyComplete)
 | 
						|
ADD_SCENE(nfc, mf_classic_update_initial, MfClassicUpdateInitial)
 | 
						|
ADD_SCENE(nfc, mf_classic_update_initial_success, MfClassicUpdateInitialSuccess)
 | 
						|
ADD_SCENE(nfc, mf_classic_write_initial, MfClassicWriteInitial)
 | 
						|
ADD_SCENE(nfc, mf_classic_write_initial_success, MfClassicWriteInitialSuccess)
 | 
						|
ADD_SCENE(nfc, mf_classic_write_initial_fail, MfClassicWriteInitialFail)
 | 
						|
ADD_SCENE(nfc, mf_classic_wrong_card, MfClassicWrongCard)
 | 
						|
 | 
						|
ADD_SCENE(nfc, mf_classic_keys, MfClassicKeys)
 | 
						|
ADD_SCENE(nfc, mf_classic_keys_list, MfClassicKeysList)
 | 
						|
ADD_SCENE(nfc, mf_classic_keys_delete, MfClassicKeysDelete)
 | 
						|
ADD_SCENE(nfc, mf_classic_keys_add, MfClassicKeysAdd)
 | 
						|
ADD_SCENE(nfc, mf_classic_keys_warn_duplicate, MfClassicKeysWarnDuplicate)
 | 
						|
 | 
						|
ADD_SCENE(nfc, set_type, SetType)
 | 
						|
ADD_SCENE(nfc, set_sak, SetSak)
 | 
						|
ADD_SCENE(nfc, set_atqa, SetAtqa)
 | 
						|
ADD_SCENE(nfc, set_uid, SetUid)
 | 
						|
 | 
						|
ADD_SCENE(nfc, generate_info, GenerateInfo)
 |