Showing posts with label qnx. Show all posts
Showing posts with label qnx. Show all posts

2013-02-03

Steam on your car dashboard

Following up my post on car driving gamification, I'm going to push it a little further.
Using data from GPS, the car will be able to rate our driving style:
did we drove on that uphill curvy road optimally?
By uploading driving data, it will be possible to compare them with other drivers that drove the same road and crown a real "king of the hill".

Are we going to see Steam on our infotainment systems?


Will we get Steam achievements while driving?

2012-12-04

The Reboot Syndrome

Shouldn't reboots be an exclusive feature of Windows-based OSes?
It doesn't seem so.
This morning, while driving, I turned on my Yaris infotainment system with the MODE button on the steering wheel.
It turned on as usual with the FM station tuned in. (Bad design here: it was on the USB player when I turned it off yesterday)
I pressed MODE again to switch to USB and bang!


The screen showed the Hybrid logo of the boot sequence.
After that, it correctly switched to USB.

Note:
QNX should be a crash resistant OS, able to reload only the offending module.
Reboot was really fast, barely the time to think "what's that?" and the system was back on line: however it's not an excuse...

2012-09-20

Hacking QNX CAR-based Toyota Touch&Go

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:
  1. Touch: which performs audio and trip information (energy management and mileage history)
  2. 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).