Category Archives: iPhone Development

v1.2 Update and WiFi status

Things are moving on gradually…

I’ve fixed all the problems with the architecture of the app and it’s now working as fast as a PC connected via a serial cable when it comes to creating log files, in the region of 16 lines per second on an MS1/Extra. I have 2 more screens to update to iOS7+ compatible and I’ll be looking, finally, at a release. The new architecture has opened up a number of possibilities as well as removing many of the stumbling blocks that were limiting it’s performance.

One of the more recent problems being experienced is a practical one since MicroChip bought out Roving Networks and pulled the rug out from underneath the simplest and cheapest connection option. Obviously one solution to this has been to start looking at BlueTooth interfaces but in tandem to that I’ve also been looking at a much lower cost WiFi option that uses a couple of “off the shelf” modules hooked together. Initial results have been good and it would bring the cost of a WiFi adaptor down to less than £12 ($15USD) but it will need to be flashed with some simple custom code that I’m going to release as an open source project. The software to compile and upload the software to the module is free and you just need a USB cable to flash the module.

This is actually a much better solution than the RN134 as it offers a secure, password protected, connection and a customisable web interface to configure it and, being so much cheaper, will be a good option.

I may be adding banner advertising to the app in an attempt to help it pay for itself. Although the donation model worked initially it’s not covered the costs of developing the app or hosting this web site, let alone the cost of MegaSquirt ECUs to test against. Banner advertising has proved reasonably successful in my other apps as a way of generating a small but steady revenue that might, at least, help offset some of the costs.

Version 1.2 build 318

Airdrop and Activities screenshotI’ve completed the architecture changes I’ve been working on and the first test version of the app is being distributed to testers now. If you haven’t already signed up and are using iOS 8 or later, use the contact form to let me know you would like to become a tester. The new Apple TestFlight system allows for up to 1000 testers and the more people testing it the better !

The architecture changes offer far more flexibility and improved speed of logging by recording the data into a database, including logging sessions. As well as the improved speed it opens up new possibilities, such as a graph view of the data in both realtime and logged data environments. Data from the MS ECU is also stored with log sessions, allowing easier transfer of log data between devices in the future. At some point I will also leverage this mechanism to provide iCloud support for your logging sessions.

Updates to the latest iOS SDKs and methods mean an updated layout that should cope better with different device screen sizes and native support for 64 bit devices will improve performance on those devices.

The one feature that has been lost as part of this restructuring is the ability to transfer log files from the device using iTunes. On the plus side though the email facility allowing log files to be emailed has been updated to support the iOS7 and later action facility. This allows log files to be emailed as before but also allows them to be transferred via AirDrop or any other method that your device is configured for (Facebook, Messages etc…) or opened directly in another app on your device that supports the file type. For Mac users this means you can quickly send log files directly to your Mac over WiFi.

With the new data format it is possible for full log files, with all the MS ECU config data, to be sent between iOS devices and imported into other copies of MobiSquirt at some point in the future.

Another Update…

Following a sabbatical which included driving around Australia in my Land Rover. I’ve started to tidy up the code base that I was working on for the next release version.

A lot has changed since the last release with new iOS releases, new iOS devices, new beta testing options and Roving Networks being consumed by MicroChip.

The iOS changes have at least resolved a few issues – the problems I was having supporting new versions of iOS without alienating users who wanted to use the app on old devices have been resolved.

The new release will be an iOS 8 app, it will run on iOS 7 and should be OK on iOS 7 but it will not be possible to test on iOS 7.

I will be using Apple’s TestFlight to ship test versions of the app to “beta testers” and with this in mind anyone wanting to test the app will need to apply using the contact form.

 

A quick update

Sadly this project has fallen victim to a lack of time and priority compared to all the other things that take up my spare time.

There has been some progress as, yet again, I embarked on another architecture change, this time around the way the logs are created and stored and the way the incoming data is analysed. This is aimed at streamlining the data capture process and, hopefully, this will speed up the entries per second for the logs which have been down on where they should be, particularly on the MS2/MS2-Extra devices.

The iPhone 5 question has been resolved once and for all as Apple will no longer accept apps or updates to apps that don’t support iPhone 5. Anyone still using an iPhone with an iOS version prior to 4.3 will no longer be supported through the app store although I will continue to support older versions in the test version of the app for a while at least.

At the moment I’m not sure when I’ll get any real time to devote to this project but I’m optimistic that in the next couple of months I will at least be able to get the current test version into a state where it can be submitted to the app store.

iPhone 5 Support Update

