Dv300

From ByteWiki

Contents

DV300 LCD Display

Introduction

Although it was getting a bit old, the DV300 was great value. One of the features I liked about it was what Mitsubshi call the 'Network Interface'. They mean serial interface, but either way it allows me to control the TV from the PC. This allows me to use the analog TV tuner in the TV as an input for MythTV, while still using the display as a VGA monitor (for showing HDTV).

Protocol

The serial protocol is not complex, but it is not obvious either. I had to email Mitsubish to get a copy of the spec but once I did was easy enough to get going.

Hardware

Parts list

  • Mitsubishi Diamond Digital DV300
  • PC with serial port
  • 9 pin female to female serial cable with 'special' wiring.

The serial cable is like a straight through design where the TV end is essentially on backwards (mirror image). It might be possible to buy a premade cable, but making one was not hard. This pin out is:

PC 1 = TV 5 (ground)
PC 2 = TV 4 (tx)
PC 3 = TV 3 (rx)

Software

I wrote a driver program for Linux. You don't need linux, but you may have to adjust my code to work on anything else (ie Windows). You can download it from here:

http://uranus.it.swin.edu.au/~jnewbigin/linux/dv300/dv300-0.1.tgz

This also includes the .pdf documentation for the TV.

Installation

Just build the code with make.

Then create a symlink from /dev/dv300 to the serial port you want to use.

cd /dev
ln -s ttyS0 dv300

But if you use udev, you should create it in /etc/udev/devices so it is created every time you boot

cd /etc/udev/devices
ln -s ttyS0 dv300
udevstart

Channel Changing

Remember that the channel numbers need to be in hex.

./dv300 PCH02

MythTV

If you want to use it with MythTV then you have to remember that MythTV sends the frequency, not the channel number to your script. This means you can put the hex version of the channel number into the frequency field and Myth will send you the data ready to go.

This is the script I use (dv300_channel.sh):

#!/bin/bash
echo "Setting DV300 to channel $1"
# Make sure the TV is on
/usr/local/bin/dv300 MSB00
# Set the channel
/usr/local/bin/dv300 PCH$1

This is an example of my analog channels in MythTV

mysql> select chanid, channum, freqid, callsign from channel where sourceid=1;
+--------+---------+--------+----------+
| chanid | channum | freqid | callsign |
+--------+---------+--------+----------+
|   1000 | 28      | 1C     | A-SBS    |
|   1001 | 2       | 02     | A-ABC    |
|   1002 | 7       | 07     | A-7      |
|   1003 | 10      | 0A     | A-10     |
|   1004 | 9       | 09     | A-9      |
|   1005 | 31      | 1F     | A-31     |
+--------+---------+--------+----------+