Home › Forums › Ask the Flomies › FloBLE connectivity issues while charging
Tagged: APDU, Charging issue, FloBLE Plus
-
AuthorPosts
-
September 29, 2016 at 3:32 am #56581
Hi,
My company ordered a FloBLE PLUS and FloJack BZR. I’m having some troubles with FloBLE for iOS. I downloaded the 2.1 SDK from DropBox. I managed to make it work with some minor tweaks and it’s reading the tags just fine. If, however, I try to create a reader or read a tag while the FloBLE is charging, it skips multiple times before finally connecting to the device. Also if I try to read a tag while it’s on charge, it skips multiple taps. The only work around I could come up with was to press the button on the side and then tap the card. I suppose it goes into some sort of sleep cycle while charging. Is there anyway to disable it?
I’m using MIFARE PLUS 2K cards.
September 29, 2016 at 8:37 am #56584Hi Malik,
I will test connecting and using my device while it’s being charged. The issue could be that your device is not using the latest firmware, 1.16.03, and so the configuration settings may not set properly. The latest v2.1 beta prevents readers from sleeping if they are using the newest firmware. I would also suggest downloading the latest v2.1 beta (uploaded on 16 September).
A few questions to better understand your issues:
Do these issues happen when the device is not charging or do they happen only when the device is being charged?
When you say that it skips a couple of times, can you elaborate on what happens? If you have a console log of the issues that would be helpful.Please let me know if you want me to elaborate on any of the above.
Kind Regards,
ScottSeptember 29, 2016 at 9:17 am #56585Hi Scott,
Thanks for the reply. These issues happen when the device IS charging. It starts working fine if I take it off charge. What I mean by “skipping” is that if the device is on charge and I tap a card, it doesn’t register it for a few taps(doesn’t even beep). If I take it off charge, it goes back to reading the tags just fine.
Same goes for connectivity issue. If the device is being charged, createReaders() takes a lot more attempts before connecting and authenticating the device as compared to when the device is not being charged.
I am working with the latest v 2.1. I suppose it could have something to do with the firmware. Could you give me a link to get the latest firmware 1.16.03 for FloBLE? I’ll give it a go with the firmware update and see how it goes.
Cheers
September 29, 2016 at 10:01 am #56587Hi Malik,
I have been able to reproduce the createReaders() issue. This is a strange issue and is hard to pin down what the cause is quickly. A temporary work around is calling creatingReaders() and afterwards, turn on your reader. I have found that this does not cause a problem with connecting.
I have not been able to reproduce the tag scanning issue but that is likely just that the device is going to sleep and you need to reconnect it.
To find the firmware of your device, use the devices NSArray from the delegate method:
- (void)didUpdateConnectedDevices:(NSArray *)devices
and look at the firmware revision string property of the FmDevice.
You will need to ship your device to us to update the firmware.Kind Regards,
ScottSeptember 29, 2016 at 10:40 pm #56597Hi Scott,
I just checked and the firmware version is 1.16.03. The tag scanning issue works something like this. If the device is charging, and nothing has been scanned for sometime (say 15 seconds), it apparently goes to sleep or does something which stops it from scanning a tag right away. The quick fix is to press the button on the side (I’m assuming that the it is some sort of a wake up button) and then scan (which is not quite a reliable option). What’s baffling me is that why is it going to sleep in the first place even with the latest firmware and SDK?. If you can look into that, it would be highly appreciated.
Cheers
September 30, 2016 at 5:51 am #56600Hi Malik,
That’s good news that you’re using the latest firmware.
Can you post the log you are seeing when you send the method ‘createReaders()’?
This would help confirm whether the reader is being configured correctly.
Cheers,
ScottSeptember 30, 2016 at 6:29 am #56601Hi Malik,
I have had no joy reproducing that behaviour here. I have tested the latest v2.1 beta, for a sanity check could you update to todays v2.1 beta update.Cheers,
ScottOctober 2, 2016 at 9:06 pm #56620Hi Scott,
Sorry for the late reply as I couldn’t test it over the weekend. I updated the SDK to V2.1 Pro (from the link that you provided). Below is the console out put from three different tests that I performed.
Note: I call createReaders() up to 5 times with delay. If the device is connected in any of the 5 tries, I don’t call it anymore. If the device is still not connected after 5 tries, I just call a timeout function and stop trying.
1) FloBLE while charging and turned on before calling createReaders()
Console Output:2016-10-03 08:51:57.928 TimeClock[208:6867] Init FloBLE Plus 2016-10-03 08:51:57.940 TimeClock[208:6867] ::centralManagerDidUpdateState supports 5 2016-10-03 08:51:58.063 TimeClock[208:6867] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x1889f630> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:51:58.064 TimeClock[208:6867] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x1889f630> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:51:58.173 TimeClock[208:6867] ::discovered peripheral Apple TV <__NSConcreteUUID 0x17577640> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:52:00.426 TimeClock[208:6867] Init FloBLE Plus 2016-10-03 08:52:00.439 TimeClock[208:6867] ::centralManagerDidUpdateState supports 5 2016-10-03 08:52:00.561 TimeClock[208:6867] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x1889f630> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:52:00.563 TimeClock[208:6867] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x1889f630> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:52:01.280 TimeClock[208:6867] Peripheral Connected 2016-10-03 08:52:01.289 TimeClock[208:6867] ::discovered peripheral Apple TV <__NSConcreteUUID 0x177cdad0> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:52:02.926 TimeClock[208:6867] Init FloBLE Plus 2016-10-03 08:52:02.938 TimeClock[208:6867] ::centralManagerDidUpdateState supports 5 2016-10-03 08:52:03.299 TimeClock[208:6867] ::discovered peripheral Apple TV <__NSConcreteUUID 0x1770f6c0> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:52:05.426 TimeClock[208:6867] Init FloBLE Plus 2016-10-03 08:52:05.437 TimeClock[208:6867] ::centralManagerDidUpdateState supports 5 2016-10-03 08:52:05.677 TimeClock[208:6867] ::discovered peripheral Apple TV <__NSConcreteUUID 0x188146d0> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:52:07.926 TimeClock[208:6867] Init FloBLE Plus 2016-10-03 08:52:07.938 TimeClock[208:6867] ::centralManagerDidUpdateState supports 5 2016-10-03 08:52:08.050 TimeClock[208:6867] ::discovered peripheral Apple TV <__NSConcreteUUID 0x1889bb30> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:52:10.426 TimeClock[208:6867] Init FloBLE Plus 2016-10-03 08:52:10.439 TimeClock[208:6867] ::centralManagerDidUpdateState supports 5 2016-10-03 08:52:11.324 TimeClock[208:6867] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x177fa8a0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:52:11.327 TimeClock[208:6867] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x177fa8a0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:52:11.340 TimeClock[208:6867] ::discovered peripheral Apple TV <__NSConcreteUUID 0x1889a1e0> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8
2) FloBLE while charging and turned on after calling createReaders()
Console Output:2016-10-03 08:53:49.257 TimeClock[214:7625] Init FloBLE Plus 2016-10-03 08:53:49.268 TimeClock[214:7625] ::centralManagerDidUpdateState supports 5 2016-10-03 08:53:49.945 TimeClock[214:7625] ::discovered peripheral Apple TV <__NSConcreteUUID 0x167730a0> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:53:50.508 TimeClock[214:7625] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x165cc650> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:53:50.510 TimeClock[214:7625] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x165cc650> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:53:51.207 TimeClock[214:7625] Peripheral Connected 2016-10-03 08:53:51.592 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x16608e30> 7A76A2CC-B145-8562-37E9-C469A2C5B367 2016-10-03 08:53:51.593 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x16728ea0> 17C9C228-2E52-DB70-372A-E606EE6DBC21 2016-10-03 08:53:51.757 TimeClock[214:7625] Init FloBLE Plus 2016-10-03 08:53:51.770 TimeClock[214:7625] ::centralManagerDidUpdateState supports 5 2016-10-03 08:53:51.864 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x16608e30> 17C9C228-2E52-DB70-372A-E606EE6DBC21 2016-10-03 08:53:51.952 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x1658a9c0> 7A76A2CC-B145-8562-37E9-C469A2C5B367 2016-10-03 08:53:53.418 TimeClock[214:7625] ::discovered peripheral Apple TV <__NSConcreteUUID 0x16728e30> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:53:54.257 TimeClock[214:7625] Init FloBLE Plus 2016-10-03 08:53:54.269 TimeClock[214:7625] ::centralManagerDidUpdateState supports 5 2016-10-03 08:53:54.379 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x1673f5a0> 7A76A2CC-B145-8562-37E9-C469A2C5B367 2016-10-03 08:53:54.515 TimeClock[214:7625] ::discovered peripheral Apple TV <__NSConcreteUUID 0x16608e30> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:53:56.205 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x1658d360> 17C9C228-2E52-DB70-372A-E606EE6DBC21 2016-10-03 08:53:56.757 TimeClock[214:7625] Init FloBLE Plus 2016-10-03 08:53:56.767 TimeClock[214:7625] ::centralManagerDidUpdateState supports 5 2016-10-03 08:53:56.949 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x16608e30> 7A76A2CC-B145-8562-37E9-C469A2C5B367 2016-10-03 08:53:57.833 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x16773350> 17C9C228-2E52-DB70-372A-E606EE6DBC21 2016-10-03 08:53:58.192 TimeClock[214:7625] ::discovered peripheral Apple TV <__NSConcreteUUID 0x16773470> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:53:59.257 TimeClock[214:7625] Init FloBLE Plus 2016-10-03 08:53:59.271 TimeClock[214:7625] ::centralManagerDidUpdateState supports 5 2016-10-03 08:53:59.659 TimeClock[214:7625] ::discovered peripheral Apple TV <__NSConcreteUUID 0x1676ae10> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:54:00.010 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x16524cd0> 17C9C228-2E52-DB70-372A-E606EE6DBC21 2016-10-03 08:54:00.795 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x16773350> 7A76A2CC-B145-8562-37E9-C469A2C5B367 2016-10-03 08:54:01.263 TimeClock[214:7625] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x165e94e0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:54:01.264 TimeClock[214:7625] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x165e94e0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:54:01.528 TimeClock[214:7625] Peripheral Connected 2016-10-03 08:54:01.757 TimeClock[214:7625] Init FloBLE Plus 2016-10-03 08:54:01.768 TimeClock[214:7625] ::centralManagerDidUpdateState supports 5 2016-10-03 08:54:02.451 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x16773350> 7A76A2CC-B145-8562-37E9-C469A2C5B367 2016-10-03 08:54:02.950 TimeClock[214:7625] ::discovered peripheral Apple TV <__NSConcreteUUID 0x1676ae10> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:54:03.813 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x165e94e0> 17C9C228-2E52-DB70-372A-E606EE6DBC21 2016-10-03 08:54:11.331 TimeClock[214:7625] ::discovered peripheral (null) <__NSConcreteUUID 0x166227b0> F8CB0CB8-CCF3-ABFC-992E-8357C9A60E9F 2016-10-03 08:54:11.366 TimeClock[214:7625] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x16774440> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:54:11.530 TimeClock[214:7625] Peripheral Connected 2016-10-03 08:54:11.878 TimeClock[214:7625] Services Discovered 2016-10-03 08:54:11.883 TimeClock[214:7625] Reader Detected 2016-10-03 08:54:12.536 TimeClock[214:7625] Peripheral Successfully Attached 2016-10-03 08:54:12.598 TimeClock[214:7625] didChangeBatteryLevel 100 2016-10-03 08:54:12.658 TimeClock[214:7625] EscapeResponse <e1000045 00cbb2b7 e13d5991 3cb1e971 0b2ab295 6d> 2016-10-03 08:54:12.717 TimeClock[214:7625] EscapeResponse <e1000046 00f9a3a1 ea9103f0 cc8ca797 94004973 2b> 2016-10-03 08:54:12.718 TimeClock[214:7625] Peripheral Successfully Authenticated 2016-10-03 08:54:12.778 TimeClock[214:7625] Fimrware: FWV 1.16.03 2016-10-03 08:54:12.837 TimeClock[214:7625] Serial Number: RR330-001135 2016-10-03 08:54:12.838 TimeClock[214:7625] Verfied Pro license 1 2016-10-03 08:54:13.094 TimeClock[214:7653] Escape APDU:E0 00 00 48 04 2016-10-03 08:54:13.138 TimeClock[214:7625] EscapeResponse <e1000000 0104> 2016-10-03 08:54:13.410 TimeClock[214:7670] Escape APDU:E0 00 00 40 01 2016-10-03 08:54:13.467 TimeClock[214:7625] EscapeResponse <e1000040 01> 2016-10-03 08:54:13.677 TimeClock[214:7625] Change Status:Absent 1
3) FloBLE while NOT charging and turned on after calling createReaders()
Console Output:2016-10-03 08:57:53.011 TimeClock[224:8852] Init FloBLE Plus 2016-10-03 08:57:53.022 TimeClock[224:8852] ::centralManagerDidUpdateState supports 5 2016-10-03 08:57:53.149 TimeClock[224:8852] ::discovered peripheral Apple TV <__NSConcreteUUID 0x14521c70> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:57:54.193 TimeClock[224:8852] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x146cc0c0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-03 08:57:54.475 TimeClock[224:8852] Peripheral Connected 2016-10-03 08:57:54.823 TimeClock[224:8852] Services Discovered 2016-10-03 08:57:54.828 TimeClock[224:8852] Reader Detected 2016-10-03 08:57:55.511 TimeClock[224:8852] Init FloBLE Plus 2016-10-03 08:57:55.518 TimeClock[224:8852] ::centralManagerDidUpdateState supports 5 2016-10-03 08:57:55.716 TimeClock[224:8852] ::discovered peripheral Apple TV <__NSConcreteUUID 0x15858510> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-03 08:57:55.782 TimeClock[224:8852] Peripheral Successfully Attached 2016-10-03 08:57:55.843 TimeClock[224:8852] didChangeBatteryLevel 90 2016-10-03 08:57:55.903 TimeClock[224:8852] EscapeResponse <e1000045 006ebd23 fb41c04c 0dce1bf3 182d0e98 0e> 2016-10-03 08:57:55.992 TimeClock[224:8852] EscapeResponse <e1000046 0060e4d9 eb471ed7 1189cf3f 86dbf55e f8> 2016-10-03 08:57:55.993 TimeClock[224:8852] Peripheral Successfully Authenticated 2016-10-03 08:57:56.052 TimeClock[224:8852] Fimrware: FWV 1.16.03 2016-10-03 08:57:56.113 TimeClock[224:8852] Serial Number: RR330-001135 2016-10-03 08:57:56.114 TimeClock[224:8852] Verfied Pro license 1 2016-10-03 08:57:56.378 TimeClock[224:8891] Escape APDU:E0 00 00 48 04 2016-10-03 08:57:56.443 TimeClock[224:8852] EscapeResponse <e1000000 0104> 2016-10-03 08:57:56.715 TimeClock[224:8896] Escape APDU:E0 00 00 40 01 2016-10-03 08:57:56.773 TimeClock[224:8852] EscapeResponse <e1000040 01> 2016-10-03 08:57:57.013 TimeClock[224:8852] Change Status:Absent 2016-10-03 08:58:02.908 TimeClock[224:8852] ::discovered peripheral (null) <__NSConcreteUUID 0x15832f80> 642B7776-7BC6-43E2-65CB-A4558E738474
I hope that will help pin down the problem.
Cheers
October 3, 2016 at 6:11 am #56623Thanks Malik for getting back to me with this. I’m just letting you know that I am working on this here and will get back to you soon with an update.
Cheers,
ScottOctober 5, 2016 at 6:48 am #56681Hi Malik,
Can you try this new build of the SDK.
https://www.dropbox.com/s/v4yiasrq443ws5p/FlomioSDKv2.1_beta.zip?dl=1This should solve your bluetooth connection issue.
Kind Regards,
ScottOctober 5, 2016 at 9:00 pm #56686Hi Scott,
Thanks for the update. I gave it a go and it’s now connecting while charging but that’s about all it would do. It doesn’t scan tags anymore if the device is connected while charging. The functions didChangeCardStatus and didUpdateConnectedDevices don’t get fired after the device has been paired while on charging.
Below is the console log I receive when I connect the device while it’s charging:
2016-10-06 08:59:25.747 TimeClock[1810:337921] Init FloBLE Plus 2016-10-06 08:59:25.759 TimeClock[1810:337921] ::centralManagerDidUpdateState supports 5 2016-10-06 08:59:26.061 TimeClock[1810:337921] ::discovered peripheral Apple TV <__NSConcreteUUID 0x167bd170> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-06 08:59:26.429 TimeClock[1810:337921] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x1663c580> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-06 08:59:26.431 TimeClock[1810:337921] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x1663c580> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-06 08:59:26.587 TimeClock[1810:337921] Peripheral Connected 2016-10-06 08:59:26.959 TimeClock[1810:337921] Services Discovered 2016-10-06 08:59:26.963 TimeClock[1810:337921] Reader Detected 2016-10-06 08:59:27.619 TimeClock[1810:337921] Peripheral Successfully Attached 2016-10-06 08:59:27.679 TimeClock[1810:337921] didChangeBatteryLevel 100 2016-10-06 08:59:27.741 TimeClock[1810:337921] EscapeResponse <e1000045 00f66589 678c7a7d 804c5cc5 296724b7 ef> 2016-10-06 08:59:27.830 TimeClock[1810:337921] EscapeResponse <e1000046 0030d1b9 0071e762 b56e979a 376a2686 a1> 2016-10-06 08:59:27.831 TimeClock[1810:337921] Peripheral Successfully Authenticated 2016-10-06 08:59:27.890 TimeClock[1810:337921] Fimrware: FWV 1.16.03 2016-10-06 08:59:27.949 TimeClock[1810:337921] Serial Number: RR330-001135 2016-10-06 08:59:27.962 TimeClock[1810:338013] Have Response, registered 2016-10-06 08:59:27.963 TimeClock[1810:338013] Verfied Basic license 2016-10-06 08:59:28.235 TimeClock[1810:338014] Escape APDU:E0 00 00 48 04 2016-10-06 08:59:28.309 TimeClock[1810:337921] EscapeResponse <e1000000 0104> 2016-10-06 08:59:28.574 TimeClock[1810:337970] Escape APDU:E0 00 00 40 01 2016-10-06 08:59:28.639 TimeClock[1810:337921] EscapeResponse <e1000040 01> 2016-10-06 08:59:28.790 TimeClock[1810:337921] Change Status:Absent
and this is the response when I connect it while not on charge:
>2016-10-06 08:57:51.408 TimeClock[1805:337473] Init FloBLE Plus 2016-10-06 08:57:51.419 TimeClock[1805:337473] ::centralManagerDidUpdateState supports 5 2016-10-06 08:57:51.580 TimeClock[1805:337473] ::discovered peripheral (null) <__NSConcreteUUID 0x1785ab70> 662263EF-D0CE-F879-4BAF-241644F182A3 2016-10-06 08:57:51.702 TimeClock[1805:337473] ::discovered peripheral Apple TV <__NSConcreteUUID 0x16623e40> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-06 08:57:51.968 TimeClock[1805:337473] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x166be7e0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-06 08:57:51.970 TimeClock[1805:337473] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x166be7e0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-06 08:57:52.248 TimeClock[1805:337473] Peripheral Connected 2016-10-06 08:57:52.622 TimeClock[1805:337473] Services Discovered 2016-10-06 08:57:52.627 TimeClock[1805:337473] Reader Detected 2016-10-06 08:57:53.282 TimeClock[1805:337473] Peripheral Successfully Attached 2016-10-06 08:57:53.373 TimeClock[1805:337473] didChangeBatteryLevel 90 2016-10-06 08:57:53.433 TimeClock[1805:337473] EscapeResponse <e1000045 002d1e66 fb457221 e0f59c47 d0e15b62 f9> 2016-10-06 08:57:53.493 TimeClock[1805:337473] EscapeResponse <e1000046 00b403a2 d8060230 83b02541 0cb3911b 6e> 2016-10-06 08:57:53.494 TimeClock[1805:337473] Peripheral Successfully Authenticated 2016-10-06 08:57:53.552 TimeClock[1805:337473] Fimrware: FWV 1.16.03 2016-10-06 08:57:53.612 TimeClock[1805:337473] Serial Number: RR330-001135 2016-10-06 08:57:53.621 TimeClock[1805:337527] Have Response, registered 2016-10-06 08:57:53.622 TimeClock[1805:337527] Verfied Basic license 2016-10-06 08:57:53.898 TimeClock[1805:337574] Escape APDU:E0 00 00 48 04 2016-10-06 08:57:53.942 TimeClock[1805:337473] EscapeResponse <e1000000 0104> 2016-10-06 08:57:54.217 TimeClock[1805:337497] Escape APDU:E0 00 00 40 01 2016-10-06 08:57:54.273 TimeClock[1805:337473] EscapeResponse <e1000040 01> 2016-10-06 08:57:54.452 TimeClock[1805:337473] Change Status:Absent
October 6, 2016 at 4:15 am #56689That’s pretty weird and frustrating. Thanks for testing that out, apologies that other stuff broke in the update, good to hear the connectivity is fixed anyway. I will have that bug fixed by later today!!
Cheers,
ScottOctober 6, 2016 at 6:08 am #56690Hi Malik,
I am not able to reproduce; I have tried both the Basic and Pro v2.1 SDKs with the Readme test app and they are working fine on my end so I will have to ask you a couple of questions to get to the bottom of this.
Are other FmSessionManager delegate methods firing? If so, which ones? And if not, have you setreaderManager.delegate = self;
as per the README?
For a sanity test, can you make sure that your delegate methods match up with the README.
I will be available today to get this resolved.
Kind Regards,
ScottOctober 6, 2016 at 6:29 am #56693Hi Scott,
The SDK is integrated as defined in the ReadMe file. The delegate is set. I’m currently out of office so I’m unable to log which delegate methods are being fired (if any). I’ll test it tomorrow and update you on the status.
Just to clarify the problem, with the Pro version (the latest link that you sent me), the device is connecting on the first attempt while charging but right after it connects, the application stops receiving signal from the device i.e it doesn’t call changecardstatus function when tapped with an NfC Card and it doesn’t call the didupdateconnecteddevices even if the device is turned off after that.
October 6, 2016 at 6:33 am #56694Hi Malik,
Thanks for clarifying, that is how I understood it. When you are testing tomorrow, can you also tell me if the device beeps when a tag is presented, and also what are the lights on the device showing?
Also note the SDK I sent was the Basic v2.1 SDK, the Pro SDK would be the same v2.1 link you have received by mail. If you want we can email you it again.Kind Regards,
ScottOctober 6, 2016 at 1:21 pm #56700Hey guys, to rule out any issues with how the Flomio SDK has been integrated into the app, I would suggest sanity testing with the Test App from TestFlight first. That should connect while charging or not as well as scan tags. Malik, do you have the Flomio Test App installed?
best,
RichardOctober 7, 2016 at 4:53 am #56707Hi Scott,
I tested it again an below are my findings:
The device connects in the first try.
This time it didn’t go into “hang mode” right away.
It’s kind of a hit and miss. However, in certain scenarios (maybe depending on the inactivity time or something), it goes into “hang mode” and stops responding. When that happens, the blue light (comm) stays on continuously until it comes out of “hang mode” and then it goes back to blinking. [The red light (charging) stayed on al through the testing].
When it is in “hang mode”, it doesn’t beep or fire any delegate methods.I had a thought that it could have something to do with the APDU commands I’m sending when the Card Status changes to present. Below are the APDU commands. Let me know if I’m doing it wrong and if so, what would be the right commands to read the tag of a card.
When the card status changes to present, I send FFB0000410 followed by FFCA000000 to the device in order to retrieve the tag.
Below is the console output from device connection attempt. It shows Init FloBLE Plus being displayed twice which doesn’t make sense
2016-10-07 16:34:01.931 TimeClock[2740:596187] Init FloBLE Plus 2016-10-07 16:34:01.942 TimeClock[2740:596187] ::centralManagerDidUpdateState supports 5 2016-10-07 16:34:02.006 TimeClock[2740:596187] ::discovered peripheral (null) <__NSConcreteUUID 0x166f9020> 18CFAFE9-940D-24B1-F983-12C9B67CF97E 2016-10-07 16:34:02.324 TimeClock[2740:596187] ::discovered peripheral (null) <__NSConcreteUUID 0x1667e0d0> BB1B3083-8B8F-3154-4DB7-BF2AEADE5283 2016-10-07 16:34:02.945 TimeClock[2740:596187] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x166b6ea0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-07 16:34:02.947 TimeClock[2740:596187] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x166b6ea0> 6DBB3D26-03B9-1BC1-0403-5548FDF3DB2C 2016-10-07 16:34:03.224 TimeClock[2740:596187] Peripheral Connected 2016-10-07 16:34:03.598 TimeClock[2740:596187] Services Discovered 2016-10-07 16:34:03.605 TimeClock[2740:596187] Reader Detected 2016-10-07 16:34:04.259 TimeClock[2740:596187] Peripheral Successfully Attached 2016-10-07 16:34:04.379 TimeClock[2740:596187] didChangeBatteryLevel 90 2016-10-07 16:34:04.430 TimeClock[2740:596187] Init FloBLE Plus 2016-10-07 16:34:04.438 TimeClock[2740:596187] ::centralManagerDidUpdateState supports 5 2016-10-07 16:34:04.440 TimeClock[2740:596187] EscapeResponse <e1000045 00358fa0 56bf8177 05275ed4 d514f58e f7> 2016-10-07 16:34:04.500 TimeClock[2740:596187] EscapeResponse <e1000046 008292a4 1da08e25 1afdb965 e5ff845a 96> 2016-10-07 16:34:04.500 TimeClock[2740:596187] Peripheral Successfully Authenticated 2016-10-07 16:34:04.589 TimeClock[2740:596187] Fimrware: FWV 1.16.03 2016-10-07 16:34:04.648 TimeClock[2740:596187] Serial Number: RR330-001135 2016-10-07 16:34:05.043 TimeClock[2740:596187] ::discovered peripheral (null) <__NSConcreteUUID 0x166844e0> BB1B3083-8B8F-3154-4DB7-BF2AEADE5283 2016-10-07 16:34:06.930 TimeClock[2740:596187] Init FloBLE Plus 2016-10-07 16:34:06.938 TimeClock[2740:596187] ::centralManagerDidUpdateState supports 5 2016-10-07 16:34:06.952 TimeClock[2740:596187] ::discovered peripheral (null) <__NSConcreteUUID 0x16580570> BB1B3083-8B8F-3154-4DB7-BF2AEADE5283 2016-10-07 16:34:08.351 TimeClock[2740:596234] Have Response, registered 2016-10-07 16:34:08.352 TimeClock[2740:596234] Verfied Basic license 2016-10-07 16:34:16.522 TimeClock[2740:596187] Init FloBLE Plus 2016-10-07 16:34:17.739 TimeClock[2740:596423] Escape APDU:E0 00 00 48 04 2016-10-07 16:34:17.817 TimeClock[2740:596187] ::centralManagerDidUpdateState supports 5 2016-10-07 16:34:17.893 TimeClock[2740:596187] EscapeResponse <e1000000 0104> 2016-10-07 16:34:18.161 TimeClock[2740:596262] Escape APDU:E0 00 00 40 01 2016-10-07 16:34:18.268 TimeClock[2740:596187] EscapeResponse <e1000040 01> 2016-10-07 16:34:18.493 TimeClock[2740:596187] Change Status:Absent 2016-10-07 16:34:20.198 TimeClock[2740:596187] ::discovered peripheral (null) <__NSConcreteUUID 0x166a2b80> A544349A-DFA3-A1D6-0F16-590A63F67C05 2016-10-07 16:34:20.198 TimeClock[2740:596187] ::discovered peripheral Apple TV <__NSConcreteUUID 0x166844e0> B10FC57B-E1FB-9E02-FFD7-815AB82CB8B8 2016-10-07 16:34:20.199 TimeClock[2740:596187] ::discovered peripheral (null) <__NSConcreteUUID 0x16686020> BB1B3083-8B8F-3154-4DB7-BF2AEADE5283
October 7, 2016 at 4:55 am #56708Hi Richard,
I do have the test app installed. It connects while charging which Scott already resolved for me in the updated SDK. The current issue I’m having is with the updated SDK, while on charge, it doesn’t scan tags. I’m not sure how to test that on the test flight app
October 7, 2016 at 2:34 pm #56711RE: TestFlight Test App… you can send APDUs just like you’re doing with the SDK from the widget at the bottom of the screen. Here’s a screen shot I made of me sending
FF CA 00 00 00
to a tag placed on the FloBLE Plus surface and kept there during the tapping of the Send button. TheNo NDEF data found
listed in the log are from sendingFF B0 00 04 10
previous to taking the screen shot. It just means that the tag I was reading didn’t have any formatted NDEF data at data block 4.October 9, 2016 at 8:56 pm #56725Hi Richard,
I tested it on Test App. It connected fine and displayed the battery at 80%. It was reading the Tags for a while and then it displayed the same behaviour as with the SDK i.e. it went into “hang mode”. Both the red and blue lights stayed on continuously and the device stopped responding. Since I cannot access any console output (as it is on the device rather than in Xcode), I’m not sure what could be causing this behaviour. I do have a hunch though. I restarted the Test App, the device and connected it again and it displayed the battery at 100%. My guess is that it probably has this behaviour when the battery level changes. I might be wrong but that’s the only thing I could see in the two runs that was different. Probably something worth looking into.
October 9, 2016 at 8:58 pm #56726Hi Scott,
I was wondering if you could have a look at my post regarding the APDU commands I’m sending and see if they are the right ones or they are, in fact, source of the problem.
Cheers
October 10, 2016 at 7:55 am #56730Hi Malik,
We do not currently support reading data from Mifare Plus 2k tags but the reader should beep and the delegate method should didReceiveReaderError should respond with an error saying “tag not supported”. Also, didChangeCardStatus should respond with CardStatus: kPresent or kNotPresent.With a tag that we support (Mifare Ultralight, Mifare Classic 1k and Mifare Type 4), you should use ReaderState: kReadData when configuring and then scan the tag to get NDEF formatted data from the tag upon tap rather than manually using APDUs to read data. If you do then require getting the tag UUID, you would then send the APDU ‘FF CA 00 00 00’ to get the UUID.
Regarding the hang mode, this is unusual behaviour and we are trying to get to the bottom of it.
Kind Regards,
Scott- This reply was modified 8 years, 2 months ago by Scott.
October 10, 2016 at 8:55 pm #56735Hi Scott,
I don’t understand. I mentioned in the first post that I’m using this particular card. You could have mentioned it anytime along the discussion that it is not supported. Besides, If the card is not supported, it shouldn’t work at all regardless of the charging state of the device. Can you see how it looks from my perspective?As for reading the data, I don’t want to read the data. I just want to read the UUID. But if I send FFCA000000 by itself, for some reason, it discards every second APDU. I figured maybe I’m supposed to send it FFB0000410(read data) before sending it the FFCA000000(read UUID). That’s the only reason I’m using the FFB0000410 APDU. If there is a way for me to use FFCA000000 by itself without missing a UUID read event, I’m more than happy to do just that.
Any thoughts would be appreciated.
Cheers
October 11, 2016 at 4:23 am #56739Hi Malik,
You’re right, that slipped by me sorry. I was focused on the connectivity issue and when we began talking about reading data I missed it. We are working to disable beeping when in range of tags we do not support.
Are you getting a correct UUID value when you send FFCA000000? I will see what the problem is about only working every second APDU.Kind Regards,
ScottOctober 11, 2016 at 4:32 am #56740Hi Scott,
I am getting the correct UUID. The device reads the tags off of MIFARE PLUS 2K S and MIFARE DESFIRE 2k EV 1.0. It doesn’t respond to I-CODE SLI-X cards which is fine. All I’m trying to do is read the tag UUID off of MIFARE cards which the device allows me to do under normal circumstances. It’s only a problem when it’s chargingOctober 11, 2016 at 7:39 am #56742Hi Malik,
I have added Read UUID for Mifare Desfire and Mifare Plus 2k S tags on the FloBLE Plus. This will save you manually sending APDUs, and will trigger the didFindATagUuid delegate.
Flomio SDK v2.1 beta
I frustratingly haven’t been able to replicate your issue with irregular behaviour while the device is charging so I can’t say whether this will solve this issue.Please let me know the results and thanks for being patient while we try get this resolved.
Kind Regards,
Scott- This reply was modified 8 years, 2 months ago by Scott.
October 11, 2016 at 9:06 pm #56747Hi Scott,
Thanks heaps for the updated SDK. You’re a champion. Using the didFindATagUUID did make things a whole lot easier. We’re definitely getting closer. There’s just one thing left. If you could look into that, I’d really appreciate it. When the FloBLE is not charging, the didFindATagUUID gets fired right away. However, when it is charging, the device’s response time varies between “right away – 5 seconds” before it beeps and fires the didFindATagUUID function. Also, in some cases, while charging, right after a tag is scanned, the device gets stuck for a while and then disconnects. I set breakpoints in all the delegate methods but no other delegate methods were fired except the didUpdateConnectedDevices.I can still live with the device disconnecting after a tag scan as it happens not very often. But if you can sort out the delay in reading the tags while on charge, and fix that in the latest SDK that you mentioned above, I’d be grateful.
Cheers.
October 12, 2016 at 5:56 am #56750Hi Malik,
Glad that helped. What configuration settings are you using? I would suggest you use kAutoPollingControl for Power Operation. My suspicion is that the app is going into the background and the ‘sleep’ method is being sent to the reader. Is there any logs that you could give me for the cases mentioned in your post?
Also, when ‘didUpdateConnectedDevices’ is fired, it would help to keep an eye on thefor (FmDevice *device in connectedDevices){ device; //breakpoint and inspect your device }
and see if there are any properties of that object which are changing, ‘CommunicationStatus’ being the one of most interest.
Cheers,
Scott- This reply was modified 8 years, 2 months ago by Scott.
October 12, 2016 at 9:33 pm #56760Hi Scott,
Thanks for being so patient with me. I’m using the following configuration settings:
readerManager.selectedDeviceType = .FloBlePlus readerManager.delegate = self readerManager.scanPeriod = NSNumber(int: 500) readerManager.scanSound = NSNumber(bool: true) readerManager.readerState = .ReadUuid readerManager.allowMultiConnect = false readerManager.powerOperation = .AutoPollingControl
In my testing, I don’t send the app into background so I don’t suppose the sleep method is being sent to the reader. I ran some more tests. While the device is charging, it takes longer for the didFindATagUUID function to get fired as compared to when it’s not charging. It doesn’t fire any other functions. It just takes longer. Also, occasionally (and it’s kind of a hit and miss), the didUpdateConnectedDevices function gets fired and the CommunicationStatus is set to Disconnected (that’s when the device disconnects itself while on charge). Here are the console outputs from the two scenarios.
When not on charge:
2016-10-13 09:09:48.181 TimeClock[292:22396] Init FloBLE Plus 2016-10-13 09:09:48.194 TimeClock[292:22396] ::centralManagerDidUpdateState supports 5 2016-10-13 09:09:48.254 TimeClock[292:22396] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x14753310> EAB501F6-1DC2-5D99-0F3E-11BC5FA1B9E1 2016-10-13 09:09:48.521 TimeClock[292:22396] Peripheral Connected 2016-10-13 09:09:48.618 TimeClock[292:22396] ::discovered peripheral (null) <__NSConcreteUUID 0x146bbfb0> C5BAB97B-F737-2A3B-3104-E22D863FFD66 2016-10-13 09:09:48.820 TimeClock[292:22396] ::discovered peripheral Surge <__NSConcreteUUID 0x147b7ba0> C797DFD4-343E-CF89-28FE-9871C483B5FA 2016-10-13 09:09:48.865 TimeClock[292:22396] Services Discovered 2016-10-13 09:09:48.872 TimeClock[292:22396] Reader Detected 2016-10-13 09:09:49.524 TimeClock[292:22396] Peripheral Successfully Attached 2016-10-13 09:09:49.585 TimeClock[292:22396] didChangeBatteryLevel 90 2016-10-13 09:09:49.645 TimeClock[292:22396] EscapeResponse <e1000045 00a8efc1 d498a1b3 d98e3c15 378ba11a d8> 2016-10-13 09:09:49.705 TimeClock[292:22396] EscapeResponse <e1000046 001229f0 13bc232a 06cf2f82 0da0b1e3 8a> 2016-10-13 09:09:49.706 TimeClock[292:22396] Peripheral Successfully Authenticated 2016-10-13 09:09:49.765 TimeClock[292:22396] Fimrware: FWV 1.16.03 2016-10-13 09:09:49.825 TimeClock[292:22396] Serial Number: RR330-001135 2016-10-13 09:09:49.835 TimeClock[292:22444] Have Response, registered 2016-10-13 09:09:49.836 TimeClock[292:22444] Verfied Basic license 2016-10-13 09:09:50.108 TimeClock[292:22442] Escape APDU:E0 00 00 48 04 2016-10-13 09:09:50.155 TimeClock[292:22396] EscapeResponse <e1000000 0104> 2016-10-13 09:09:50.417 TimeClock[292:22444] Escape APDU:E0 00 00 40 01 2016-10-13 09:09:50.455 TimeClock[292:22396] EscapeResponse <e1000040 01> 2016-10-13 09:09:50.665 TimeClock[292:22396] Change Status:Absent 2016-10-13 09:09:53.995 TimeClock[292:22396] Change Status:Present 2016-10-13 09:09:54.055 TimeClock[292:22396] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:09:54.067 TimeClock[292:22462] Command APDU:FF CA 00 00 00 2016-10-13 09:09:54.116 TimeClock[292:22396] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:09:54.535 TimeClock[292:22396] Change Status:Absent 2016-10-13 09:09:57.895 TimeClock[292:22396] Change Status:Present 2016-10-13 09:09:57.956 TimeClock[292:22396] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:09:57.969 TimeClock[292:22462] Command APDU:FF CA 00 00 00 2016-10-13 09:09:58.016 TimeClock[292:22396] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:09:58.435 TimeClock[292:22396] Change Status:Absent 2016-10-13 09:10:01.656 TimeClock[292:22396] Change Status:Present 2016-10-13 09:10:01.658 TimeClock[292:22396] didChangeBatteryLevel 80 2016-10-13 09:10:01.732 TimeClock[292:22396] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:10:01.744 TimeClock[292:22444] Command APDU:FF CA 00 00 00 2016-10-13 09:10:01.806 TimeClock[292:22396] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:10:02.180 TimeClock[292:22396] Change Status:Absent
When charging:
2016-10-13 09:02:08.619 TimeClock[286:21076] Init FloBLE Plus 2016-10-13 09:02:08.630 TimeClock[286:21076] ::centralManagerDidUpdateState supports 5 2016-10-13 09:02:08.650 TimeClock[286:21076] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x14f44690> EAB501F6-1DC2-5D99-0F3E-11BC5FA1B9E1 2016-10-13 09:02:08.752 TimeClock[286:21076] ::discovered peripheral (null) <__NSConcreteUUID 0x14f4ed50> C5BAB97B-F737-2A3B-3104-E22D863FFD66 2016-10-13 09:02:08.832 TimeClock[286:21076] Peripheral Connected 2016-10-13 09:02:09.176 TimeClock[286:21076] Services Discovered 2016-10-13 09:02:09.183 TimeClock[286:21076] Reader Detected 2016-10-13 09:02:09.866 TimeClock[286:21076] Peripheral Successfully Attached 2016-10-13 09:02:09.925 TimeClock[286:21076] didChangeBatteryLevel 90 2016-10-13 09:02:09.986 TimeClock[286:21076] EscapeResponse <e1000045 00162a92 7a31b49c 82bef2f8 0424b52e 18> 2016-10-13 09:02:10.046 TimeClock[286:21076] EscapeResponse <e1000046 00433dc7 0fb4eaea f08e988d 523d15a7 03> 2016-10-13 09:02:10.046 TimeClock[286:21076] Peripheral Successfully Authenticated 2016-10-13 09:02:10.107 TimeClock[286:21076] Fimrware: FWV 1.16.03 2016-10-13 09:02:10.196 TimeClock[286:21076] Serial Number: RR330-001135 2016-10-13 09:02:10.209 TimeClock[286:21123] Have Response, registered 2016-10-13 09:02:10.209 TimeClock[286:21123] Verfied Basic license 2016-10-13 09:02:13.492 TimeClock[286:21147] Escape APDU:E0 00 00 48 04 2016-10-13 09:02:13.557 TimeClock[286:21076] EscapeResponse <e1000000 0104> 2016-10-13 09:02:13.809 TimeClock[286:21210] Escape APDU:E0 00 00 40 01 2016-10-13 09:02:13.856 TimeClock[286:21076] EscapeResponse <e1000040 01> 2016-10-13 09:02:14.007 TimeClock[286:21076] Change Status:Absent 2016-10-13 09:02:19.647 TimeClock[286:21076] Change Status:Present 2016-10-13 09:02:19.722 TimeClock[286:21076] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:02:19.733 TimeClock[286:21153] Command APDU:FF CA 00 00 00 2016-10-13 09:02:19.797 TimeClock[286:21076] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:02:20.659 TimeClock[286:21076] Change Status:Absent 2016-10-13 09:02:26.960 TimeClock[286:21076] Change Status:Present 2016-10-13 09:02:27.034 TimeClock[286:21076] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:02:27.046 TimeClock[286:21153] Command APDU:FF CA 00 00 00 2016-10-13 09:02:27.110 TimeClock[286:21076] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:02:27.447 TimeClock[286:21076] Change Status:Absent 2016-10-13 09:02:34.385 TimeClock[286:21076] Change Status:Present 2016-10-13 09:02:34.461 TimeClock[286:21076] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:02:34.473 TimeClock[286:21239] Command APDU:FF CA 00 00 00 2016-10-13 09:02:34.535 TimeClock[286:21076] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:02:34.910 TimeClock[286:21076] Change Status:Absent
The two logs don’t look much different. It’s just the time delay in the function being fired. I’d suggest in order to recreate this issue at your end, just put the device on charge and try to scan a tag. The correct functions will fire but with different time delays as can be seen from the time stamps of the logs.
October 12, 2016 at 9:37 pm #56761Also, I have a feeling it probably happens when the didUpdateConnectedDevices gets fired because of the change in batteryLevel. So it probably will be a better idea to test it when the device is not at 100%
October 12, 2016 at 10:00 pm #56762I was able to recreate the “hang mode”. i had to try different combinations of taking the device off charge and putting it back on charge while connected. Below is the console output:
<strong>2016-10-13 09:38:35.303 TimeClock[311:26679] Init FloBLE Plus 2016-10-13 09:38:35.314 TimeClock[311:26679] ::centralManagerDidUpdateState supports 5 2016-10-13 09:38:35.638 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x147d5f70> DBC1BA9E-AB90-C923-BDBA-55D840B9D606 2016-10-13 09:38:35.669 TimeClock[311:26679] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x146c7780> EAB501F6-1DC2-5D99-0F3E-11BC5FA1B9E1 2016-10-13 09:38:36.770 TimeClock[311:26679] Peripheral Connected 2016-10-13 09:38:37.149 TimeClock[311:26679] Services Discovered 2016-10-13 09:38:37.158 TimeClock[311:26679] Reader Detected 2016-10-13 09:38:37.803 TimeClock[311:26679] Init FloBLE Plus 2016-10-13 09:38:37.811 TimeClock[311:26679] ::centralManagerDidUpdateState supports 5 2016-10-13 09:38:37.832 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x147ac9b0> DBC1BA9E-AB90-C923-BDBA-55D840B9D606 2016-10-13 09:38:37.869 TimeClock[311:26679] Peripheral Successfully Attached 2016-10-13 09:38:37.931 TimeClock[311:26679] didChangeBatteryLevel 80 2016-10-13 09:38:37.990 TimeClock[311:26679] EscapeResponse <e1000045 00861fbb 096bd6c3 5b3546f7 3061061b d3> 2016-10-13 09:38:38.035 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x147b10e0> E280CC23-84D1-960F-0D7D-CBAD03385F08 2016-10-13 09:38:38.080 TimeClock[311:26679] EscapeResponse <e1000046 00ef7306 21d8ede6 bd29e4dd 29707216 f4> 2016-10-13 09:38:38.081 TimeClock[311:26679] Peripheral Successfully Authenticated 2016-10-13 09:38:38.139 TimeClock[311:26679] Fimrware: FWV 1.16.03 2016-10-13 09:38:38.199 TimeClock[311:26679] Serial Number: RR330-001135 2016-10-13 09:38:38.209 TimeClock[311:26711] Have Response, registered 2016-10-13 09:38:38.210 TimeClock[311:26711] Verfied Basic license 2016-10-13 09:38:38.252 TimeClock[311:26679] ::discovered peripheral Surge <__NSConcreteUUID 0x14736750> C797DFD4-343E-CF89-28FE-9871C483B5FA 2016-10-13 09:38:38.483 TimeClock[311:26728] Escape APDU:E0 00 00 48 04 2016-10-13 09:38:38.530 TimeClock[311:26679] EscapeResponse <e1000000 0104> 2016-10-13 09:38:38.676 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x147ac9b0> DBC1BA9E-AB90-C923-BDBA-55D840B9D606 2016-10-13 09:38:38.799 TimeClock[311:26711] Escape APDU:E0 00 00 40 01 2016-10-13 09:38:38.860 TimeClock[311:26679] EscapeResponse <e1000040 01> 2016-10-13 09:38:39.040 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:38:39.696 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146face0> C5BAB97B-F737-2A3B-3104-E22D863FFD66 2016-10-13 09:38:55.493 TimeClock[311:26679] Change Status:Present 2016-10-13 09:38:55.643 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:38:55.656 TimeClock[311:26728] Command APDU:FF CA 00 00 00 2016-10-13 09:38:55.720 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:38:56.505 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:22.270 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:22.346 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:22.358 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:39:22.420 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:23.245 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:25.420 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:25.570 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:39:25.583 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:39:25.645 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:39:26.432 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:30.108 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:30.184 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:30.197 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:39:30.258 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:31.120 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:35.395 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:35.471 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:35.484 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:39:35.545 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:35.920 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:41.246 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:41.321 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:41.334 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:39:41.396 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:41.771 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:42.296 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:42.372 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:42.384 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:39:42.446 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:42.858 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:44.959 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:45.034 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:45.047 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:39:45.109 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:45.258 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x147806d0> 1E1029A0-4460-AD6C-47B8-05F55C1FB4B6 2016-10-13 09:39:45.484 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:46.008 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:46.084 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:46.097 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:39:46.159 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:46.571 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:47.621 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:47.772 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:47.785 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:39:47.847 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:48.146 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:49.797 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:49.872 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:49.885 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:39:49.947 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:50.321 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:50.390 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146face0> C5BAB97B-F737-2A3B-3104-E22D863FFD66 2016-10-13 09:39:51.474 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146face0> C5BAB97B-F737-2A3B-3104-E22D863FFD66 2016-10-13 09:39:53.547 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:53.622 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:39:53.635 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:39:53.697 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:39:54.071 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:39:56.732 TimeClock[311:26679] Change Status:Present 2016-10-13 09:39:56.809 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:39:56.822 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:39:56.884 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:39:57.259 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:02.622 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:02.697 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:40:02.709 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:40:02.772 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:40:03.072 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:03.671 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:03.746 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:40:03.757 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:40:03.822 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:40:04.122 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:04.647 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:04.723 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:40:04.735 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:40:04.798 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:40:05.209 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:05.697 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:05.772 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:40:05.785 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:40:05.848 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:40:06.185 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:06.710 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:06.785 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:40:06.797 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:40:06.860 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:40:07.235 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:12.485 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:12.597 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:40:12.610 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:40:12.673 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:40:13.497 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:15.073 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:15.148 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:40:15.162 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:40:15.223 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:40:18.635 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:19.123 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:19.198 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:40:19.211 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:40:19.273 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:40:22.160 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:22.648 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:22.725 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:40:22.737 TimeClock[311:26807] Command APDU:FF CA 00 00 00 2016-10-13 09:40:22.798 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:40:23.660 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:24.710 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:24.786 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:40:24.799 TimeClock[311:26837] Command APDU:FF CA 00 00 00 2016-10-13 09:40:24.861 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:40:25.236 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:32.906 TimeClock[311:26837] Escape APDU:E0 00 00 40 00 2016-10-13 09:40:32.962 TimeClock[311:26679] EscapeResponse <e1000040 00> 2016-10-13 09:40:37.763 TimeClock[311:27018] Escape APDU:E0 00 00 48 04 2016-10-13 09:40:37.874 TimeClock[311:26679] EscapeResponse <e1000000 0104> 2016-10-13 09:40:38.143 TimeClock[311:26807] Escape APDU:E0 00 00 40 01 2016-10-13 09:40:38.399 TimeClock[311:26679] EscapeResponse <e1000040 01> 2016-10-13 09:40:38.549 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:40.649 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:40.725 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:40:40.737 TimeClock[311:27001] Command APDU:FF CA 00 00 00 2016-10-13 09:40:40.799 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:40:41.175 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:44.399 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:44.474 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:40:44.487 TimeClock[311:27001] Command APDU:FF CA 00 00 00 2016-10-13 09:40:44.549 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:40:44.961 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:40:47.099 TimeClock[311:26679] Change Status:Present 2016-10-13 09:40:47.175 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:40:47.188 TimeClock[311:27001] Command APDU:FF CA 00 00 00 2016-10-13 09:40:47.251 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:40:48.074 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:41:22.690 TimeClock[311:26679] Change Status:Present 2016-10-13 09:41:22.764 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:41:22.776 TimeClock[311:27457] Command APDU:FF CA 00 00 00 2016-10-13 09:41:22.839 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:41:23.214 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:41:24.176 TimeClock[311:26679] ::discovered peripheral vívoactive <__NSConcreteUUID 0x146cda10> 797004E0-5552-B767-65CB-6DFDE5287B77 2016-10-13 09:41:26.964 TimeClock[311:26679] Change Status:Present 2016-10-13 09:41:27.039 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:41:27.051 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:41:27.114 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:41:27.976 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:41:29.551 TimeClock[311:26679] Change Status:Present 2016-10-13 09:41:29.627 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:41:29.640 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:41:29.702 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:41:30.564 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:41:48.941 TimeClock[311:26679] Change Status:Present 2016-10-13 09:41:49.016 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:41:49.029 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:41:49.090 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:41:49.953 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:41:53.141 TimeClock[311:26679] Change Status:Present 2016-10-13 09:41:53.253 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:41:53.266 TimeClock[311:27505] Command APDU:FF CA 00 00 00 2016-10-13 09:41:53.328 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:41:54.115 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:41:57.791 TimeClock[311:26679] Change Status:Present 2016-10-13 09:41:57.904 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:41:57.917 TimeClock[311:27505] Command APDU:FF CA 00 00 00 2016-10-13 09:41:57.979 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:41:58.803 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:01.503 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:01.654 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:42:01.666 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:42:01.727 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:42:02.516 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:06.482 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:06.753 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:06.904 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:06.917 TimeClock[311:27505] Command APDU:FF CA 00 00 00 2016-10-13 09:42:06.979 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:07.733 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:09.065 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:09.866 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:09.942 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:42:09.955 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:42:10.016 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:42:10.316 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:13.017 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:13.130 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:13.143 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:42:13.279 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:13.579 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:15.728 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:16.204 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:16.355 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:16.367 TimeClock[311:27505] Command APDU:FF CA 00 00 00 2016-10-13 09:42:16.429 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:17.179 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:18.267 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:18.342 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:18.355 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:42:18.417 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:18.484 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:19.280 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:19.673 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:20.329 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:20.442 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:20.455 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:42:20.630 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:20.687 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:21.342 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:21.837 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:22.392 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:22.468 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:22.480 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:42:22.542 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:23.074 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:23.405 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:24.958 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:24.979 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:25.167 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:25.180 TimeClock[311:27505] Command APDU:FF CA 00 00 00 2016-10-13 09:42:25.355 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:25.992 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:28.617 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:28.677 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:28.692 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:42:28.705 TimeClock[311:27505] Command APDU:FF CA 00 00 00 2016-10-13 09:42:28.767 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:42:29.105 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:29.880 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:31.729 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:31.881 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:31.893 TimeClock[311:27505] Command APDU:FF CA 00 00 00 2016-10-13 09:42:31.955 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:32.255 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:33.905 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:33.981 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:33.993 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:42:34.168 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:35.373 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:35.516 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:39.455 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:42.644 TimeClock[311:26679] Change Status:Present 2016-10-13 09:42:42.719 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:42:42.732 TimeClock[311:27051] Command APDU:FF CA 00 00 00 2016-10-13 09:42:42.794 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:42:44.137 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:42:44.668 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:42:53.911 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:03.649 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:09.820 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:17.035 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:21.831 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:29.026 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:36.227 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:39.819 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:45.215 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:52.126 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x146da3f0> 92E73879-0CB0-0623-F438-02C2A675BDA5 2016-10-13 09:43:55.432 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:43:59.329 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:03.123 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:03.198 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:44:03.210 TimeClock[311:27588] Command APDU:FF CA 00 00 00 2016-10-13 09:44:03.273 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:44:03.647 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:04.774 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:04.848 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:44:04.861 TimeClock[311:27588] Command APDU:FF CA 00 00 00 2016-10-13 09:44:04.923 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:44:05.298 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:06.422 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:06.498 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:44:06.511 TimeClock[311:27653] Command APDU:FF CA 00 00 00 2016-10-13 09:44:06.573 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:44:06.947 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:11.673 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:11.747 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:44:11.759 TimeClock[311:27653] Command APDU:FF CA 00 00 00 2016-10-13 09:44:11.823 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:44:12.198 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:13.323 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:13.399 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:44:13.411 TimeClock[311:27653] Command APDU:FF CA 00 00 00 2016-10-13 09:44:13.473 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:44:13.886 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:14.929 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:14.935 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:15.011 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:44:15.023 TimeClock[311:27653] Command APDU:FF CA 00 00 00 2016-10-13 09:44:15.086 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:44:15.461 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:24.215 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:26.036 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:26.111 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:44:26.124 TimeClock[311:27588] Command APDU:FF CA 00 00 00 2016-10-13 09:44:26.186 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:44:26.562 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:29.786 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:29.862 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:44:29.875 TimeClock[311:27588] Command APDU:FF CA 00 00 00 2016-10-13 09:44:29.937 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:44:30.798 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:30.803 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:32.374 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:32.450 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:44:32.462 TimeClock[311:27588] Command APDU:FF CA 00 00 00 2016-10-13 09:44:32.524 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:44:33.386 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:36.534 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:36.538 TimeClock[311:26679] Change Status:Present 2016-10-13 09:44:36.612 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:44:36.624 TimeClock[311:27588] Command APDU:FF CA 00 00 00 2016-10-13 09:44:36.687 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:44:37.062 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:44:38.002 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:43.120 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:47.631 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:50.624 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:53.908 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:57.816 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:44:58.720 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:01.730 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:07.727 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:13.418 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:16.121 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:17.032 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:18.015 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:18.089 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:45:18.102 TimeClock[311:27770] Command APDU:FF CA 00 00 00 2016-10-13 09:45:18.164 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:45:19.514 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:45:21.730 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:21.840 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:45:21.853 TimeClock[311:27770] Command APDU:FF CA 00 00 00 2016-10-13 09:45:21.914 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:45:22.776 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:45:25.403 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:25.515 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:45:25.527 TimeClock[311:27873] Command APDU:FF CA 00 00 00 2016-10-13 09:45:25.589 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:45:25.928 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:45:28.027 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:28.140 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:45:28.153 TimeClock[311:27873] Command APDU:FF CA 00 00 00 2016-10-13 09:45:28.214 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:45:28.514 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:45:32.024 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:32.715 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:32.790 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:45:32.803 TimeClock[311:27770] Command APDU:FF CA 00 00 00 2016-10-13 09:45:32.865 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:45:33.277 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:45:37.477 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:37.553 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:45:37.565 TimeClock[311:27770] Command APDU:FF CA 00 00 00 2016-10-13 09:45:37.627 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:45:38.490 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:45:40.403 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:42.165 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:42.241 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:45:42.253 TimeClock[311:27770] Command APDU:FF CA 00 00 00 2016-10-13 09:45:42.316 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:45:43.178 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:45:44.752 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:44.828 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:45:44.841 TimeClock[311:27873] Command APDU:FF CA 00 00 00 2016-10-13 09:45:44.903 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:45:47.301 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:45:49.290 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:45:50.865 TimeClock[311:26679] Change Status:Present 2016-10-13 09:45:50.942 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:45:50.954 TimeClock[311:27770] Command APDU:FF CA 00 00 00 2016-10-13 09:45:51.016 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:46:03.807 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:06.213 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:08.530 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:46:09.791 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:11.006 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:11.591 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:12.729 TimeClock[311:26679] Change Status:Present 2016-10-13 09:46:12.841 TimeClock[311:26679] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:46:12.854 TimeClock[311:27873] Command APDU:FF CA 00 00 00 2016-10-13 09:46:12.917 TimeClock[311:26679] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:46:13.741 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:46:13.999 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:16.892 TimeClock[311:26679] Change Status:Present 2016-10-13 09:46:16.968 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:46:16.981 TimeClock[311:27946] Command APDU:FF CA 00 00 00 2016-10-13 09:46:17.042 TimeClock[311:26679] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:46:18.392 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:46:22.142 TimeClock[311:26679] Change Status:Present 2016-10-13 09:46:22.218 TimeClock[311:26679] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:46:22.231 TimeClock[311:27873] Command APDU:FF CA 00 00 00 2016-10-13 09:46:22.292 TimeClock[311:26679] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:46:22.403 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:22.630 TimeClock[311:26679] Change Status:Absent 2016-10-13 09:46:24.880 TimeClock[311:26679] Change Status:Present 2016-10-13 09:46:24.956 TimeClock[311:26679] ATR Response: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 11 00 30 00 00 00 00 49 2016-10-13 09:46:26.003 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:31.114 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:40.710 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:45.810 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:46:58.407 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:47:06.190 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:47:14.588 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:47:23.568 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:47:32.851 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25 2016-10-13 09:47:40.670 TimeClock[311:26679] ::discovered peripheral (null) <__NSConcreteUUID 0x14656190> 7F503EDB-9241-8DD9-D4E4-A5F56D57BE25</strong>
Right before it went into “hang mode”, I tapped a card and the console showed an ATR Response of 3B 8F 80 01 80 4F 0C A0 00 00 03 06 11 00 30 00 00 00 00 49 which is no where to be seen anywhere else in the log and then the console log of Command APDU:FF CA 00 00 00 never showed up. I don’t know if that will help or not.
Also, I noticed that the app keeps on discovering peripherals even when the device is connected. Maybe turning off scanning for peripherals when the device is connected might help.
- This reply was modified 8 years, 2 months ago by Scott.
October 12, 2016 at 10:25 pm #56763Another interesting thing I noticed is that when the device is not charging, the card doesn’t even have to touch the device and the device will read the tag. But when it is charging, the card needs to be placed on the device and moved around a bit until it hits just the right spot for the device to read the tag. I’m guessing that when the device is on charge, it creates some sort of electrical or magnetic field around it that’s messing with the tags. Could that be a problem?
October 12, 2016 at 11:23 pm #56764I checked the difference between the ATR Response from https://smartcard-atr.appspot.com
The Normal ATR Response translates to
image missingThe ATR Response before the “hang mode” translates to
image missingFor some reason, it read it as Topaz NFC Tag instead of MiFare Plus 2K S
October 13, 2016 at 6:20 am #56769Hi Malik,
Wow, very strange, I will forward that charging issue to a more hardware-literate member of the team!
Very strange that you are seeing a Topaz NFC Tag ATR.
(also, I can’t see the images in the above post)
AllowMulticonnect should control the sessionManager scanning for peripherals, I tested it here and it’s working fine but for some reason it continues scanning for peripherals for you even when set false. I see you’re using Swift, have you seen that our latest build has a README specifically for Swift? My hope is that you switch to using the dedicated Swift code, AllowMulticonnect begins to work for you, and it solves all our problems… here’s hoping. My suspicion is that the device is disconnecting from bluetooth and then reconnecting causing the hang time, ideally it just stays connected.
Worth noting that we are only in very early stages of supporting Swift customers.~Scott
- This reply was modified 8 years, 2 months ago by Scott.
October 13, 2016 at 9:14 pm #56779Hi Scott,
The dedicated Swift code wasn’t any different than what I was doing so it didn’t make any difference when I tried it with the dedicated code. As for the pictures, you can just go to the link I posted and enter the last two ATR responses and it will parse it for you. I did a little bit of research and I’m inclined towards the idea that it might be caused because of the variation in magnetic field generated by the device while charging which in turns messes with the electrical field generated for the tags as a result of the magnetic field. Might want to point that out to the hardware members of your team. Could be worth looking into. My company has placed an order for some more FloBLE scanners. I’ll test it out on them as well to check if it’s just this device that’s faulty (as your device seems to be working fine) or if it’s a hardware problem that persists in all the devices.
October 26, 2016 at 12:29 am #57059Hi Scott and Richard,
As mentioned in my previous reply, my company had ordered some more FloBLE scanners. I just received them today. I tested three different scanners and all of them are reading the tags perfectly while on charge. My guess is that the first scanner we ordered might have had some hardware issue, thus preventing it from reading tags while on charge. Thanks for your patience, the prompt responses and all the help you provided in resolving the issues. Much appreciated.
Cheers
October 26, 2016 at 12:39 am #57060Would it be possible to get a replacement for the faulty one? We can ship the faulty one back to you but since we are in Australia, it’s probably not economical.
November 15, 2016 at 10:36 pm #57299Malik, sorry for the delayed reply on this. You’ve been stellar in helping us root cause this very elusive issue and even going as far as posting it’s resolution on another similar thread. I can’t tell you how much I appreciate that. Can you record a quick video showing the faulty behavior so we can send to the manufacturer?
Sending back the faulty FloBLE Plus may not be worth it. However, I did create a store credit coupon for your to use on your next order. The code is
#malikisabeast
Just apply it when checking out and paying from your account.
best,
RichardNovember 15, 2016 at 10:47 pm #57302Thanks for you reply. I will make a video and post the link as soon as it’s done.
November 15, 2016 at 11:53 pm #57307Hi Richard,
I’ve uploaded the video regarding the connectivity issues of the faulty device:
November 16, 2016 at 12:25 am #57312Hi Malik, I’ve reviewed your posted video but it’s not apparent what the issue is. The video starts out by not scanning tags but then in the end starts responding. During the entire sequence the USB power is plugged in and charging (indicated by red LED). I figured you would show the reader scanning fine while not charging and then not scanning once the USB power was connected.
I also noticed some weird initialization behavior between tag scans. Almost like you’re reinitializing the SDK on every tag scan. Remember to instantiate the SDK only in the
viewDidLoad()
method of your ViewController and then run segues to avoid this behavior.best,
RichardNovember 16, 2016 at 12:59 am #57314Hi Richard,
I’m not initializing the SDK on each Tag Scan. When I call the createReaders function, it initializes the device, connects it and then disconnects immediately. As a result, I have to call the function again to connect the device and it does the same thing again i.e. initializes, connects, and disconnects. This is the behaviour you’re seeing in the video. Towards the end, it starts working normally.
I didn’t make a video with the device not on charge as it doesn’t show this behaviour while not charging.
November 16, 2016 at 1:29 am #57315I guess what I don’t understand is why does it start working normally at the end of the video. What changed?
Showing the behavior while plugged into power vs. not plugged into power will be explicit in revealing the hardware issue for the manufacturer, ACS, to realize. If you can re-record highlighting that difference then it’s something I can send them. Otherwise, they will be confused.
Even at the end of the video where you suggest the system is working normally it seems odd. You should never see the 3 Escape APDUs listed between your scans… the log should look like this:
2016-11-16 01:26:36.648301 Test[4304:1570108] Init FloBLE Plus 2016-11-16 01:26:36.709152 Test[4304:1570108] ::centralManagerDidUpdateState supports 5 2016-11-16 01:26:36.759669 Test[4304:1570108] ::discovered peripheral (null) EAEE9B49-FEFB-4A5B-8523-D35948E4F369 2016-11-16 01:26:36.807508 Test[4304:1570108] ::discovered peripheral Grundawgy 29BA22F7-3831-5646-8369-63A5A39C58D7 2016-11-16 01:26:36.863762 Test[4304:1570108] ::discovered peripheral [TV] UN40J5500 DEC070ED-D838-3874-5045-7720DBB5AC91 2016-11-16 01:26:37.378987 Test[4304:1570108] ::discovered peripheral Apple TV 1808ACE4-7B3B-C350-3B9C-DE8400B98574 2016-11-16 01:26:38.085392 Test[4304:1570108] ::discovered peripheral (null) 0179272A-FD2D-446E-B54C-122FEC30A397 2016-11-16 01:26:40.742609 Test[4304:1570108] ::discovered peripheral ACR1255U-J1-000177 2D1AA713-16DD-9E4E-CDDB-0F6281E9B6E2 2016-11-16 01:26:41.183567 Test[4304:1570108] Peripheral Connected 2016-11-16 01:26:41.295041 Test[4304:1570108] Services Discovered 2016-11-16 01:26:41.305081 Test[4304:1570108] Reader Detected 2016-11-16 01:26:41.473126 Test[4304:1570108] Peripheral Successfully Attached 2016-11-16 01:26:41.535018 Test[4304:1570108] didChangeBatteryLevel 60 2016-11-16 01:26:41.623760 Test[4304:1570108] EscapeResponse <e1000045 0096dc1a c0a990e4 366dfddd a4ccd96d 8f> 2016-11-16 01:26:41.683910 Test[4304:1570108] EscapeResponse <e1000046 005f6377 e835a08b d46fe325 b38eb7bd 39> 2016-11-16 01:26:41.684225 Test[4304:1570108] Peripheral Successfully Authenticated 2016-11-16 01:26:41.743585 Test[4304:1570108] Firmware: FWV 1.16.03 2016-11-16 01:26:41.803453 Test[4304:1570108] Hardware: HWV 1.03 2016-11-16 01:26:41.893296 Test[4304:1570108] Serial Number: RR330-000177 2016-11-16 01:26:41.893780 Test[4304:1570108] Verfied Pro license 2016-11-16 01:26:42.166324 Test[4304:1570280] Escape APDU:E0 00 00 48 04 2016-11-16 01:26:42.255246 Test[4304:1570108] EscapeResponse <e1000000 0104> 2016-11-16 01:26:42.516684 Test[4304:1570175] Escape APDU:E0 00 00 20 01 01 2016-11-16 01:26:42.584355 Test[4304:1570108] EscapeResponse <e1000000 0101> 2016-11-16 01:26:42.859407 Test[4304:1570180] Escape APDU:E0 00 00 48 04 2016-11-16 01:26:42.912829 Test[4304:1570108] EscapeResponse <e1000000 0104> 2016-11-16 01:26:43.170419 Test[4304:1570174] Escape APDU:E0 00 00 40 01 2016-11-16 01:26:43.214374 Test[4304:1570108] EscapeResponse <e1000040 01> 2016-11-16 01:26:43.334597 Test[4304:1570108] Change Status:Absent 2016-11-16 01:26:43.477075 Test[4304:1570279] Escape APDU:E0 00 00 49 03 2016-11-16 01:26:43.604400 Test[4304:1570108] EscapeResponse <e1000000 0103> 2016-11-16 01:26:50.505651 Test[4304:1570108] Change Status:Present 2016-11-16 01:26:50.564631 Test[4304:1570108] ATR Response: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 03 00 00 00 00 68 2016-11-16 01:26:50.575810 Test[4304:1570174] Command APDU:FF CA 00 00 00 2016-11-16 01:26:50.624283 Test[4304:1570108] Response apdu:04 CE 33 B2 E3 25 80 90 00 2016-11-16 01:26:51.043248 Test[4304:1570108] Change Status:Absent 2016-11-16 01:26:52.574355 Test[4304:1570108] Change Status:Present 2016-11-16 01:26:52.634724 Test[4304:1570108] ATR Response: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 03 00 00 00 00 68 2016-11-16 01:26:52.646720 Test[4304:1570174] Command APDU:FF CA 00 00 00 2016-11-16 01:26:52.723618 Test[4304:1570108] Response apdu:04 CE 33 B2 E3 25 80 90 00 2016-11-16 01:26:53.114097 Test[4304:1570108] Change Status:Absent 2016-11-16 01:26:54.164933 Test[4304:1570108] Change Status:Present 2016-11-16 01:26:54.224946 Test[4304:1570108] ATR Response: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 03 00 00 00 00 68 2016-11-16 01:26:54.237001 Test[4304:1570280] Command APDU:FF CA 00 00 00 2016-11-16 01:26:54.284555 Test[4304:1570108] Response apdu:04 CE 33 B2 E3 25 80 90 00 2016-11-16 01:26:54.614762 Test[4304:1570108] Change Status:Absent
best,
RichardNovember 16, 2016 at 1:43 am #57318Hi Richard,
When the device is not on charge, it reads tags normally as it should. A log from a test conducted a while back is already mentioned in this forum dated 12th October. I’ve copied it here for your convenience.
2016-10-13 09:09:48.181 TimeClock[292:22396] Init FloBLE Plus 2016-10-13 09:09:48.194 TimeClock[292:22396] ::centralManagerDidUpdateState supports 5 2016-10-13 09:09:48.254 TimeClock[292:22396] ::discovered peripheral ACR1255U-J1-001135 <__NSConcreteUUID 0x14753310> EAB501F6-1DC2-5D99-0F3E-11BC5FA1B9E1 2016-10-13 09:09:48.521 TimeClock[292:22396] Peripheral Connected 2016-10-13 09:09:48.618 TimeClock[292:22396] ::discovered peripheral (null) <__NSConcreteUUID 0x146bbfb0> C5BAB97B-F737-2A3B-3104-E22D863FFD66 2016-10-13 09:09:48.820 TimeClock[292:22396] ::discovered peripheral Surge <__NSConcreteUUID 0x147b7ba0> C797DFD4-343E-CF89-28FE-9871C483B5FA 2016-10-13 09:09:48.865 TimeClock[292:22396] Services Discovered 2016-10-13 09:09:48.872 TimeClock[292:22396] Reader Detected 2016-10-13 09:09:49.524 TimeClock[292:22396] Peripheral Successfully Attached 2016-10-13 09:09:49.585 TimeClock[292:22396] didChangeBatteryLevel 90 2016-10-13 09:09:49.645 TimeClock[292:22396] EscapeResponse <e1000045 00a8efc1 d498a1b3 d98e3c15 378ba11a d8> 2016-10-13 09:09:49.705 TimeClock[292:22396] EscapeResponse <e1000046 001229f0 13bc232a 06cf2f82 0da0b1e3 8a> 2016-10-13 09:09:49.706 TimeClock[292:22396] Peripheral Successfully Authenticated 2016-10-13 09:09:49.765 TimeClock[292:22396] Fimrware: FWV 1.16.03 2016-10-13 09:09:49.825 TimeClock[292:22396] Serial Number: RR330-001135 2016-10-13 09:09:49.835 TimeClock[292:22444] Have Response, registered 2016-10-13 09:09:49.836 TimeClock[292:22444] Verfied Basic license 2016-10-13 09:09:50.108 TimeClock[292:22442] Escape APDU:E0 00 00 48 04 2016-10-13 09:09:50.155 TimeClock[292:22396] EscapeResponse <e1000000 0104> 2016-10-13 09:09:50.417 TimeClock[292:22444] Escape APDU:E0 00 00 40 01 2016-10-13 09:09:50.455 TimeClock[292:22396] EscapeResponse <e1000040 01> 2016-10-13 09:09:50.665 TimeClock[292:22396] Change Status:Absent 2016-10-13 09:09:53.995 TimeClock[292:22396] Change Status:Present 2016-10-13 09:09:54.055 TimeClock[292:22396] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:09:54.067 TimeClock[292:22462] Command APDU:FF CA 00 00 00 2016-10-13 09:09:54.116 TimeClock[292:22396] Response apdu:04 50 84 92 09 2B 80 90 00 Found Tag UUID: 04 50 84 92 09 2B 80 from device: RR330-001135 2016-10-13 09:09:54.535 TimeClock[292:22396] Change Status:Absent 2016-10-13 09:09:57.895 TimeClock[292:22396] Change Status:Present 2016-10-13 09:09:57.956 TimeClock[292:22396] ATR Response: 3B 87 80 01 C1 05 2F 2F 00 35 C7 30 2016-10-13 09:09:57.969 TimeClock[292:22462] Command APDU:FF CA 00 00 00 2016-10-13 09:09:58.016 TimeClock[292:22396] Response apdu:04 87 83 92 09 2B 80 90 00 Found Tag UUID: 04 87 83 92 09 2B 80 from device: RR330-001135 2016-10-13 09:09:58.435 TimeClock[292:22396] Change Status:Absent 2016-10-13 09:10:01.656 TimeClock[292:22396] Change Status:Present 2016-10-13 09:10:01.658 TimeClock[292:22396] didChangeBatteryLevel 80 2016-10-13 09:10:01.732 TimeClock[292:22396] ATR Response: 3B 81 80 01 80 80 2016-10-13 09:10:01.744 TimeClock[292:22444] Command APDU:FF CA 00 00 00 2016-10-13 09:10:01.806 TimeClock[292:22396] Response apdu:04 44 8B B1 B4 1E 80 90 00 Found Tag UUID: 04 44 8B B1 B4 1E 80 from device: RR330-001135 2016-10-13 09:10:02.180 TimeClock[292:22396] Change Status:Absent
As for what changed towards the end, that is the million dollar question. That exactly is the problem I’ve been trying to figure out. It’s a hit and miss. We have to keep turning it off and on again until it starts reading the tags.
As for 3 Escape APDUs, it might be the same problem as mentioned above, or it could be the modified SDK I was provided with. I’m not sure which one is it
November 16, 2016 at 2:06 am #57320Ok, I see what you’re saying now. I still need a video showing both the working “no charging” behavior and the not working/working “charging” behavior. I know it’s annoying to have to make another video to capture the extra piece but that’s what I need to point out to the ACS engineers exactly what’s going on that is not right. If I show them only something that is not working, they will question the Flomio SDK as opposed to focusing on the issue being hardware related. If I had a reader exhibiting this odd behavior, I would record the video myself. You’ve done more than enough already but if you want to get this resolved for everyone then a new video would help get us there.
thanks,
RichardNovember 16, 2016 at 2:30 am #57321Hi Richard,
Please visit this link for the video showing the same device to be working while not charging.
November 16, 2016 at 3:28 am #57323Malik, thanks for posting the video of the “no charing” behavior. From observing the console output I still see recurring Escape APDUs being called between tag reads. This should not occur. The console output should only show Command APDUs like so:
2016-11-16 01:26:50.505651 Test[4304:1570108] Change Status:Present 2016-11-16 01:26:50.564631 Test[4304:1570108] ATR Response: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 03 00 00 00 00 68 2016-11-16 01:26:50.575810 Test[4304:1570174] Command APDU:FF CA 00 00 00 2016-11-16 01:26:50.624283 Test[4304:1570108] Response apdu:04 CE 33 B2 E3 25 80 90 00 2016-11-16 01:26:51.043248 Test[4304:1570108] Change Status:Absent 2016-11-16 01:26:52.574355 Test[4304:1570108] Change Status:Present 2016-11-16 01:26:52.634724 Test[4304:1570108] ATR Response: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 03 00 00 00 00 68 2016-11-16 01:26:52.646720 Test[4304:1570174] Command APDU:FF CA 00 00 00 2016-11-16 01:26:52.723618 Test[4304:1570108] Response apdu:04 CE 33 B2 E3 25 80 90 00 2016-11-16 01:26:53.114097 Test[4304:1570108] Change Status:Absent 2016-11-16 01:26:54.164933 Test[4304:1570108] Change Status:Present 2016-11-16 01:26:54.224946 Test[4304:1570108] ATR Response: 3B 8F 80 01 80 4F 0C A0 00 00 03 06 03 00 03 00 00 00 00 68 2016-11-16 01:26:54.237001 Test[4304:1570280] Command APDU:FF CA 00 00 00 2016-11-16 01:26:54.284555 Test[4304:1570108] Response apdu:04 CE 33 B2 E3 25 80 90 00 2016-11-16 01:26:54.614762 Test[4304:1570108] Change Status:Absent
Can you share your ViewController code where you’re initializing the Flomio SDK?? I suspect you are doing something fundamentally wrong that may be causing the issue.
November 16, 2016 at 3:47 am #57324Hi Richard,
I’ve created a Singleton instance of NFC Reader. Below is the code I am using:
class NFCReader: NSObject, FmSessionManagerDelegate { let readerManager = FmSessionManager() var pairingTimer = NSTimer() var readerPaired : Bool! var UUID : String! var connectionTries : Int = 0 var batteryLevel : Int = 0 class var sharedInstance: NFCReader { struct Singleton { static let instance = NFCReader() } return Singleton.instance } override init() { super.init() readerPaired = false /*NFC Reader*/ readerManager!.selectedDeviceType = .FloBlePlus readerManager!.delegate = self readerManager!.scanPeriod = NSNumber(int: 500) readerManager!.scanSound = NSNumber(bool: true) readerManager!.readerState = .ReadUuid readerManager!.allowMultiConnect = false readerManager!.powerOperation = .AutoPollingControl /*NFC Reader*/ } func tryConnection() { pairingTimer = NSTimer.scheduledTimerWithTimeInterval(2.5, target: self, selector: #selector(NFCReader.createReader), userInfo: nil, repeats: true) } func createReader() { connectionTries += 1 if connectionTries <= 6 { readerManager!.createReaders() } else { connectionTries = 0 pairingTimer.invalidate() NSNotificationCenter.defaultCenter().postNotificationName("PairingTimeout", object: nil) } } /*NFC Reader Functions*/ func didFindATagUuid(UUID: String!, fromDevice serialNumber: String!, withATR detectedATR: String!, withError error: NSError!) { self.UUID = UUID NSNotificationCenter.defaultCenter().postNotificationName("FoundTag", object: nil) } func didRespondToApduCommand(response: String!, fromDevice serialNumber: String!, withError error: NSError!) { } func didUpdateConnectedDevices(devices: [AnyObject]!) { var connected : FmDevice! for dev in devices { connected = dev as! FmDevice if connected.communicationStatus == .Disconnected { readerPaired = false } else { readerPaired = true pairingTimer.invalidate() break } } batteryLevel = Int(connected.batteryLevel) NSNotificationCenter.defaultCenter().postNotificationName("DeviceUpdated", object: nil) } func didChangeCardStatus(status: CardStatus, fromDevice device: String!) { } func didReceiveReaderError(error: NSError!) { } func didFindADataBlockWithNdef(ndef: NdefMessage!, fromDevice serialNumber: String!, withError error: NSError!) { } /*NFC Reader Functions*/ }
Then when I want to connect the reader, I use:
let reader = NFCReader.sharedInstance reader.tryConnection()
I hope that helps
Cheers
November 16, 2016 at 4:18 am #57326Ok, I’m not too familiar with Swift syntax so I’ll let Scott look this over and log an issue against it if necessary. Will get back to you on this.
thanks,
RichardNovember 16, 2016 at 10:24 am #57333Hi Malik,
I have just tested your code and I have not been able to replicate this issue, I had to update it to Swift 3 to work with my setup. I would not have given you a version of 2.1 which separated from the current build so you should download the latest build of v2.1 (basic) which is the most reliably tested just to be sure.
Here is the NFCReader class in Swift 3, it worked reliably using the latest build of the 2.1 SDK with my reader charging and not. I could not replicate the connectivity issue or trigger escape commands after tag scans. Thank you for continuing to try help us resolve this strange issue.
class NFCReader: NSObject, FmSessionManagerDelegate { let readerManager = FmSessionManager() var pairingTimer = Timer() var readerPaired : Bool! var UUID : String! var connectionTries : Int = 0 var batteryLevel : Int = 0 class var sharedInstance: NFCReader { struct Singleton { static let instance = NFCReader() } return Singleton.instance } override init() { super.init() readerPaired = false /*NFC Reader*/ readerManager!.selectedDeviceType = .floBlePlus readerManager!.delegate = self readerManager!.scanPeriod = NSNumber(value: 500) readerManager!.scanSound = NSNumber(value: true) readerManager!.readerState = .readUuid readerManager!.allowMultiConnect = false readerManager!.powerOperation = .autoPollingControl /*NFC Reader*/ } func tryConnection() { pairingTimer = Timer.scheduledTimer(timeInterval: 2.5, target: self, selector: #selector(NFCReader.createReader), userInfo: nil, repeats: true) } func createReader() { connectionTries += 1 if connectionTries <= 6 { readerManager!.createReaders() } else { connectionTries = 0 pairingTimer.invalidate() NotificationCenter.default.post(name: NSNotification.Name(rawValue: "PairingTimeout"), object: nil) } } /*NFC Reader Functions*/ func didFindATagUuid(_ UUID: String!, fromDevice serialNumber: String!, withATR detectedATR: String!, withError error: Error!) { self.UUID = UUID NotificationCenter.default.post(name: NSNotification.Name(rawValue: "FoundTag"), object: nil) } func didRespond(toApduCommand response: String!, fromDevice serialNumber: String!, withError error: Error!) { } func didUpdateConnectedDevices(_ devices: [Any]!) { var connected : FmDevice! for dev in devices { connected = dev as! FmDevice if connected.communicationStatus == .disconnected { readerPaired = false } else { readerPaired = true pairingTimer.invalidate() break } } batteryLevel = Int(connected.batteryLevel) NotificationCenter.default.post(name: NSNotification.Name(rawValue: "DeviceUpdated"), object: nil) } func didChange(_ status: CardStatus, fromDevice device: String!) { } func didReceiveReaderError(_ error: Error!) { } func didFindADataBlock(withNdef ndef: NdefMessage!, fromDevice serialNumber: String!, withError error: Error!) { } }
-
AuthorPosts
You must be logged in to reply to this topic.