iOS Version of LeafSpy Pro development discussion

My Nissan Leaf Forum

Help Support My Nissan Leaf Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Turbo3

Well-known member
Leaf Supporting Member
Joined
Jul 19, 2010
Messages
2,014
Location
San Jose, CA
This thread will be used to give progress updates for the iOS version of Leaf Spy and for potential iOS users of this new version of Leaf Spy to comment on it.

The minimum iOS to run LeafSpy will be iOS 7. Therefore the following devices are NOT capable of running LeafSpy.

iPhone: 1st Gen, 3G, 3GS (iPhone 4 and newer are ok)
iTouch: 1st thru 4th (Only 5th Gen is ok)
iPad: 1st Gen (iPad 2 and newer are ok including iPad Air & iPad Air 2)
iPad Mini: (all models are ok)

The initial version will be Leaf Spy Pro using WiFi to connect to a WiFi OBDII adapter. I have tested three different WiFi OBDII adapters. The overhead for each is a little different with the fastest one being more that twice the speed (time it takes to loop through one set of commands). The fastest one is of the large size (3.5" long), takes a password (12345678) and report it is a v2.1. The second fastest is of the mini size with a power on/off button. The slowest is of the same large size but without needing a password.

Since I am using basically the same language for both the Android and iOS versions the screens and function will be very similar as can be seen in the below screenshots.

The actually code that handles the sending and processing of commands and data is virtually the same and is already converted over to iOS. So the Trip Log and csv log file are fully operational at this time. The iOS csv logs can be uploaded to the LeafLogger website just like the Android versions.

File structure is different as there is only one folder available to the iOS app that can be seen by iTunes. So my debug files as well as the trip log and csv logs will all be in one folder.

Converting over the screens is what takes the most time as each element of the screen (some can have 50 or more) is hand copied and adjusted for orientation and device (iPad, iPhone, iTouch). The Settings menu will take the longest as some elements are not available in iOS so must be done a different way.

Here is a list of what is currently mapped over and working:

1. Screen 1 Battery Cell bar graph and everything else on this screen
2. Screen 4 Summary with the exception of the thermometer mercury moving up and down based on pack temp is fully operational.
3. Trip Log viewer
3. Top Service screen with Read/Clear DTC buttons working
4. Read DTCs screen fully functional
5. Clear DTC screen fully functional
 
Here are screens that have currently been mapped over to iOS and are working. These are taken from an iPhone 4.

GuSEWN.png
tVFyLX.png


XSPWzZ.png
sTRCDq.png


Uh1prF.png


gtber3.png
dVmFX3.png
O7Dvf8.png


HjZAJd.png
G6Afd2.png
 
Current Status 1/14/2015 2:31PM

The Door Lock/Unlock screen is now functional.

Note: That on the iOS version of LeafSpy you will need to do a long tap to open and close the selector buttons which are flagged with the upside down triangle character at the end.

From iPhone 4
5mzgJA.png
iQO2LO.png
qXFixf.png


From iPad
nqM7n4.png
FAWCO4.png
 
Nice work, thanks. Patiently waiting to switch from LeafStat, which is fine, just very basic.

Will there be some kind of user manual online to explain the screens, functions, and nomenclature, for those of us with no prior experience?
 
How old of a device can be supported? In my perfect world I'd allocate my first gen ipod touch to the car for this application. It's probably an unrealistic goal, but on the off chance it is possible, I thought I'd ask.
 
Nice work as always. What do you have left to do for a general release, it looks like most of it is there now right?
 
Dear Turbo3:

I'm new here so I missed most of the discussion on this. I have your Leaf Spy Pro running on an old GarminPhone. I got the Android device to run the Torque App for my Prius. I used your program when I went to evaluate a still new (never sold) 2013 LEAF that i bought just a couple weeks ago (discussed here: http://www.mynissanleaf.com/viewtopic.php?f=27&t=2099&start=1843). Your app was well worth the low cost investment just to have piece of mind regarding the health of the battery in the car.

I have 2 questions I hope you will address. One on topic, the other not so much...1) I assume the move from Bluetooth to wifi on the iOS device is because Apple does not support some Bluetooth protocol that you use in the program. What protocol is that? 2) My most used feature in Torque on the Prius was that it could (using custom PIDs developed by usbseawolf2000 on PriusChat.com) provide information about both regenerative braking and friction braking in real time. I would love it if such a feature could be added to Leaf Spy Pro. Any thoughts on that?

