The Install (version 2)

Full System The Processing Unit
Storage
The Control Unit
The Power Supply
The head unit modifications
The software
The Disclaimer
This version of the car computer is partially built.

The Processing Unit

Motherboard The processing unit is built around an Advantech PCM-9373 3.5" biscuit PC. Storage takes the form of a flash disk-on-module for the boot drive and a compact flash hard drive for media storage. The board is loaded up with 256Mb CL2 PC133 SODIMM memory. The hard drive sits under the main board, and the power supply and shutdown controller are destined to be mounted over the main board. In this way, it is anticipated that the system will end up being around 6"x4"x2" in size, approximately half the size of the previous system.

Storage

Disk-on-module Compact Flash Hard Drive The operating system is booted from a flash disk-on-module. A zipped image of Windows 98, cut down considerably is unzipped from flash drive to a ram disk, and booted from there. The zipped image is about 22Mb, unzipped it grows to about 48Mb. The system boots from cold in about 17 seconds (until desktop appears and the hourglass vanishes). An 8Gb compact flash drive is used for the media storage. Approx 1Gb is devoted to map tile storage, and the remainder is available for music. The map tiles are stored as bitmaps compressed to DXT, zipped with zlib and packed together in larger tile files. This provides good loading performance since the tiles are in a render ready compressed form, and low memory and hard drive usage since they are compressed.

The Control Unit

LCD Inverter The is a combination of an 800x600 TFT panel for the display, and a 4-wire resistive touch screen overlay. The TFT panel is a Toshiba display LTM08C351 (I acquired a pair for £26 from Ebay...!), hooked up directly to the motherboard via a PCM-3540R LVDS interface for a good quality image. The LVDS interface allows a 10 wire interface with long signal cable capability. A TDK CXA-P1212C-WJL inverter will be used to power the 350cd/m2 backlight. A penmount USB touchscreen controller interfaces to the 4-wire AMT touchscreen.
Painted Dash Screen Fitted The screen was molded into a dash piece bought from ebay. The screen will go where the heater controls and central vents are, and a screen in the frontend software will be used to replace and add to this functionality. 3 high torque servos will be used to move the heater controls, high side drivers or relays will control the fan and heated rear screen.

The Power Supply

PSU The PSU is another custom affair. Based around re-used components from the Mk2 Power Supply from the first car computer, it uses a PT6625 for the 5V supply required for the motherboard. The optional 12V is supplied by a PT5071. This also powers the screen backlight. Since the intended operating system is no longer DOS, just cutting the power is not enough. A simple shutdown controller based around a 12C508 was added to manage the soft and hard shutdown functions. An open collector transistor presses the power button on the motherboard 15 seconds before cutting the power.

The head unit modifications

Aux-in relay switch The head unit modifications are essentially identical to the ones used for the first car computer. The switch on line from the head unit to the carputer is no longer required and will be removed. Future plans involve using a 12C508 microcontroller to manage the switch over from radio to aux-in, to mute the output whilst the switch occurs. This will avoid the loud thumps that can occur with the previous setup.

The software

The software is likely to be considerably easier to write than for the original system. I am not anticipating the need to write an mp3 codec, an ogg vorbis codec, sound card drivers or VFD drivers this time around, and I have a lot more processing power so optimisation will be less of an issue. It will also be nice to have a C++ compiler to work with (The Watcom C++ implementation was somewhat lacking in places). However, dispite all the changes, there are some features of the original player I do wish to retain, specifically its speed when loading. I shall be producing some software to integrate existing audio and video codecs, whilst retaining the pre-compiled playlist concept. The screen shots below are from a very early version, and have improved considerably in appearance and usability.
Gps The software is spread across several screens, the first of which is the GPS screen. This gives a zoomable 2D map with the current location indicated. The map scrolls as necessary. Datum points were placed to tie longitude/latitude, and a delauney triangulation used to generate a mesh between those points. Since each datum point has a grid coordinate on the map, we can use barycentric coordinates to turn longitude and latitudes into grid coordinates to display the correct part of the map. The padlock icon unlocks the cursor and allows free roaming over the map by touching the map in the direction to be viewed. The buttons to the top right allow selection of the music player functionality.
Selecting an Album The next screen allows you to select an album to play. Touching an album entry takes you to the play screen. The question mark button takes you to the search page which allows you to find a specific song or artist. The list displays album title, and where entered, the album artist. The buttons to the top right allow selection of the GPS player functionality. The list of albums and songs is built automatically from ID3 and similar information in the songs, and saved in a binary format to be loaded almost instantly.
Seraching for an artist or song The on screen keyboard alows you to enter a search term for the music database. The scroll window updates in real time as the search term is altered. Any songs that contain the search term in the song title or artist name are displayed, along with the album the song is part of. Touching any of the search results starts playing that song from the album it lives in. To return to the search screen from the playing screen takes just two touches of the screen, and the search time can be refined/altered as necessary.
Playing an album The playing screen lists the album being played, highlights the song currently playing and allows you to switch to other songs. Touching the album name allows another album to be selected. Touching an song starts playing that song. The usual controls at the top stop, pause, play, and skip to previous and next songs. The formats supported are limitted only by the DirectShow codecs installed. Mp3 and Ogg Vorbis codecs are easy to find and install.

Disclaimer

I TAKE NO RESPONSIBILITY FOR ANYTHING YOU DO TO YOUR OWN CAR OR STEREO SYSTEM USING THIS INFORMATION. THIS INFORMATION IS PROVIDED PURELY AS A GUIDE TO WHAT I DID TO ACHIEVE THE EFFECTS I DESIRED, NOT AS INSTRUCTIONS FOR OTHERS TO FOLLOW.