While the test versions of the app work quite happily on both the iPhone 5 and the iPhone 3G and earlier it seems that the App Store version can’t have that luxury unfortunately. At some point soon I’ll need to make a final decision on how to handle it but my current thinking is that I may create a new version of MobiSquirt on the App store that will support legacy hardware and iOS versions while at the same time allowing the “main” app to take advantage of the latest and greatest iOS developments. Of the current user base of around 800 active users there are 10 users that have devices that don’t support iOS 4.3 and later according to the analytics.

Going down the legacy app route will have the advantage that, when and if I can no longer update the legacy version at least the legacy version will remain on the App Store should an older device need a factory reset or similar and lose the app.

The next App Store release will not support iPhone 5 natively as I want to get the RPM fix out while I pontificate further and see how other developers handle the iPhone 5/iPhone 3G problem.

iPhone 5 and Latest Test Version

I’ve been contacted by a few people concerned about the possibility of dropping iPhone 3G and earlier device support. As a result and after some experimentation I’ve found I can, for the time being, support all the existing devices that are supported and also support the new iPhone 5 by using an older compiler.

I’ve been trying to get to the bottom of the problems some people have been experiencing with incorrect RPM readings on MS1Extra. After analysing files supplied by those experiencing the problem and running the configurations up in my test environment I’ve finally got to the bottom of the problem and the latest test version contains a fix. It turned out to be a problem with the way the app was determining the number of cylinders and this was then leading to rogue calculations.

I’ll release this version to the app store after testing is complete.

MS1-Extra Problem

I’ve got some test logs and configurations from people experiencing odd displays/logging on MS1-Extra versions. In particular this seems to effect the hi res rpm calculation and I currently think it’s related to installations where the spark table isn’t being used. I’m going to load one of the supplied configurations on a spare ECU and see if I can reproduce the problem.

The launch of the iPhone 5 with it’s new processor and screen size has left me in a bit of a quandry. To fully support the iPhone 5 (which I want to do) I’ll need to drop support for the iPhone 3G and iPod Touch gen 2 and earlier and any devices running iOS version prior to iOS 4.3. The stats I have suggest this shouldn’t be a problem BUT if it is a problem for you, please let me know.

Obviously I’m looking to support the iPhone 5’s new screen size in the next release.

Next Steps

I now have a working MegaJolt Lite Jr that has been lent to me for testing and development so I’m beginning work on the connection and logging classes to support it. Not sure yet which versions of MegaJolt it will be compatible with initially but hopefully that will become apparent as development progresses and I work my way through the tech notes.

The outstanding MegaSquirt version support (MS2 B&G code) is also on my list of things to add. I may end up adding them both as part of a single update or add and release each one as a subsequent release. I’m not sure how many users there are of the MS2 firmware but no doubt there will be some.

As always I’m open to any other suggestions and/or bug reports for the current release versions or the test versions. Feedback from users always gives a boost to the development effort, if only because it lets me know I’m not the only one using the app ! Version 1.1 now has over 200 users since it was released so hopefully some of those users are using it for logging and display !

MobiSquirt v1.1 available now

V1.1 of the MobiSquirt app is now available on the App Store. This version contains a number of improvements, new features and bug fixes.

The most obvious changes from v1.0 are…

  1. This version adds support for logging of MS2-Extra firmware revision ECUs
  2. The app is now a universal app, running on both iPhone/iPod and iPad devices with new view layouts tailored to the iPad.
  3. The design of the main gauges views have, in my opinion, been much improved over the last version. Users who prefer the original look can still use that design via a switch on the settings screen.
  4. An AFR gauge option has been added that uses configurable lookup .ini file that can be customised by the user to suit their lambda sensor. This gauge does not currently work on log playback as the data to reproduce it isn’t available in the log files. This may change in a future version.
  5. The architecture used to handle the low level communications with your MegaSquirt ECU has undergone a complete rewrite. This improves initial connection establishment speeds and should result in a more stable connection.

You can view/download the app from the App Store here 

V1.1 Submitted

I’ve submitted v1.1 of the MobiSquirt app to the App Store. Hopefully it will get through the review process and become available within the next couple of weeks.

I’ve run out of devices to test against now. I’m trying to track down a MegaJolt ECU I can test/develop against next and will continue to build up a library of raw data and pages files for my test environment so I can perform regression testing against them.

Anyone using the latest test versions or, when it becomes available, v1.1 or greater on the app store, can contribute raw data and pages file to have their setup included in the regression testing. More details in the user manual troubleshooting page.