flomio / flomio_drivers_ios

iOS device drivers for Flomio readers.
http://flomio.com/shop/readers
67 stars 16 forks source link

OAD Support #11

Open jchuck627 opened 9 years ago

jchuck627 commented 9 years ago

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

jchuck627 commented 9 years ago

Working with the OS X platform first, much of the basic UI and OAD code is in place and functional. Able to communicate using the OAD characteristics, retrieve info, open .bin files and exchange data, etc. Have not yet verified a correct download yet, because currently working on improving the transfer speed which is very slow right now, so haven't waited until a transfer has completed. Currently working from some TI documentation on OAD and a small piece of simple sample code TI publishes. It is apparent that the documentation is out of date or incomplete as reverse engineering the example code, it is apparent it does not follow the documentation for the protocol. To do yet is to improve transfer speed, verify transfer, finish the UI mostly in the area of error handling and fault tolerance. Need to add the capability to connect to the Oad service characteristics for working with images that are not floble based. Then need to port to IOS and add cloud capability of retrieving bin files.

jchuck627 commented 9 years ago

Currently most of the OS X version UI is complete, needs some polish and a few things. Successfully reflashed an imageA from imageB, and imageB from imageA, disconnect and restart. Uploads still a bit slow, but not bad. Issue is optimizing the connection, since the app is integrated. The uploads need a fast connection time, short connection interval, but this conflicts with the low power modes in normal operation. TI BLE stack only allows a parameter change request after the initial connection, so hard to do on the fly. There does not seem to be an API on the central side for IOS or OS X that allows you to change parameters. May be tough to optimize this. untitled

jchuck627 commented 9 years ago

Pushed OS X version 0.8 to git master. Has been tested with imageB->imageA->imageB loads. UI has been completed with error handling, etc., but UI has not been stress tested, but is functional. Upload speeds are acceptable, but maybe could use some more tweaking, but this has to done in conjunction with power considerations. Needs stress testing.

jchuck627 commented 9 years ago

Currently porting this build to IOS.