Hello,
I'm working at Parrot and I'm trying to make Torque work on Asteroid Tablet & Smart with a OBD-USB adapter.
The USB adapter is seen and appears as /dev/ttyUSB0. My problem is that, in Torque configuration, I'm unable to select this device. When I click "Select USB device", all I got is "No devices connected".
Can some one tell me what it takes for Torque to detect the device correctly ?
Thank you.
Hi
You'll need a minimum of android 3.1+ which supports the Android USB Host API for Torque to detect it and then start using the adapter - it's an OS support thing. I don't know what version of android you guys have (funnily enough I was looking at getting one of your units yesterday but Halfords only have the non-touchscreen ones in stock)
I don't know what your plans are for USB API/Host support in Android (if you're not on 3.1+/4.0, or are going to be moving to it with USB support) - it could be possible to add tty support, though I'd need a unit to play with (the USB Host API is probably preferred as it gives your units more capabilities)
Touchscreen units are running on Android 2.3 but we have USB Host support enabled in kernel. I can see the tty in /dev/ so there's no problem on this side.
I've seen that Torque is using libserial_port. I've tested android-serialport-api test application : it detects the ttyUSB0 and I can use it with the terminal application.
So I think that all that is missing is a link for Torque to use this tty.
Hi
Android 2.3 doesn't contain the USB API (even if host mode is enabled in the kernel). See: http://developer.android.com/guide/topics/connectivity/usb/host.html which states the API level is 12 or higher (Starts at honeycomb 3.1)
The libserial.so is currently used for a custom build for another type of unit (which uses android 2.2/2.3) and is using a custom kernel with ftdi support built in (as well as specific permissions options for setting the correct permissions on /dev/ttyUSB0 (as they are incorrect by default) - this is done with *root* access on android itself which I suspect you don't want to give app developers access to on your units. If the permissions on /dev/ttyUSB0 are relaxed by default, you likely won't pass any formal certifications for android
Supporting the official google USB host API is the best way to go here as there is direct support for it in Torque, and you don't need to give the app root, which means getting a later version of the android OS onto the radio
Alternatively supporting outgoing bluetooth SPP connections from the unit would equally work (connecting from the radio, to the OBD2 adapter)
Hi,
We've got the USB host support. It is used to make external GPS work and also for debug purpose. Parrot has done a lot of modifications in Android to make Asteroid products. We've got udev rules to modify the access rights to tty (set to 666), so there's no need to give root privileges to applications.
As I've said, I've tested the serial port api test application and it works fine without any modification, just by selecting ttyUSB0 in the setup panel.
So the only thing that is needed is Torque to access directly this tty through serial port api.
Using BT is more complicated as we don't use Android BT stack. Android stack is made to be used on phones. Our products are car kits, so it's not the same side of the pipe. Some BT adapters seems to work and other not. USB could be easier to use.
Hi!
If you are talking to /dev/tty* devices, then you're not using the actual Google USB API which is part of android.
Instead you are talking directly to a character device, which, yes needs specific permissions setting, however you likely won't be certified for google apps (and Torque needs the Google APIs on the device to function for app licensing)
Does the asteroid have Google Play installed now? If not, how are you running Torque as it will not be able to contact googles licensing servers.
In short - to run on the asteroid properly and with USB support, Torque will have to be modified specifically for it. If Google Play is not part of the default installation, then licensing will also need to be discussed. With other vendors, this usually boils down to sending me a unit with the hardware support enabled, and I'll sort the rest out at my end
Hi,
In fact I'm working on a demo to show my manager if it is possible to make Torque run on Asteroid. Then he could ask Parrot management to contact you to integrate this application to the Asteroid Market.
Asteroid is not certified by Google and doesn't have the Google APIs nor Google Play. So to test I use a version of Torque that I've downloaded on my personal phone some times ago and that I use in my car.
Yes, I'm not using Google USB API. I thought I was clear that it was only in Linux that the USB host was managed. Sorry for the confusion. Since I saw that libserial_port was embedded I thought it would have been quite easy to make it work. Now I understand that it's not that easy.
Unfortunately I have no power to send you a unit.
Hi!
How many /dev/ttyUSB devices is the unit likely to have? and can you send me the Build.MODEL/PRODUCT/MANUFACTURER strings for the devices that you think may be compatible?
I'll have a look at setting this up (it will be automatic by the app if it detects the correct strings) and see what I can do in an update (then, depending on the outcome it may make an appearance on the asteroid store, though I could do with getting hold of a unit to customise it and test properly)
There are 2 potentially compatible devices : Asteroid Tablet and Asteroid Smart.
There should be up to 3 ttyUSB as there are only 3 USB ports on each device.
Model (ro.product.model) can be "Asteroid Tablet" or "Asteroid Smart"
Product (ro.product.device or ro.product.name, they have same value) can be "fidji" for Tablet or "rnb5" for Smart
Manufacturer (ro.product.manufacturer) is "Parrot" for all
Ok - small present for you - Version 1.6.54 (just submitted to Google Play so it may take a couple of hours before you see it)
It contains what should enable TTY support on the Asteroid - I haven't managed to test this (obviously, as I don't have a unit :-)) but I'm hopeful that it should help you progress things at your end a bit. At the moment it's hardwired to /dev/ttyUSB0
Thank you.
I've changed my phone since I've started working on this demo, and the new one is not rooted. So I can update the application from Google Play but I can't transfer it from the phone to my Asteroid device. I'll root it this weekend, but to test it sooner, is it possible for you to send me the apk ? Do you have an email address where I can contact you (I don't want to put my professional email address on a public forum and it seems this forum doesn't support private messages). If it's not possible I'll test it this weekend and give you a feedback on Monday.
Hi
Give me a shout on ian@prowl.org and I'll get direct to me
FYI to GBParrot,
I am running this via a bluetooth ELM adapter on the Asteroid Smart. I sideloaded after putting GoogleServicesFramework on the device.
Keep up the good work...I would love to see more apps in the Asteroid market.
Also the volume button doesnt work with the Waze (Asteroid Market Version) app. 🙂
Quote from GBParrot on June 13, 2013
Hello,
I'm working at Parrot and I'm trying to make Torque work on Asteroid Tablet & Smart with a OBD-USB adapter.
The USB adapter is seen and appears as /dev/ttyUSB0. My problem is that, in Torque configuration, I'm unable to select this device. When I click "Select USB device", all I got is "No devices connected".
Can some one tell me what it takes for Torque to detect the device correctly ?
Thank you.
I has run torque on my Vehicle plate,which OS is Android 2.2,line on with OBD-USB adapter.
PS:How to upload my photo?
I just noticed this thread. First of all I want to say thanks so much for adding tty support in Torque as I am looking forward to using my usb adapter.
So, I actually just got my USB OBDLink working with my Parrot Smart, but the problem is that the OBDLink shows up as ttyUSB1, since ttyUSB0 gets linked to the GPS device on boot. In order to get it running I rebooted the device with just the OBD adapter plugged in so it could get ttyUSB0 and then plugged the GPS after boot and everything worked 🙂
Since most people running Asteroid SMART devices will run into the same situation, would it be hard for the Torque team to offer support to ttyUSB1 or other device numbers?
I will try having a script to change this link dinamically, but I wanted to ask the Torque team anyway for the future.
Thanks so much.
Hi!
Happened to be working on the parrot stuff at the moment so that's now added and will be in the next update providing the unit supports it!
Ist there somewhere a list of compatible adapters for Torque on the Parrot Asteroid?
Specifically, I've read conflicting informations on devices with FTDI drivers.