This project is used to generate teletext suitable for decoding in a TV. This project is the hardware driver part and it requires a teletext stream. T42 Teletext streams can be generated by vbit2. This project relies on the vbit inserter hardware and a raspberry pi. See the Wiki page for details on how to install vbit-py.
This performs a similar task to raspi-teletext but drives the vbit hardware rather than a Raspberry Pi.
It runs on the latest version of Raspberry Pi. You may need to install the latest Python3 updates if you are using an older system.
Check that the i2c bus and chips are responding correctly
pi@raspberrypi:~ $ i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- 25 -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
You should get a response from 25 and 44 if the vbit chips are working. If not you should look in the Raspbarry Pi config that i2c is enabled.
This test configures the video chips. Put PAL video in vbit on the left hand connector. Run PAL video from the right hand output to a TV monitor. Run the shell script vbit-i2c.sh. The picture should be passed through the video chain and appear on the monitor.
This test checks that the spiram is working. This test does not need video running. The resulting array should be the same as the one that was written to the spiram. If errors or randomness happens try reducing the spi bus speed as mentioned in the source code.
pi@raspberrypi:~/vbit-py $ python spi.py
[65, 66, 67, 68, 77, 77, 77, 77, 77, 77, 77, 55, 77, 77, 77]
clean up
I've included some scripts to control some of the IC's other features.
The SAA7121 is capable of Wide Screen Signalling. This allows TVs to automatically switch between aspect ratios. Run ./wss help for full details.
Running ./luminance allows interactive control over the input video signal's brightness and contrast. Note that the script doesn't save the new values as default, so you'll need to change the appropriate values in saa7113.py if you want to save the changes.
Run ./chrominance to adjust the Hue and Saturation. As above, doesn't save the new values but is very useful for adjusting settings quickly.