Getting Started with bVT100 Displays
bVT100 describes a hardware interface and a software protocol. It is very simple to use, simply connect a suitable serial device and input data. If the device is a display then text will be displayed to reflect the data entry.

The BV4511 and BV4141 displays
Before going any further see this article which shows how to connect the device and set up BV-COMM properly.
From here it is assumed that you have a working BV-COMM and device so that anything typed in will be appearing on the display.
Running Scripts - Using BV-COM
Running a script is simply a matter of sending text the the display, using BV-COMM make sure that the text transfer settings are as follows:

NOTE that this is a straight forward text transfer with no protocol endings or automation.
Here is a collection of scripts. Copy and paste the text including the funny characters (escape) into Notepad, save and then transfer to the display.
Running Scripts Using Scom
Scripts can also be run using scom, this gives the opportunity for automated actions from a PC, at start up for example or use the scheduling function provided on the PC. Scom is available in the downloads section and a description of how it works is provided in the scom article.
To run a script using scom very little changes are required:
# scom version3 of test1
# There is no need for the //./COM if the port is less than 5
!open //./COM405 115200 1 # open com port with h/s
[2J
[1;2H(2VT100 Display
(1
[2;0HNormal Text
[3;0H[0fRevese Text
[1f
{40;10pAlign
{48;11pAlign
{56;12pAlign
!console 1
The above is the same as the fonts script for the BV4511 but will now work when used as an scom script. A slight advantage is that comments can be freely used provided that they are prefixed with #.
Generating Images (only applies to BV4141)
This is covered in the datasheet for the BV4141 but for completeness here it is again, this may be more up to date. An image is displayed using the ESCb command, this command expects a series of numbers terminated with 'e'. The format is as follows:
ESCb // the command
W, H, R,C // W is the actual width of the picture, H is the actual Height,
R is the Row (vertical) value and C is the column value.
<data> // two digit numbers representing the picture
e // tells the command to end
The numbers following the command are separated by spaces, W,H,R and C are decimal numbers and the data is Hex numbers, without the usual 0x prefix. The difficult part is obtaining the numbers that represent the data. There are two sites that I know of which have programs that are free but must only be used for personal use:
http://www.random-i.com/NokiaLCD/ This has a very comprehensive image convert program but it did not convert the text logo properly, this is probably something I have done wrong.
http://www.zipfelmaus.com/nokia6100lcd_en/ This site has a much simpler program called BMP2RGB.EXE, this seams to work every time on the correct bmp file.
Both of the programs generate a header file which is intended for inclusion
into a C program so there is a lot of information that must be stripped out
before use. As an example this txt icon
which has been made into a BMP file when run through the bmp2rgb program look
like this:
/* # Bitmap
to RGB8 converter
# created by S. Schuster, 04.2008 - www.zipfelmaus.com
# include this file in your AVR project include directory
*/
#define image_width (12)
#define image_height (15)
unsigned char bitmap[]=
{
0x7B, 0x97, 0x9B, 0x9B, 0xBB, 0xBB, 0xBB, 0xBB, 0x77, 0xFF, 0xFF, 0xFF,
0x9B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x77, 0x4E, 0xFF, 0xFF,
0x77, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x77, 0xFF, 0x4E, 0xFF,
0x77, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x53, 0x4E, 0x4F, 0x2E,
0x77, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x53,
0x57, 0xFF, 0xBB, 0xBB, 0xBB, 0xB7, 0x97, 0x96, 0x97, 0x77, 0xFF, 0x57,
0x53, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x57,
0x53, 0xFF, 0xBB, 0xBB, 0xBB, 0x97, 0x97, 0x96, 0x96, 0x96, 0xFF, 0x53,
0x53, 0xFF, 0xDF, 0xDF, 0xFF, 0xDF, 0xDF, 0xFF, 0xDF, 0xDF, 0xFF, 0x53,
0x53, 0xDF, 0xBB, 0xBB, 0xBB, 0x97, 0x97, 0x96, 0x96, 0x72, 0xFF, 0x53,
0x53, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0x53,
0x53, 0xDF, 0xBB, 0xBB, 0xBB, 0x97, 0x97, 0x96, 0x96, 0x72, 0xDF, 0x33,
0x33, 0xDF, 0xBF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDB, 0x2E,
0x2E, 0xDB, 0xBB, 0xBB, 0xBB, 0x97, 0x97, 0x96, 0x96, 0x96, 0xDF, 0x2E,
0x2E, 0xDF, 0xBF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xBF, 0xDF, 0x2E
};
Only the data is required and so the data part (begging with { and ending with}) can be run through a text editor to remove the '0x' and ',' so you end up with this:
7B 97 9B 9B
BB BB BB BB 77 FF FF FF
9B FF FF FF FF FF FF FF 77 4E FF FF
77 FF FF FF FF FF FF FF 77 FF 4E FF
77 FF FF FF FF FF FF FF 53 4E 4F 2E
77 FF FF FF FF FF FF FF FF FF FF 53
57 FF BB BB BB B7 97 96 97 77 FF 57
53 FF FF FF FF FF FF FF FF FF FF 57
53 FF BB BB BB 97 97 96 96 96 FF 53
53 FF DF DF FF DF DF FF DF DF FF 53
53 DF BB BB BB 97 97 96 96 72 FF 53
53 DF DF DF DF DF DF DF DF DF DF 53
53 DF BB BB BB 97 97 96 96 72 DF 33
33 DF BF DF DF DF DF DF DF DF DB 2E
2E DB BB BB BB 97 97 96 96 96 DF 2E
2E DF BF DF DF DF DF DF DF BF DF 2E
This is the actual picture in text form, all that is now needed is to add the
'e' on the end and the front part that tells the image where to go and what size
it is. See this
for the completed example.
