Thursday, March 25, 2010

Extending the use of the Lokatoo A1000

I recently received a Lokatoo A1000 GPS unit which has a Windows CE 5.0 OS built in.

The basic user menu and GPS software is usable but with a large screen (relatively) and SD card expansion capability (up to 4GB), I wanted to see if I can get out of the device.

You can access the SD card either by using the USB cable (which turns the device into a SD card reader) or plug it out and mount it on USB card reader to connect to your PC.

Hijacking the Navigation button

First thing first. Without making major changes to the system, you can hijack the "Navigation" button on the user menu to start your own program. Any program that you want to run on the device must be compatible with Windows CE 5.0 based on the ARM-I CPU. The device comes with 64MB SDRAM.

If you are accessing the device using a USB cable, the SD card appears as the second drive. To access the data and programs from within the Windows CE OS, it is mounted as \SDMMC.

To hijack the "Navigation" menu button, you need to edit a file in the SD card, "GpsRunfile.txt".
Put the full path to the program that you want to run into this text file. E.g. "\SDMMC\Garmin\Garmin.exe". Once this is done, you can now activate this program by clicking the "Navigation" icon on the boot up menu screen.

Adding Another User Menu

Since the boot up user menu cannot be easily changed, I used a program called CEMENU, which can get from http://sourceforge.net/projects/cemenu/, to create a second level, user-configurable menu. Read the included documentation on how to configure the XML files used to define the menu options.

Getting to the Windows Explorer

Since this device runs on Windows CE, you can actually start the Windows Explorer in the device. The program is located at "\Windows\explorer.exe". You can either set this in the "GpsRunfile.txt" file or configured it as an option in the CEMENU program mentioned above.

Reading PDF files

One limitation of the default software is that the ebook reader does not work on PDFs. So I tried using Foxit PDF reader, http://www.foxitsoftware.com/pdf/reader/, or you can use PocketXpdf, http://pocketxpdf.sourceforge.net/. However, note that these programs will give an exception when you try to open the file explorer if the Windows Explorer is not running. So run these programs only from the Windows Explorer interface.

Coding in Java

You can also build new programs using Java but you will need to appropriate JDK to compile and run the Java programs. The JDK / JVM that worked for me is the phoneme version, https://phoneme.dev.java.net/. If you other successes please let me know. The phoneme JVM supports both the CDLC and Personal versions of the JavaME standard.

Coding in Embedded Visual C++

Lastly, if you want to code at a native level you can try using the Embedded Visual C++ IDE form Microsoft which is free for download. You will need 3 installations:
1. eVC4 (Embedded Visual C++ 4.0)
2. eVC4SP4 (Service Pack 4)
3. Standard_SDK for Windows CE 5.0.

You can install these into Windows XP, develop your application and compile it for ARMi. Then
copy the executable to the SD card to run.

2 comments:

  1. I could not find the "GpsRunfile.txt" in my SD Card. where is actually the file?

    ReplyDelete
  2. It should be on the root directory of the SD Card. You can connect it to a Windows PC and browse the SD Card to look for the file. It's a simple text file.

    ReplyDelete