Thanks
 
Turbo3 said:
The initial version will be Leaf Spy Pro using WiFi to connect to a WiFi OBDII adapter. I have tested three different WiFi OBDII adapters. The overhead for each is a little different with the fastest one being more that twice the speed (time it takes to loop through one set of commands). The fastest one is of the large size (3.5" long), takes a password (12345678) and report it is a v2.1. The second fastest is of the mini size with a power on/off button. The slowest is of the same large size but without needing a password.
Any chance you could post Amazon links for these?
 
jhm614 said:
Turbo3 said:
The initial version will be Leaf Spy Pro using WiFi to connect to a WiFi OBDII adapter. I have tested three different WiFi OBDII adapters. The overhead for each is a little different with the fastest one being more that twice the speed (time it takes to loop through one set of commands). The fastest one is of the large size (3.5" long), takes a password (12345678) and report it is a v2.1. The second fastest is of the mini size with a power on/off button. The slowest is of the same large size but without needing a password.
Any chance you could post Amazon links for these?
See third post for a link.
 
essaunders said:
How old of a device can be supported? In my perfect world I'd allocate my first gen ipod touch to the car for this application. It's probably an unrealistic goal, but on the off chance it is possible, I thought I'd ask.
I have ordered a 3rd gen iTouch which has the same screen resolution as Gen 1 & 2. I will test and update the screen layout if necessary when it comes in.
 
DNAinaGoodWay said:
Nice work, thanks. Patiently waiting to switch from LeafStat, which is fine, just very basic.

Will there be some kind of user manual online to explain the screens, functions, and nomenclature, for those of us with no prior experience?
I will probably create a PDF file you can download once I get done with the initial porting.
 
KJD said:
Nice work as always. What do you have left to do for a general release, it looks like most of it is there now right?
Things still to do:

1. Tire Registration
2. Door Lock settings
3. Screen 2 (the 4 graph screens)
4. Screen 3 (Text only data screen)
5. Settings screen
 
jpadc said:
Dear Turbo3:

I'm new here so I missed most of the discussion on this. I have your Leaf Spy Pro running on an old GarminPhone. I got the Android device to run the Torque App for my Prius. I used your program when I went to evaluate a still new (never sold) 2013 LEAF that i bought just a couple weeks ago (discussed here: http://www.mynissanleaf.com/viewtopic.php?f=27&t=2099&start=1843). Your app was well worth the low cost investment just to have piece of mind regarding the health of the battery in the car.

I have 2 questions I hope you will address. One on topic, the other not so much...1) I assume the move from Bluetooth to wifi on the iOS device is because Apple does not support some Bluetooth protocol that you use in the program. What protocol is that? 2) My most used feature in Torque on the Prius was that it could (using custom PIDs developed by usbseawolf2000 on PriusChat.com) provide information about both regenerative braking and friction braking in real time. I would love it if such a feature could be added to Leaf Spy Pro. Any thoughts on that?

Thanks
I still need to check if the LYL v2.1 is a real v2.1 if it is that would better support realtime regen/braking screen.

But work on this would not start until after the initial porting has been completed.
 
The more important limit to supporting older devices will be what version of iOS they can run. Gen 1&2 ipod touches only go up to ios4, 3's go up to ios 5, etc...

This wikipedia page has a good summary of all iphones, ipod touches, ipads vs iOS version.
http://en.wikipedia.org/wiki/List_of_iOS_devices

What minimum iOS version are you planning to support?


Turbo3 said:
essaunders said:
How old of a device can be supported? In my perfect world I'd allocate my first gen ipod touch to the car for this application. It's probably an unrealistic goal, but on the off chance it is possible, I thought I'd ask.
I have ordered a 3rd gen iTouch which has the same screen resolution as Gen 1 & 2. I will test and update the screen layout if necessary when it comes in.
 
