While I'm waiting for my new Yaris HSD to arrive, I've gathered some info on its infotainment system, the Touch&Go audio and navigation system.
It's based on the QNX CAR platform, and it allows downloading of apps from the Toyota website.
It's a system that just begs to be hacked.
There's a nice quickstart guide on the QNX website: it guides you to install a fully functional develpment environment.
http://www.qnx.com/download/feature.html?programid=20982
It's even available a VMware VM with a full QNX environment where you can test the SDK.
650SP1-VM.tar
The SDK itself is available as an evaluation at
http://www.qnx.com/products/evaluation/ (windows and linux flavours).
Here is a little hello world to try:
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Welcome to the QNX Momentics IDE\n");
system("sleep 60");
return EXIT_SUCCESS;
}
After the build, the executable is available in
C:\ide-4.7-workspace\my_first_project\x86\o
I shared that directory and mounted it from inside the QNX VM:
mkdir /mnt
fs-cifs //hostname:192.168.237.1:/qnx /mnt user password
Note the redundancy of specifying both the host name and the ip address.
From the /mnt directory it's possible to run the sample on the VM.
Recompiling with arm target should produce an executable suitable for the real platform.
I will continue my experiments when I'll have the real car at hand.
UPDATE:
I've finally got my car.
It seems that the Touch system comes in two flavors:
- Touch: which performs audio and trip information (energy management and mileage history)
- Touch&Go: which add navigation and apps to the above.
There's indeed an additional
hardware component (the GPS module), but the base system is the same.
I only have the base Touch system, and I'm not going to buy the additional module, because it's simply not worth the price for me.
I don't understand why apps should run only when the GPS module is present and maybe there's a chance to run them even without it.
Is there any volunteer, with a Touch&Go system, that has already downloaded some sample apps like Glass of Water, willing to send me a dump of his USB media?
A simple
dd if=/dev/sdc | bzip2 >usb.dump.bz2
would do (make sure your USB key is /dev/sdc).