Git Product home page Git Product logo

flomio_drivers_ios's Introduction

Flomio Driver Libraries

This is a collection of iOS device drivers for Flomio readers.

  • FloJack BZR == aR530
  • FloJack MSR == ACR35
  • FloBLE EMV == bR500
  • FloBLE Plus == ACR1255U-J1
  • FloBLE Mini == FloBLE Mini

flomio_drivers_ios's People

Contributors

bpolania avatar flomio avatar grundyoso avatar j0hnbull avatar jchuck627 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flomio_drivers_ios's Issues

OAD Support

Add support for OAD (Over the Air Downloads), which is now supported in the FloBLE stack.

Parsing NDEF Record with long URI fails

Repro

  1. Using NXP Tag Writer create a URI tag with payload http://flomio.com/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio/flomio
  2. Read tag with FloJack Example App

Expected:
NDEF message parsed and URI displayed in text view

Actual:
Uncaught NSRangeException crashes app

Logs

013-04-23 17:47:38.513 FloJackExample[8387:110f] [info] FLOMIO_ACK_BAD
2013-04-23 17:47:38.517 FloJackExample[8387:110f] info resendLastMessageSent
2013-04-23 17:47:38.525 FloJackExample[8387:110f] [info] sendMessageToHost begin
2013-04-23 17:47:38.529 FloJackExample[8387:110f] [info] sendMessageToHost item: 0xe
2013-04-23 17:47:38.530 FloJackExample[8387:110f] [info] sendMessageToHost item: 0x4
2013-04-23 17:47:38.555 FloJackExample[8387:110f] [info] sendMessageToHost item: 0x1
2013-04-23 17:47:38.567 FloJackExample[8387:110f] [info] sendMessageToHost item: 0xb
2013-04-23 17:47:38.579 FloJackExample[8387:110f] [info] sendMessageToHost end
2013-04-23 17:47:46.694 FloJackExample[8387:3d07] [info] FJNFCService: Complete message, send to delegate.
2013-04-23 17:47:46.697 FloJackExample[8387:15e7] info Tag UID Received 0x05a422370779c1735752c9bf07f8ffe1101d0f03b9d20caa746578742f782d7643617264424547494e3a56434152440d0a56455253494f4e3a332e300d0a464e3a436f646542726f6b657220436f646542726f6b65720d0a5449544c453a536f66747761726520456e67696e6565720d0a4f52473a436f646542726f6b65722c204c4c430d0a54454c3b545950453d776f726b3a3730332d3835382d303030300d0a4532
2013-04-23 17:47:46.701 FloJackExample[8387:15e7] * Terminating app due to uncaught exception 'NSRangeException', reason: '* -[NSSubrangeData subdataWithRange:]: range {6, 191} exceeds data length 153'

Erroneous volume not max error

Repro

  1. Boot FloJack Example app without the flojack plugged in.
  2. Set volume to -2 via hardware buttons
  3. Plug in FloJack
  4. Set volume to max via hardware buttons
  5. Read a tag.

Expected:

  • Tag is read, sound is played, no volume error is logged.

Actual:

  • Tag is read, sound is played, and volume not max error is logged.

Notes

Fix likely involves a simple check of FJNFCService._floJackConnected in FJNFCService.checkIfVolumeLevelMaxAndNotifyDelegate.

Logs:

2013-04-17 21:44:24.265 FloJackExample[9534:4d0f] [info] FJNFCService: Complete message, send to delegate.
2013-04-17 21:44:24.271 FloJackExample[9534:4407] [info ] (FLOMIO_TAG_READ_OP) Tag UID Received 0x051a2204034c02c42981d1010b5501666c6f6d696f2e636f6dd6
2013-04-17 21:44:24.654 FloJackExample[9534:907] [***ERROR***] Volume not max. Level = 0.812500
2013-04-17 21:44:24.689 FloJackExample[9534:907] Current Route: SpeakerAndMicrophone
2013-04-17 21:44:24.685 FloJackExample[9534:4407] FloJack Tag Scanned: 0x04034c02c42981
2013-04-17 21:44:24.694 FloJackExample[9534:4407] TNF: 1 Type: 0x55 Payload: �flomio.com
2013-04-17 21:44:25.985 FloJackExample[9534:907] Current Route: HeadsetInOut
2013-04-17 21:44:26.467 FloJackExample[9534:141b] [info] FJNFCService: Complete message, send to delegate.
2013-04-17 21:44:26.473 FloJackExample[9534:4407] FloJack Status: 1
2013-04-17 21:44:26.477 FloJackExample[9534:4407] [info] FLOMIO_PING_OP 
2013-04-17 21:44:26.480 FloJackExample[9534:4407] [info] (TX) FLOMIO_PONG_OP 

FloBLE iOS app doesn't write NDEF URLs properly

