@@ -331,7 +331,7 @@ static void handle_get_version_command() {
331331 } else {
332332 NRF_LOG_WARNING ("current card type does not support GET_VERSION" );
333333 // MF0ICU1 and MF0ICU2 do not support GET_VERSION
334- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
334+ if ( is_ntag ()) nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
335335 }
336336}
337337
@@ -344,7 +344,7 @@ static void handle_read_sig_command() {
344344 } else {
345345 NRF_LOG_WARNING ("current card type does not support READ_SIG" );
346346 // MF0ICU1 and MF0ICU2 do not support READ_SIG
347- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
347+ if ( is_ntag ()) nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
348348 }
349349}
350350
@@ -570,7 +570,7 @@ static void handle_read_command(uint8_t block_num) {
570570 if (block_num >= block_max ) {
571571 NRF_LOG_WARNING ("too large block num %02x >= %02x" , block_num , block_max );
572572
573- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
573+ nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
574574 return ;
575575 }
576576
@@ -588,14 +588,14 @@ static void handle_fast_read_command(uint8_t block_num, uint8_t end_block_num) {
588588 // command is supported
589589 break ;
590590 default :
591- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
591+ if ( is_ntag ()) nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
592592 return ;
593593 }
594594
595595 int block_max = get_block_max_by_tag_type (m_tag_type , true);
596596
597597 if (block_num >= end_block_num || end_block_num >= block_max ) {
598- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
598+ nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
599599 return ;
600600 }
601601
@@ -705,7 +705,7 @@ static int handle_write_command(uint8_t block_num, uint8_t *p_data) {
705705 if (block_num >= block_max ) {
706706 NRF_LOG_ERROR ("Write failed: block_num %08x >= block_max %08x" , block_num , block_max );
707707
708- return NAK_INVALID_OPERATION_TBIV ;
708+ return NAK_INVALID_OPERATION_TBV ;
709709 }
710710
711711 if (m_tag_information -> config .mode_uid_magic ) {
@@ -717,10 +717,7 @@ static int handle_write_command(uint8_t block_num, uint8_t *p_data) {
717717 switch (block_num ) {
718718 case 0 :
719719 case 1 :
720- if (!memcmp (p_data , m_tag_information -> memory [block_num ], NFC_TAG_MF0_NTAG_DATA_SIZE ))
721- return ACK_VALUE ;
722- else
723- return NAK_INVALID_OPERATION_TBIV ;
720+ return NAK_INVALID_OPERATION_TBV ;
724721 case 2 :
725722 // Page 2 contains lock bytes for pages 3-15. These are OR'ed when not in the UID
726723 // magic mode. First two bytes are ignored.
@@ -735,12 +732,12 @@ static int handle_write_command(uint8_t block_num, uint8_t *p_data) {
735732 for (int i = 0 ; i < NFC_TAG_MF0_NTAG_DATA_SIZE ; i ++ ) {
736733 m_tag_information -> memory [3 ][i ] |= p_data [i ];
737734 }
738- } else return NAK_INVALID_OPERATION_TBIV ;
735+ } else return NAK_INVALID_OPERATION_TBV ;
739736 break ;
740737 default :
741738 if (!check_ro_lock_on_page (block_num )) {
742739 memcpy (m_tag_information -> memory [block_num ], p_data , NFC_TAG_MF0_NTAG_DATA_SIZE );
743- } else return NAK_INVALID_OPERATION_TBIV ;
740+ } else return NAK_INVALID_OPERATION_TBV ;
744741 break ;
745742 }
746743
@@ -754,14 +751,14 @@ static void handle_read_cnt_command(uint8_t index) {
754751 int access = m_tag_information -> memory [first_cfg_page + CONF_ACCESS_PAGE_OFFSET ][CONF_ACCESS_BYTE ];
755752
756753 if ((access & CONF_ACCESS_NFC_CNT_PWD_PROT ) != 0 && !m_tag_authenticated ) {
757- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
754+ nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
758755 return ;
759756 }
760757 }
761758
762759 uint8_t * cnt_data = get_counter_data_by_index (index , true);
763760 if (cnt_data == NULL ) {
764- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
761+ nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
765762 return ;
766763 }
767764
@@ -782,13 +779,13 @@ static void handle_incr_cnt_command(uint8_t block_num, uint8_t *p_data) {
782779 ctr_page_end = ctr_page_off + MF0ULx1_NUM_CTRS ;
783780 break ;
784781 default :
785- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
782+ if ( is_ntag ()) nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
786783 return ;
787784 }
788785
789786 // check that counter index is in bounds
790787 if (block_num >= (ctr_page_end - ctr_page_off )) {
791- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
788+ nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
792789 return ;
793790 }
794791
@@ -816,7 +813,7 @@ static void handle_pwd_auth_command(uint8_t *p_data) {
816813 int first_cfg_page = get_first_cfg_page_by_tag_type (m_tag_type );
817814 uint8_t * cnt_data = get_counter_data_by_index (0 , false);
818815 if (first_cfg_page == 0 || cnt_data == NULL ) {
819- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
816+ if ( is_ntag ()) nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
820817 return ;
821818 }
822819
@@ -854,13 +851,13 @@ static void handle_check_tearing_event(int index) {
854851 m_tag_tx_buffer .tx_buffer [0 ] = (ctr_data [MF0_NTAG_AUTHLIM_OFF_IN_CTR ] & MF0_NTAG_TEARING_MASK_IN_AUTHLIM ) == 0 ? 0xBD : 0x00 ;
855852 nfc_tag_14a_tx_bytes (m_tag_tx_buffer .tx_buffer , 1 , true);
856853 } else {
857- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
854+ nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
858855 }
859856
860857 break ;
861858 }
862859 default :
863- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
860+ if ( is_ntag ()) nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
864861 break ;
865862 }
866863}
@@ -870,12 +867,12 @@ static void handle_vcsl_command(uint16_t szDataBits) {
870867 case TAG_TYPE_MF0UL11 :
871868 case TAG_TYPE_MF0UL21 :
872869 if (szDataBits < 168 ) {
873- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
870+ nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
874871 break ;
875872 }
876873 break ;
877874 default :
878- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
875+ if ( is_ntag ()) nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
879876 break ;
880877 }
881878
@@ -934,7 +931,7 @@ static void nfc_tag_mf0_ntag_state_handler(uint8_t *p_data, uint16_t szDataBits)
934931 break ;
935932 }
936933 default :
937- nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBIV , 4 );
934+ if ( is_ntag ()) nfc_tag_14a_tx_nbit (NAK_INVALID_OPERATION_TBV , 4 );
938935 break ;
939936 }
940937 return ;
0 commit comments