Home › Forums › Ask the Flomies › Flo BLE Timeout
Tagged: FLoBLE Timeout
-
AuthorPosts
-
July 8, 2016 at 10:20 am #55946
Hi Guys,
Can someone quickly point me to the place in the SDK where i can set the Flo BLE timeout to be what i want?
Thansk in advance
Mark
July 8, 2016 at 4:41 pm #55949Hi Mark,
The SDK currently doesn’t support setting the timeout programmatically (currently hard coded). Thanks for bringing this to our attention, I will begin adding this option. We will add several modes of operation to manage power and allow for long timeouts for cases in which the reader is connected to a power source.
In the case of FloBLE devices the API would be
1) connect to BLE and stay connected with NFC field off
2) connect to BLE and stay connected with NFC field on
3) disconnect after tag detect and reconnect when needed only.Each of these three options has different power draws so will allow you flexibility to maximize use of battery life (option 3) vs. operating in a plugged in powered manner (option 2).
Cheers,
Scott- This reply was modified 8 years, 4 months ago by Scott.
July 11, 2016 at 12:27 pm #55972Thanks Scott,
In terms of speed.
Can you suggest how I would do this in the underlying ACS SDK?
I could do with a quick fix.
Best
M
July 11, 2016 at 2:39 pm #55974Hey Mark, we don’t expose the Escape Command APDU interface in order to talk to the ACS reader from outside the Flomio SDK so we’d have to add that in anyway. Fastest way to solve your problem is simply provide you with a custom SDK with the Sleep timer disabled. That’s simple enough and not something that should block your development. I understand it’s annoying to have to hit the side button every 180secs during development but you can be confident that this will not be an issue in the field. Scott should have the SDK with the configs he mentioned about very soon as it’s not a lot of code to write. Stand by for that update.
Richard
November 15, 2016 at 10:34 pm #57298Hi Flomies,
I was wondering if there have been any updates on the FloBLE timeout front as I’m going through the same issue
November 15, 2016 at 11:07 pm #57303Hi Malik, if you have FloBLE Plus devices with FWV 1.16.03 and are running Flomio SDK v2.1 or later, you should not be experiencing timeout events. In particular the SDK should be configured with
Power Operation
set tokAutoPollingControl
orkBluetoothConnectionControl
:NSDictionary *configurationDictionary = @{ @"Scan Sound" : @1, @"Scan Period" : @1000, @"Reader State" : [NSNumber numberWithInt:kReadUuid], @"Power Operation" : [NSNumber numberWithInt:kAutoPollingControl], //or kBluetoothConnectionControl will work @"Allow Multiconnect" : @0, }; [readerManager setConfiguration: configurationDictionary];
After configuring the SDK in this way the FloBLE Plus should not go to sleep. If this is not the functionality you are observing then let us know.
thanks,
RichardNovember 15, 2016 at 11:22 pm #57304Hi Richard,
I have setup the device with powerOperation = AutoPollingControl but after a while of inactivity, the device goes into, what I perceive to be, sleep mode requiring me to press the side button before it will register events again.
I’m currently using the modified SDK that Scott gave me the link to. I’m not sure if it had the sleep timeout option embedded in it or not.
November 15, 2016 at 11:44 pm #57305Hey Malik, I just checked the SDK you’re using and can confirm that it does not have the sleep mode disabled. Please download the latest SDK v2.2 (beta) to pick up this functionality. We hope to get it officially released by the end of the month, so send us any issues you encounter with it.
best,
RichardNovember 15, 2016 at 11:48 pm #57306Thanks Richard,
Just something I wanted to clarify, the SDK I’m using had the MiFare card support added to it as well as the software fixes to overcome the issues I was facing. Does this SDK version has all those changes embedded in it? I wouldn’t want to update to a new SDK to fix Timeout issues only to dig out the issues buried in the past
November 16, 2016 at 12:09 am #57310Our process is to not pass out one-off SDKs that don’t get merged to mainline. Assuming Scott followed that rule (most likely the case) then the issues resolved with you would have been included in v2.2. Scott is offline for another 4 hours but he can confirm this when he reconnects in case you rather wait. I’ll let him know to checkin on this thread either way.
best,
RichardNovember 16, 2016 at 12:14 am #57311Hi Richard, I just checked the SDK v2.2. It seems to connect but doesn’t read any Tags. Probably because the SDK I’m using had a few changes made specific to the circumstances. Changes like Mifare card support and firing the didFindATagUuid for FloBLE.
The log with the SDK v2.2 looks as follows
2016-11-16 13:08:13.908 TimeClock[2921:609272] Init FloBLE Plus 2016-11-16 13:08:13.928 TimeClock[2921:609272] ::centralManagerDidUpdateState supports 5 2016-11-16 13:08:14.007 TimeClock[2921:609272] ::discovered peripheral ACR1255U-J1-001002 A98758FD-5B7F-4009-9A88-9680258DA7BF 2016-11-16 13:08:14.009 TimeClock[2921:609272] ::discovered peripheral ACR1255U-J1-001002 A98758FD-5B7F-4009-9A88-9680258DA7BF 2016-11-16 13:08:14.085 TimeClock[2921:609272] ::discovered peripheral (null) 6B8A62BE-BC09-412B-9EE3-2B94FB97536E 2016-11-16 13:08:14.088 TimeClock[2921:609272] ::discovered peripheral Charge HR DB073299-19AE-4658-8EBC-C67710325026 2016-11-16 13:08:14.344 TimeClock[2921:609272] Peripheral Connected 2016-11-16 13:08:14.721 TimeClock[2921:609272] Services Discovered 2016-11-16 13:08:14.728 TimeClock[2921:609272] Reader Detected 2016-11-16 13:08:15.440 TimeClock[2921:609272] Peripheral Successfully Attached 2016-11-16 13:08:15.531 TimeClock[2921:609272] didChangeBatteryLevel 70 2016-11-16 13:08:15.652 TimeClock[2921:609272] EscapeResponse <e1000045 00ff3103 9044a971 cc70486b b76f7301 57> 2016-11-16 13:08:15.742 TimeClock[2921:609272] EscapeResponse <e1000046 0086739e 25b47215 f65a915d 1c9cb524 e3> 2016-11-16 13:08:15.742 TimeClock[2921:609272] Peripheral Successfully Authenticated 2016-11-16 13:08:15.800 TimeClock[2921:609272] Firmware: FWV 1.16.00 2016-11-16 13:08:15.860 TimeClock[2921:609272] Hardware: HWV 1.03 2016-11-16 13:08:15.920 TimeClock[2921:609272] Serial Number: RR330-001002 2016-11-16 13:08:15.926 TimeClock[2921:609356] Have Response, registered 2016-11-16 13:08:15.926 TimeClock[2921:609356] Verfied Basic license 2016-11-16 13:08:16.207 TimeClock[2921:609511] Escape APDU:E0 00 00 48 04 2016-11-16 13:08:41.073 TimeClock[2921:609272] Disconnected peripheral ACR1255U-J1-001002 2016-11-16 13:08:41.151 TimeClock[2921:609272] ::discovered peripheral (null) 6B8A62BE-BC09-412B-9EE3-2B94FB97536E 2016-11-16 13:08:41.356 TimeClock[2921:609272] ::discovered peripheral Charge HR DB073299-19AE-4658-8EBC-C67710325026 2016-11-16 13:08:41.768 TimeClock[2921:609272] ::discovered peripheral (null) 210EF019-1A2F-4081-9C38-B39D73311C03 2016-11-16 13:08:44.509 TimeClock[2921:609272] ::discovered peripheral ACR1255U-J1-001002 A98758FD-5B7F-4009-9A88-9680258DA7BF 2016-11-16 13:08:44.806 TimeClock[2921:609272] Peripheral Connected 2016-11-16 13:08:45.151 TimeClock[2921:609272] Services Discovered 2016-11-16 13:08:45.155 TimeClock[2921:609272] Reader Detected 2016-11-16 13:08:45.961 TimeClock[2921:609272] Peripheral Successfully Attached 2016-11-16 13:08:46.050 TimeClock[2921:609272] didChangeBatteryLevel 70 2016-11-16 13:08:46.171 TimeClock[2921:609272] EscapeResponse <e1000045 0068174d ece90d42 518fd076 45cf1e75 67> 2016-11-16 13:08:46.231 TimeClock[2921:609272] EscapeResponse <e1000046 00d49f7d b403d7f3 c5338cda 2a45b80c dc> 2016-11-16 13:08:46.232 TimeClock[2921:609272] Peripheral Successfully Authenticated 2016-11-16 13:08:46.320 TimeClock[2921:609272] Firmware: FWV 1.16.00 2016-11-16 13:08:46.410 TimeClock[2921:609272] Hardware: HWV 1.03 2016-11-16 13:08:46.470 TimeClock[2921:609272] Serial Number: RR330-001002 2016-11-16 13:08:46.475 TimeClock[2921:609530] Have Response, registered 2016-11-16 13:08:46.475 TimeClock[2921:609530] Verfied Basic license 2016-11-16 13:08:46.748 TimeClock[2921:609558] Escape APDU:E0 00 00 48 04
Is there a chance that you or Scott can disable the timeout option in the SDK that I’m currently using as it is already working perfectly in every other case?
Cheers.
November 16, 2016 at 12:28 am #57313Your issue is that you’re reader firmware has not been upgraded to FMV 1.16.03… from your log:
2016-11-16 13:08:15.800 TimeClock[2921:609272] Firmware: FWV 1.16.00
Use this tool in order to upgrade your reader. You’ll need a Windiws 7 or XP machine to go through it.
best,
RichardNovember 16, 2016 at 1:38 am #57316Hi Richard,
I tried upgrading the firmware with the tool you suggested on Windows 10. At point 17 where it says to click Download, The tool throws an Error. It doesn’t give any reasons as to why it threw one. Just shows a dialog box with the word Error in it. I was wondering if there is a way to disable the sleep timeout in the SDK that I’m currently using as it will save a lot of trouble.
Cheers.
November 16, 2016 at 1:41 am #57317As I mentioned, the tool only works with Windows 7 and XP. Yeah it sucks, but what we have to work with.
best,
RichardNovember 16, 2016 at 3:10 am #57322Hi Richard,
I gave it a go on Windows 7 but to no avail. It showed the same dialog box with the word Error written in it with no information whatsoever.
I found it odd that in the upgrade guide, it says to set the button to off (i.e. between USB and Bluetooth) but when I use that option, the reader is not picked up by the computer. It’s only when I switch it to USB that the computer picks it up. Is it the guide that’s wrong or am I doing something wrong?
November 16, 2016 at 3:52 am #57325November 16, 2016 at 4:33 am #57327Did you press the recessed DFU button on the back of the reader as you’re plugging it into the Windows 7 machine?? This will allow the proper driver to be enumerated.
Then you need to make sure to enable the CCID driver with theCCIDEnableEscapeCommand.exe
app before launching the Update Tool. Missing any of those steps could cause the issue you’re seeing.If you’ve done all that and it’s still failing then the reader might be defective. It would be worth testing the procedure with the other readers you have even though they may already be running latest 1.16.03 firmware. The procedure is harmless but will allow us to rule out any issues that may be happening with your PC or setup.
best,
RichardNovember 16, 2016 at 8:07 pm #57345Hi Richard,
Thanks for pointing that out. I was able to update the firmware and it started working with SDK 2.2. The sleep timeout is indeed disabled in this one. But now it has a new problem. With the firmware 1.16.03, when I stop the reader with StopReader function and start it again with StartReader function, it takes longer to allow tag reading. I can see in the console that it is sending a bunch of commands as mentioned below
2016-11-17 09:05:37.258 TimeClock[3077:657478] Escape APDU:E0 00 00 20 01 01 2016-11-17 09:05:37.312 TimeClock[3077:656523] EscapeResponse <e1000000 0101>2016-11-17 09:05:37.574 TimeClock[3077:657478] Escape APDU:E0 00 00 48 04 2016-11-17 09:05:37.687 TimeClock[3077:656523] EscapeResponse <e1000000 0104> 2016-11-17 09:05:37.959 TimeClock[3077:657394] Escape APDU:E0 00 00 40 01 2016-11-17 09:05:38.062 TimeClock[3077:656523] EscapeResponse <e1000040 01> 2016-11-17 09:05:38.175 TimeClock[3077:656523] Change Status:Absent 2016-11-17 09:05:38.338 TimeClock[3077:657309] Escape APDU:E0 00 00 48 04 2016-11-17 09:05:38.400 TimeClock[3077:656523] EscapeResponse <e1000000 0104> 2016-11-17 09:05:38.674 TimeClock[3077:657302] Escape APDU:E0 00 00 49 00 2016-11-17 09:05:38.775 TimeClock[3077:656523] EscapeResponse <e1000000 0100>
And sometimes, after StartReader function is called, it doesn’t start the reader. It just sits there. I don’t hear a beep and it doesn’t scan any tags. It still works if I use a device with firmware 1.16.00 and SDK 2.1.
Any ideas???November 16, 2016 at 8:10 pm #57346Here is a detailed explanation of the behaviour. When connected for the first time, it takes longer to start reader with start reader function as mentioned above. Then I disconnect the reader altogether and reconnect it again. I scan a tag, stop reader and start it again. This time it only shows the following console output
2016-11-17 09:07:49.824 TimeClock[3077:657676] Escape APDU:E0 00 00 40 00 2016-11-17 09:07:49.853 TimeClock[3077:656523] Change Status:Absent
and doesn’t read any tags.
November 16, 2016 at 9:19 pm #57348Hey Malik, I’m convinced that the instability issue is directly related to the Escape APDU behavior that is evident between tag scans in you console log. As a sanity check you can perform the same workflow you described and see if the system works as expected. Either that or create a sample project that you can share with us that exhibits the same issue so that we can diagnose on our end. Basically, the same approach that I discussed on this thread.
thanks,
RichardNovember 16, 2016 at 10:04 pm #57349Hi Richard,
If I use SDK 2.1, it works normally regardless of the firmware of the device (I have tested with both 1.16.00 and 1.16.03). However, if I use SDK 2.2, it doesn’t scan tags on a device with firmware 1.16.00 and displays this odd behaviour on a device with firmware 1.16.03. I’m pretty certain that it’s the SDK that is sending the Escape commands to the reader as I am not sending any commands in my code.
November 16, 2016 at 10:57 pm #57351Ok great, prepare a simple project showing that behavior and we will troubleshoot for you. Our sample apps don’t behave that way, either we 1.16.00 orr 1.16.03 or across different SDKs.
Standing by for something we can replicate on our side so we can give you the support you need.
Best,
RichardNovember 16, 2016 at 11:26 pm #57353Hi Richard,
Here is the link for a sample project mimicking the functionality that I am using in my project.
There are two ways to recreate the same issue:
1- Scan a tag and press back on the next view. Repeat this step a few times.
2- Alternatively, you can connect the reader, turn the reader off, turn it on, connect it again and perform step 1.Hope that helps
November 17, 2016 at 7:16 am #57359Hi Malik,
I am testing this now. You should not send the method ‘createReaders()’ more than once. I think this may be the root of your issue. When the device is turned off you should see “Disconnected peripheral ACR1255U-J1-000120” in the log, then when it is turned on, it will reinitialize. Calling createReaders() more than once within the same ViewController causes issues.To explain the slight lag seen with startReaders() in AutoPollingControl mode:
When stopReader() is sent, the SDK will send an escape command to turn off NFC to save power, it remains connected to bluetooth.
When startReader() is sent, the SDK will send escape commands to turn on NFC.Can you confirm with me whether you still see issues when createReaders() is only called once within your ViewController?
Kind Regards,
ScottNovember 17, 2016 at 7:23 am #57360Hi Scott,
The createReaders is only called again if the connection did not establish before the timer runs out(i.e the reader is off) and after a certain number of tries, it sends the timeout notification. If the reader is connected in the first try, it doesn’t get fired again. I’m currently out of office. I’ll give your suggestion a go tomorrow and let you know how it goesNovember 17, 2016 at 7:30 am #57361I understand you were using that to try connect to your reader previously but I would recommend against it. If you do need to retry, i would recommend re-initializing FmSessionManager (your readerManager) rather than calling createReaders() on the same FmSessionManager instance.
Please let me know how you get on. Thank you again for your continued patience on these issues!
Kind Regards,
ScottNovember 17, 2016 at 11:27 pm #57365Hi Scott,
I conducted an experiment where I pressed the connect button while the reader was off. The console showed the following output
2016-11-18 12:21:58.397 Test[3593:770435] Init FloBLE Plus 2016-11-18 12:21:58.414 Test[3593:770435] ::centralManagerDidUpdateState supports 5 2016-11-18 12:21:58.676 Test[3593:770435] ::discovered peripheral (null) C7A57B35-FCCA-4FFE-9986-D75C64B82770 2016-11-18 12:21:58.752 Test[3593:770435] ::discovered peripheral (null) 6B8A62BE-BC09-412B-9EE3-2B94FB97536E 2016-11-18 12:21:58.852 Test[3593:770435] ::discovered peripheral (null) D59A253D-7BF3-45E0-968C-DFF389CEFDE9
There was no mention of
Disconnected peripheral ACR1255U-J1-000120
as you mentioned in your post. This is the reason I had to call createReaders again and throw a timeout notification if it doesn’t connect after a few tries.As for your suggestion of re-initializing FMSessionManager instance, can you please have a look at the code I shared and guide me as to how should I go about it? I’m a bit confused about it’s implementation since it is a Singleton class.
Cheers
November 18, 2016 at 12:15 pm #57372Hi Malik,
Here is an updated build of the Flomio SDK v2.2 (beta). It is more stable but it does not change anything regarding connecting to FloBLE Plus readers.
Because it’s a singleton you’ve implemented and because your implementation doesn’t allow for NFCReader to be nil, I don’t recommend using a button to trigger it connecting. I recommend removing the @IBAction ‘btnPressedConnect’ which is used to call ‘tryConnection()’. I recommend completely removing your tryConnection() method along with your custom method ‘createReader()’ from your class NFCReader.I was wrong to suggest reinitializing FmSessionManager as you’ve implemented it as a singleton. I suggest not connecting it to a button ‘connect’ and just initialize NFC reader with FmSessionManager’s method createReaders() called in the init. This starts searching for Floble Plus devices and will handle connection and disconnection.
Here is the NFCReader class with these changes.
import Foundation class NFCReader: NSObject, FmSessionManagerDelegate { let readerManager = FmSessionManager() 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 let configurationDictionary = ["Scan Sound" : 1, "Scan Period" : 1000, "Reader State" : ReaderStateType.ReadUuid.rawValue, //readData for NDEF "Power Operation" : PowerOperation.AutoPollingControl.rawValue, //bluetoothConnectionControl low power usage "Allow Multiconnect" : false] readerManager.setConfiguration(configurationDictionary as [NSObject : AnyObject]) readerManager.createReaders() /*NFC Reader*/ } /*NFC Reader Functions*/ func didFindTagWithUuid(Uuid: String!, fromDevice deviceId: String!, withAtr Atr: 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 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*/ }
Kind Regards,
Scott- This reply was modified 8 years ago by Scott.
November 20, 2016 at 8:12 pm #57383Hi Scott,
Thanks for your patience in resolving this issue. The solution you mentioned already crossed my mind but the problem is that NFC functionality is optional in the application that I’m developing. Your proposed solution assumes that NFC is a requirement of sorts in the application. This would result in the app continuously search for a reader even when I don’t want it to search. That is the reason I had to use a connect button and a timeout functionality.
I believe the simplest way to resolve would be to just disable the sleep timeout in the SDK that I’m using as that SDK already works and the sleep timeout is the only bit that I want to get rid of. If you can disable the sleep timeout in this SDK, I would really appreciate it.
Cheers
November 20, 2016 at 8:55 pm #57386I’ve also tested your solution but the main problem still persists in the SDK v2.2 (the one that you shared). Mentioned below is the chain of events to trigger the issue.
When a tag is scanned, two things happen.
1- The app navigates to another view and stops the reader. It starts the reader again when the app navigates back to the main view.
2- didChangeCardStatus function is calledIf the card status is Present when the app navigates to the next view (stop reader is called), going back to the main view (startReader is called) allows the reader to continue scanning the tags and the app works perfectly. If, however, the card status is Absent (removing the card quickly after a scan) when the app navigates to the next view, going back to the main view stops the reader from scanning a tag.
In simple terms, if the card status is Present at the time when the StopReader is called, it works fine. If the card status is Absent, the device stops reading tags. Can you please look into that as it confirms my theory that this has nothing to do with the createReaders being called again as in this experiment, it was only called once when the app initialized.
November 21, 2016 at 6:22 am #57390Hi Malik,
Ok, I understand. We have not changed much to do with how the reader connects between v2.1 (the version you linked) and v2.2 so with your older version, if you implement it in a singleton, calling multiple ‘createReaders’ will still cause problems. We have added ‘allowMulticonnect’, I would suggest testing that being ‘true’ as that will make the bluetooth configuring area of the SDK be very similar to v2.1.
If you want periods without NFC, you should not have the SessionManager instantiated and only instantiate it when you do want NFC. Swift isn’t allowing this and I cannot allocate the time to try a few solutions.
I will try replicate the other ‘Absent’ issue, as you can understand, this is a surprising edge case which I will spend some time to understand and get rid of (this will be in v2.2 so you should continue trying to get v2.2 working for you).Kind Regards,
ScottNovember 21, 2016 at 6:29 am #57391Hi Scott,
Yes I understand. The issue that I mentioned where the reader won’t read the Tags occured with v2.2 and createReaders being called only once. The edge case where it happens is as follows:
If the card is removed from the reader(ie didChangeCardStatus has a status of Absent) before the stopReader is called, the subsequent startReader call renders the reader unable to scan tags.November 21, 2016 at 6:42 am #57393I will focus my efforts on solving the “absent tag: call stopReader” problem and will get back to you with an updated version of v2.2 when I have solved it.
It would be worth trying to build your app to never call ‘createReaders()’ on the same instantiation of FmSessionManager more than once, otherwise this will definitely cause issues.
Kind Regards,
ScottNovember 21, 2016 at 10:09 am #57401Hi Malik,
I have found a temporary workaround for the ‘absent tag: call stopReader’ problem. You will need to implement a slight delay before calling stopReader (I’d also wrap your StartReaders() call in a delay for good measure.)
In your viewWillDisappear method, wrap your stopReader() call using GCDlet delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1 * Double(NSEC_PER_SEC))) dispatch_after(delayTime, dispatch_get_main_queue()) { self.reader.readerManager?.stopReaders() }
This will allow all UUID related calls to be settled, and then allow for device configuration to happen. I have no been able to replicate the problem while using a delay, I was able to replicate it without a delay.
Hopefully this helps.
Kind Regards,
ScottDecember 12, 2016 at 11:24 pm #57694Hi Scott,
I’ve changed my code to only call createReaders() once. In addition, I’m steering clear of the startReader() and stopReader() functions for now to avoid any problems. I am currently using SDK 2.1 for the release version but for the testing version, I have updated the device to the latest firmware as suggested by you guys in order to use SDK 2.2 beta.
The last time we spoke, the 2.2 beta SDK solved the sleep timeout issue but it was sending some additional APDU commands to the device which took additional time for the UUID related calls to be settled. I was wondering if there have been any updates on the beta version and if you guys have a stable 2.2 version.
Cheers
December 13, 2016 at 8:05 pm #57724Hi Malik, the updated SDK v2.2 is available here. It’s still in beta and continues to be a work in progress but we feel it’s more stable than previous incremental drops. Try it out and let us know if it addresses your issue.
best,
RichardDecember 13, 2016 at 8:21 pm #57726Hi Richard,
Thanks for the update. The link, however, is not accessible. I’m using chrome and it’s not allowing me to access the page since it cannot verify the website. Could you please resend another link?
December 13, 2016 at 8:22 pm #57727Nevermind. I got it to work through safari. I’ll keep you posted if I find any issues.
Cheers.
December 14, 2016 at 10:13 pm #57739Hi guys,
The preliminary testing went well with the 2.2 SDK. Just wanted to say thanks for all the help and patience. I’ll keep in touch if I find anymore issues. In the interim, if you guys are stuck at and/or want to discuss any issues, feel free to contact me. I’ll be more than happy to chip in on the solution.
Cheers
December 15, 2016 at 3:45 am #57764Malik, thanks for the feedback. It would be great if you could provide a review on the FloBLE product page. Feel free to include a link to this Forum thread. It will help customers understand the value we provide besides just selling hardware.
best,
Richard -
AuthorPosts
You must be logged in to reply to this topic.