- BV4629_V2 Firmware May 2012 - Firmware for the BV514 to make it into a BV4629 display
- BV_COM2 User guide and software.
- BV-COM2 Software only
- Page Link See the links section at the bottom of the page for link to the FTDI website
- Pictures BMP A few pictures in BMP format
The BV514 comes with either the ByPic firmware installed or BV4629_V2 firmware installed it can be freely interchanged depending on you you would like to use the device. The device has a built in USB interface that uses the FTDI virtual COM port. This chip is chosen because of its widespread use. It is built into Linux and has drivers for most of the popular operating systems.
COM Port Driver
Note the following instructions apply to the Windows Operating System and not the BV514
Obtain the driver from the FTDI website (link above). It is the VCP driver that is required, download the one for your operating system. When the BV514 is first plugged into the USB if the driver is not installed then go through the standard procedure of installing the driver. There are full instructions on the FTDI web site. The driver will create a COM port and it is important to know which COM port has been created, particularly if there are lots of COM ports on your system.
To determine the COM port in Windows XP, go to the control panel and then System. At the System dialog choose the hardware tab then the device manager button. All of the COM ports will be listed under the +Ports[COM & LPT] tree. Look for the "USB Serial Port[COM<n>]". This is the USB COM port the <n> will be the port number.
The device works through a COM port and terminal emulator (BV_COM2) above.
- Start the program by double clicking the exe file. (file can be downloaded from above)
- Select the com port for your system
- Select a baud rate of 115200
- Press the connect icon and it will turn green
The reset is connected to DTR and is a standard used throughout the BV5xx range. If using a BV513-M with something other than the BV101/3 then the DTR from the serial device must be connected for the reset to work.
Simple Interactive Basic
BV-Basic is interpreted and thus always available so try:
print "fred" a#=12.4 print a# b#=12.4*77.25 print b#
A program consists of a collection of functions, cumulating in a final function which is the application. The functions can be stored in RAM or Flash. In this way a virtual language can be created to suit a particular application. Functions can be written using a text or program editor and then downloaded to the BV513 using 'tload'.
A recommended program editor is PS_PAD which has most of the BV-Basic keywords although the ini file does need updating.
Text load is the way to get programs from the program editor into the devices RAM. As an example this function:
function hello() dim j for j = 1 to 5 print "j="j,"hello world" next endf
Create a file called hello.bas, save it and using the text load icon get the dialog box, browse for the file:
Before pressing send type 'tload <enter>' into the terminal screen so that the device knows to expect a tloaded file.
The result should be something like above. A refinement on this process is to use the send text facility which will save having to type tload each time. Some thought though needs to be put into this. It would be advantageous to clear all previous functions before loading and so 'cold' will be needed. The whole command would be.
cold tload -- wait for device to send 'Send text file.."
This can be implemented with cold \n\w200 tload \n\w300. The wait (\w<time>) is important to give the device time to respond before sending any information. The \n are the same as pressing (CR).
Make sure the 'Send first' check box is checked. There is no need to enter any text now, simply press send. Press CR when entering the send text and it will be saved in the drop down box for next time.
This is a collection of functions that can be downloaded and saved to Flash to make programs much easier to write for the sacrifice of a little efficiency but any optimisation can be carried out at a later stage only if necessary.
Rookie is installed using the same technique as above. There is a different rookie for each type of development board, full instructions for installing and the firmware itself is here on the ByPic site.
Using the Screen
Placing text on the screen:
All sceen commands start with di (DIsplay) Some other useful commands are:
- dicls(<colour>) - clears the screen to the given colour
- dihome() - moves cursor to home position but does not clear the screen
- diback(<colour>) - sets the background colour
- difor(<colour>) - sets the foreground colour
A complete listing of the commands can be found on the ByPic website in the documentation section.
To display an image on the device it needs to be in the correct format and should start out as a BMP file with a 24 bit colour depth, it also should NOT exceed the screen resolution which is 240 x 320. Images can only be loaded in portrait mode, if a landscape image is required then rotate the image by 90 degrees first using a paint program.
There are two places to save an image file on this device, the internal Flash and the 'external' serial AT Flash. This is called external because it is a separate IC that is on the PCB. In either case a BMP file will not directly load into the device it needs to be converted to a BMC file first. Depending on where the file is going to be stored will depend on how the image is converted.
- Convert the image into a constant statement and use diimage("constant name$"). This is explained in this article. This will enable the image to be saved directly to the internal Flash.
- Save the image to the AT Serial flash using fcsave() after conversion.
Saving to AT Flash
The file can be converted to a suitable format using the BMP Converter program (see downloads page) or by checking the appropriate check box on the binary transfer dialog of BV_COM.
There is a slight complication because it loads the image from COM2 but the loading process is slightly slower then the Baud rate and so there needs to be a hardware handshake set up to control the download. This is simple enough to do:
1: Make sure you have loaded 'rookie'
2: Type rts_on(). If you get an error then you have not loaded rookie
3: In the Serial drop down menu of BV_COM check CTS
Hardware handshaking is now enabled, it is disabled by default.
Before pressing send type fcsave("com2","b",10). This will save the image to the AT Flash starting at block 10, of course if you already have something in block 10 then choose another block.
After pressing return the function will respond with "Send file...". At this point press send on the dialog box. To see the image use fcrecall():
The above will display the saved image at co-ordinates 0,0
The BV514 has just one built in font, user fonts can easily be created with the help of CBFG, there is a link to this software here under 'Free Software' look for CBFG. Fonts are stored on the SD card and so there can be a virtual limitless supply. The font command has three syntax's:
difont("0") //  note this is a zero with double quotes difont("constant_name$") //  fcrecall(<block>,0,0) // 
The first syntax will select the default font and the second will choose a font that has been saved to the internal flash, see this article for more information on how to do that. The the third syntax is for when a font has been saved to the AT Flash which uses the fcsave() and the same technique as for images described above.
The following will give an example of how to create and use a font.
1: Start GBFG
Select the LED font as shown
This is quite a large font that looks a bit like an LED segmented display, make sure all of the boxes match to get the same results as me. Note with the settings as shown not all characters are available, as I only need numbers this is okay, however if you need the full set then increase the image size, use the smallest image size possible in order to keep the file size down.
2: Convert and save to either the internal flash or the AT flash
The file should be saved using the 24 bit option for CBFG to create a BFF file. To save the font to internal flash then it will need converting to a constant statement (refer to the article above). To save to the AT Flash then check the 'translate to binary font' on the BV_COMM binary transfer dialog and use the fcsave() command as before.
The screen has fitted a resistive touch panel that can be accessed via ByPic, however it does need calibrating before use and the calibration values are stored in block 0 of the AT Flash. If this becomes erased then the program will request a calibration before continuing.
There is a simple paint program that demonstrates the touch screen, see the ByPic website in the projects section.
The BV514 can be fitted with an optional bluetooth module. Refer to the data sheet on how to use this. ByVac also do a bluetooth transceiver there are some instructions here.