martxw
Active Member
The key to hacking the old TomToms is that it executes /mnt/sdcard/ttn when it starts, if present. So you just need to write your own script as /ttn on the SD card.This is interesting. Any info?
I spawn a tracking server which just sits there reading the NMEA data from /var/run/gpsfeed every second, writing a shorter version to a file.
My ttn then spawns a Bluetooth server which listens for a serial connection, copies the logged locations to an upload file, sends the upload file over serial to my Android application, and then deletes the upload file once the Android app confirms it's been successfully saved.
My ttn then continues to run the /bin/ttn burned into the device, which runs the TomTom navigation software.
The API for playing audio files was based on writing a command file. The TomTom navigator would pick the file up and execute its actions, and write back an acknowledgement file. But I don't think this works any more.
To compile C/C++ code I originally got the toolchain from TomTom, but it's no longer there. I could hunt it out, but it's probably not much practical use now the devices are obsolete. Mine only works when plugged in now; it's got zero battery capacity left.
You can also add to the main device menu through SDKRegistry/.cap files. The .cap file defines a new command, the program to run and the icon and text to use.
Code:
Version|100|
AppName|recording_on.sh|
AppPath|/mnt/sdcard/binmw/|
AppMainTitle|Start Recording|
AppIconFile|recording_on.bmp|
AppPort||
COMMAND|CMD|Start|recording_on.bmp|Start Recording|
Finally, you used to be able to write add-ons to the desktop TomTom Home application. This was in JavaScript, I think based on the way you wrote add-ons to Firefox. XUL? I did a fancy one that detected the state of the attached device and did location uploads (prior to doing it via Bluetooth). But TomTom broke this API long ago.
I don't know if any of that knowledge transfers to newer TomToms. I haven't heard of new ones being hackable.
Oh yes, and the trick to getting a command prompt for playing around with the BusyBox Linux on the device was to copy a bluetooth console program onto the SD card first. You could then Telnet to a COM port attached to the device. It had the annoying habit of powering the device off after a few minutes if you forgot to touch the screen regularly, so not as much fun as hacking around with the Humax.
Last edited: