cancel
Showing results for 
Search instead for 
Did you mean: 

Type 5 tag which is ISO 15693, In android, it's not working... I'm able to send command and read mailbox in ios, But in android, I'm getting always response [0]=1, [1]=2

Skuma.81
Associate

I have tried most of the use cases,

First use case....

int blockaddress = 0;

      byte[] cmd = new byte[]{

        (byte)0x02,

        (byte)0xB3,

        (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,

        (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,

        (byte)(blockaddress & 0x0ff)

      };

      Array.Copy(_currentTag.GetId(), 0, cmd, 2, 8);

      byte[] response = _nfcvTag.Transceive(cmd);

2nd use case

      byte[] cmd = new byte[]{

        (byte)0x02,

        (byte)0xB3,

        (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00

      };

      byte[] response = _nfcvTag.Transceive(cmd);

Always the response i'm getting...

Reseponse [[0]=1, [1]=2],

Can you help, why it's not working in Android, The same android code works good...

But, in sample code what i have observed, Its reversing the uid and doing some other stuff..

In IOS This works good...

iso15693Tag.CustomCommand(RequestFlag.HighDataRate, 0xB3, NSData.FromArray(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }), (result, error) =>

      {

        Console.WriteLine("******************PresentPWD2********************");

        if(result!=null)

          Console.WriteLine("result===================>{0}", result);

        if (error != null)

          Console.WriteLine("error===================>{0}", error);

      });

1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

response = 0102 means "command not recognized".

When sending proprietary commands such as Present Password, make sure to follow the format of the command e.g. IC Mfg Code field has to contain the proper value. See ST25DV04K ST25DV16K ST25DV64K datasheet.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

4 REPLIES 4
Skuma.81
Associate

In iOS format (Xamarin iOS C#)

This works good....

iso15693Tag.CustomCommand(RequestFlag.HighDataRate, 0xB3, NSData.FromArray(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }), (result, error) =>

      {

        Console.WriteLine("******************PresentPWD2********************");

        if(result!=null)

          Console.WriteLine("result===================>{0}", result);

        if (error != null)

          Console.WriteLine("error===================>{0}", error);

      });

Brian TIDAL
ST Employee

Hi,

response = 0102 means "command not recognized".

When sending proprietary commands such as Present Password, make sure to follow the format of the command e.g. IC Mfg Code field has to contain the proper value. See ST25DV04K ST25DV16K ST25DV64K datasheet.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
DavidSpecter
Associate II

Hi Skuma.8,

I'm trying to implement custom command on xamarin.ios but I can't. Could you share maybe some tips or example on it?

Thankyou so much,

Davide.

PSusu.1
Associate

@DavidSpecter​ 

Hi,

CoreNFC does have INFCIso15693Tag. Try making a variable using INFCIso15693Tag and use custom command format shown as example in Skuma.8 query.