With firmware v0x0B and iOS app v0.07, I haven't been able to successfully write URLs to Mifare Ultralight tags. This process works on the FloBLE OSX app with some tags that must have been formatted differently at some point. I went through all the formatting and writing procedures from Android app like NXP TagWriter and Tagstand Writer and the tags work fine. However, with the FloBLE OSX app only some tags are writable. None are writable with the FloBLE iOS app though. I shot a video to capture the test scenario and variables:

https://www.youtube.com/watch?v=RLzie85t2BU

Also worth mentioning is I witnessed several "Bad CRC" errors when NDEF write instructions were unsuccessful. Like this:

Bad CRC, ignoring current message.

A full dump of the console log from testing here.

ACR35 SDK doesn't support Audio Speaker Playback

Sent this to the ACS guys:

Hi, I've encountered an issue with the ACR3x AudioJack library. We found with the FloJack that customers required an audible feedback after scanning a tag/card for best user experience. Since the library is closed source, there's no opportunity to claim the Audio service to disable the audiojack and route audio to the speakers after a successful read.

You can review how we did this in our FloJack library here:

https://github.com/flomio/flomio_ios/blob/master/FloJack/FloJack/FJNFCService.mm#L624
/**
Disables FloJack audio line communication and switches route to device speaker.

 @return BOOL indicates if execution was successful
 */
- (BOOL)enableDeviceSpeakerPlayback

and here:

https://github.com/flomio/flomio_ios/blob/master/FloJack/FloJack/FJNFCService.mm#L595
/**
Switches route to HeadSetInOut and enabled FloJack audio line communication.

 @return BOOL indicates if execution was successful
 */
- (BOOL)disableDeviceSpeakerPlayback

Perhaps you can send this info to your developers to add for the next release.... Seems someone named Godfrey Chung wrote the library.

Parsing URI from TNF_SMART_POSTER fails

Repro:

  1. Write http://cnn.com to tag using NXP Tag Writer (example http://cl.ly/code/021C33100O2C)
  2. Attempt to read with FloJack (either NFC Actions or FloJack Example App)

Expected:
NDEF encoded URI recognized.

Actual:
NDEF encoded URI not recognized.

Notes:

Smart posters store the URI + description text inside of a nested NDEF Message. When FJNDEFRecord.getUriFromPayload is called we need to parse the embedded message and look for a record TNF of TNF_ABSOLUTE_URI.

Android implementation: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.1.1_r1/android/nfc/NdefRecord.java#676

Logs:

2013-04-17 16:05:34.673 info Tag UID Received 0x052722049c75d2da2880d1021753709101095501636e6e2e636f6d2f5101065402656e434e4e2c
2013-04-17 16:05:35.163 FloJack Tag Scanned: 0x049c75d2da2880
2013-04-17 16:10:10.661 TNF: 1 Type: 0x5370 Payload: U�cnn.com/Q��T�enCNN

Installation instructions incomplete

Missing Step 7. #import <AudioJack/AudioJack.h> into your app controller's header file.

After that, you can use ACRAudioJackReader* _reader but getting:

Undefined symbols for architecture x86_64:
  "std::terminate()", referenced from:
      ___clang_call_terminate in libAudioJack.a(ACRAudioJackReader.o)
      ___clang_call_terminate in libAudioJack.a(aurio_helper.o)
...

Some memory leaks !

Hi,
flojack is a very sexy project, but when I have testing with the Analyze Instrument Apple Xcode tool I have noting there are memory leaks …

did you project to cleaning your source ?

best regards

"FJNFCAdapter.h" ?

I cannot find this file in the SDK... The integration instructions need a bit more detail.
I also do not see a FloJack group : "... all the files under the FloJack group ..."

Authentication

How doe the FlowJack handle authentication, for let's say Mifare chips?

NFC xcode project throwing errors.

At first, it was throwing an error saying FlomioMessageTests.h wasn't found, so I renamed the MessageTests.h file to FlomioMessageTests.h and MessageTests.m to FlomioMessageTests.m.

Now, I'm getting these errors in NFCTagTests.m:
"Use of undeclared identifier 'FJNFCTag'"
"Use of undeclared identifier 'tag'"
Unknown receiver 'tag'; did you mean 'Tag'?
No known class method for selector 'type2ParseMemoryForNdefTLVLocation'

Building for Mac Catalyst libACSBluetooth.a

Hi Guys! I have an Ipad app which use ACR1255U device and libACSBluetooth.a library. I am trying to create Mac Catalyst app (Mac app from IPad app)
Screenshot 2021-03-12 at 02 41 26

and I have this error.
Screenshot 2021-03-12 at 02 40 52

It seems that you need to rebuild libACSBluetooth.a library for Mac Catalyst. Could you help me please

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.