Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connect with specific BLE301 reader only via (BOOL)connectPeripheralReader:(NSString *)readerName timeout:(float)timeout; #46

Closed
Anioz opened this issue Sep 11, 2023 · 12 comments

Comments

@Anioz
Copy link

Anioz commented Sep 11, 2023

Xamarin.iOS Binding library of libiRockey301_ccid_V3.5.64_Debug.a

This works fast but is non specific, even a bluetooth TV will connect:
Device = new ReaderInterface();
Device.setAutoPair(true)
SCardEstablishContext

This doesn't work at the moment:
Device = new ReaderInterface();
Device.setAutoPair(false)
SCardEstablishContext
Device.connectPeripheralReader(string readerName, nfloat time)

What can be the reason the specific cardreader connection does not work, is there something wrong with the order or something else and does the nfloat need to be an int in order for it to work?

@richard605
Copy link
Contributor

@Anioz Hi, thanks for your feedback, please let me know the reader's model and your iOS device and the iOS system version. Please refer to the following pic to get the reader's PID/REV info:

Check_VID_PID_REV

@Anioz
Copy link
Author

Anioz commented Sep 11, 2023

USB\VID_096E&PID_0624&REV_0112
iPhone XS
iOS 16.6 @richard605

@richard605
Copy link
Contributor

@Anioz Well noted, thanks. I'll let our R&D have a check.

@richard605
Copy link
Contributor

@Anioz I just noticed your reader firmware is an old version, would you please update the firmware first, and have a try.

The firmware is in https://github.com/FeitianSmartcardReader/BR500_AND_BR301BLE_SDK_Latest/tree/master/Tools/Update%20Tool/bR301BLE, please use "bR301FC4_Update_20191016_1.14.meta" file.

And please note: Keep only 1 meta file in the folder.

@Anioz
Copy link
Author

Anioz commented Sep 11, 2023

@richard605
USB\VID_096E&PID_0624&REV_0222
USB\VID_096E&PID_0624&REV_0225

Ive tried these as well just to make sure and they show same symptoms, as a company we need to support both old and new readers for our 3000+ customers (nurses/medical staff) but this seems to be unrelated to the firmware version since i have multiple cardreader versions (all ble)

Ideally we want our nurses to be able to select a reader but if this is technically no longer possible then maybe if you would allow only FT_ prefix name devices to autoconnect on developer demand with setautopair(true) then this problem would be solved as well

Currently main issue is that our nurses are connecting to the bluetooth smart TV's of their patients when they visit instead of their BLE cardreader

The binding library was made on a Macbook, i do not mind testing experimental builds if you think this is the only solution

@richard605
Copy link
Contributor

richard605 commented Sep 11, 2023

@Anioz thanks for your feedback, and sorry for your inconvenience. Please let me clarify I just want to try help to get the issue solved step by step in my part, before it goes into our R&D. Would you try the release version instead of the debug one?

@Anioz
Copy link
Author

Anioz commented Sep 11, 2023

@richard605
I've made a iOS binding library with the release version and the symptom is the same (used cardreaders rev225 & 222)

Method returns a bool false, no error

@richard605
Copy link
Contributor

@Anioz well noted. let me forward this to our R&D colleague tomorrow morning and back to you.

@richard605
Copy link
Contributor

@Anioz Hi, while now our R&D is trying to reproduce this issue. Did you try our demo sample app, does it have same issue? https://apps.apple.com/us/app/irockey301/id525954151
Because it use the same lib. Please install it on your iOS device and take a look.

@Anioz
Copy link
Author

Anioz commented Sep 12, 2023

@richard605
DEMO app xamarin does not compile (several methods missing and incomplete bindings): https://github.com/FeitianSmartcardReader/FEITIAN_MOBILE_READERS/tree/master/Xamarin_Combo
It's binding library is named Xamarin_Combo/CardReader_Xamarin/Feitian.CardReader.iOS
Inside of it connectPeripheralReader(string readerName, nfloat time) is commented, possibly for the same issue

DEMO app iOS works great both manual and autoconnect: (this code in its form native is unusable for the cross platform Xamarin project which relies on binding libraries for native libs)
https://apps.apple.com/us/app/irockey301/id525954151

I understand this is difficult to debug if you do not have a working Xamarin Forms DEMO project with a iOS binding library for the native library hooked up to it, i will gladly create this for your R&D team so they more efficiently see where this is taking a wrong turn
(as long as we can do the communication in writing we can talk Chinese, English, Dutch, French or whatever language is prefered)

What email can i send a test project to so your team can test directly?
(this will probably also help with making your current published xamarin forms DEMO project code usable for other devs using this site

@richard605
Copy link
Contributor

@Anioz Please feel free to contact me: richard@ftsafe.com or skype: Richard.Han@FEITIAN

@Anioz
Copy link
Author

Anioz commented Sep 14, 2023

@richard605 Thanks to the xam demo example of R&D + bindings library you provided the primary tests show very good reliability on Xamarin forms framework, thank you very much, for us this is marked as solved

@Anioz Anioz closed this as completed Oct 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants