public static ReadWithoutEncryptionResponse Read(NfcF nfcf) { var targetSystemCode = new byte[2] { (byte)0x00, (byte)0x03 }; // [1] var poolingCommand = new PollingCommand(targetSystemCode); var pooolingRequest = poolingCommand.RequestPacket(); var rawPoolingResponse = nfcf.Transceive(pooolingRequest); var poolingResponse = new PoolingResponse(rawPoolingResponse); var targetIdm = poolingResponse.IDm(); var serviceCode = new byte[2] { (byte)0x0f, (byte)0x09 }; // [2] var requestServiceCommand = new RequestServiceCommand(targetIdm, serviceCode); var requestServiceRequest = requestServiceCommand.RequestPacket(); var rawRequestServiceResponse = nfcf.Transceive(requestServiceRequest); var requestServiceResponcse = new RequestServiceResponse(rawRequestServiceResponse); // [3] var requestCommandRireki = new ReadWithoutEncryptionCommandRireki(); var requestCommandPacket = requestCommandRireki.RequestPacket(targetIdm, 10); var rawReadWithoutEncryptionCommandRireki = nfcf.Transceive(requestCommandPacket); var retData = new ReadWithoutEncryptionResponse(rawReadWithoutEncryptionCommandRireki); return(retData); }
private void NFCHandleForm_DiscoverNfcFTag(object sender, NfcFEventArgs e) { Debug.WriteLine("Discover Tag"); FeliCaLibWrapper felicaLib = new FeliCaLibWrapper(); PollingCommand command = new PollingCommand(PollingCommand.SYSTEM_CODE_WILDCARD, PollingCommand.REQUEST_CODE_REQUEST_SYSTEM_CODE); try { CommandResponse response = felicaLib.PerformCommand(command); PollingCommnadResponse pollingResponse = new PollingCommnadResponse(response); pollingResponse.Dump(); } catch (FeliCaException) { DispatchErrorEvent(); Close(); } }