adspguy said:
The more important limit to supporting older devices will be what version of iOS they can run. Gen 1&2 ipod touches only go up to ios4, 3's go up to ios 5, etc...

This wikipedia page has a good summary of all iphones, ipod touches, ipads vs iOS version.
http://en.wikipedia.org/wiki/List_of_iOS_devices

What minimum iOS version are you planning to support?


Turbo3 said:
essaunders said:
How old of a device can be supported? In my perfect world I'd allocate my first gen ipod touch to the car for this application. It's probably an unrealistic goal, but on the off chance it is possible, I thought I'd ask.
I have ordered a 3rd gen iTouch which has the same screen resolution as Gen 1 & 2. I will test and update the screen layout if necessary when it comes in.
Thanks for the link. The development system I am using only support iOS 7 and newer devices.

I have updated the first post with the iOS devices that are and are not supported for LeafSpy.
 
Turbo3 said:
WiFi Adapters

The WiFi OBDII adapter that works best for me now is sold by Amazon….

Can you explain what "works best" means? Is there a specific protocol (ELM327, or other) that is required? I already have a WiFi OBDII dongle that works with Leaf Stat and I'm just wondering what I might check to see if it's compatible or what specs other people should look for when purchasing a unit.

I'll be trying it out with Leaf Spy in any case, once it's available. Thanks for taking the time to port it to iOS!
 
Nubo said:
Turbo3 said:
WiFi Adapters

The WiFi OBDII adapter that works best for me now is sold by Amazon….

Can you explain what "works best" means? Is there a specific protocol (ELM327, or other) that is required? I already have a WiFi OBDII dongle that works with Leaf Stat and I'm just wondering what I might check to see if it's compatible or what specs other people should look for when purchasing a unit.

I'll be trying it out with Leaf Spy in any case, once it's available. Thanks for taking the time to port it to iOS!
For the iOS version of Leaf Spy(at least for testing) I have added a console which displays internal information from the program including the time for each cycle of reading data from the Leaf. With this I am able to see how the time changes as I test different OBDII Wifi adapters. The time of each loop is composed of three parts. 1) Android device cycle time, 2) OBDII adapter overhead, 3) Leaf response time.

When I tested the three different brands of OBDII Wifi adapters I have on hand I was able to see a significant difference in the loops times of around 2x.

So any Wifi OBDII adapter should work and some are faster than others. That is what I meant by "works best".
 
thankyouOB said:
are you looking for testers with iPhone 5 or later?
Once I complete the initial porting to iOS there will be some limited beta program. Basically to test out the Wifi connection code. I don't not have a copy of LeafStat but from the setup information I have seen it requires a Static setting for the IP Address whereas for Leaf Spy Pro it is just another Wifi connection and uses DHCP so nothing special is required. For Leaf Spy you will need to first select the Wifi network (your OBDII adapter) before Leaf Spy can connect.

At this time I have not uploaded anything to Apple so I don't yet know how they run beta testing. But I might just end up sending out a test LeafSpyPro.ipa file and having testers use iTunes to directly load the test version to their device.

In any case I would need the device UDID to build the proper certificate to allow the .ipa file to be loaded to your device.

Those wishing to be beta testers would just need to send me their UDID and device type. Only devices supporting iOS 7 or higher are capable of running Leaf Spy.

I have completed porting over all the data screens and am now working on the Settings menu. Settings has 17 sub panels some simple some complex and some feature are not supported in iOS. Things like checkboxes and pulldowns are not supported in iOS so there is a fair amount of new coding needed and layout changes to make things fit on the screen.

Each sub panel of settings needs to be tested using each Language (English/Japanese), orientations (P/L) and with each test device I have (iTouch, iPad, iPhone4). So that is 12 tests for each panel plus any repeats/restart when a change is made in any one of them to be sure a fix to one did not break another. It is a time consuming test process.
 
Back
Top