Monochrome Graphic Display Source Code Driver Project
Section 07. Information

07. Information

a) Frequently Asked Questions

Where are the bitmaps and fonts stored?

The included PC Bitmap Convert Application allows you to output all of your bitmap graphic and font files as a C compliant header file, so that the data is stored in the program memory, or as a binary file so that you can store in external memory, or a combination of both.

Is The Driver Difficult To Use

Setting a new screen up for the first time can be difficult. Due to the huge number of screens available it would be impossible for us to provide individual drivers for every screen. Therefore we have made this driver as generic as possible and you will need to alter the display-model.c and display-model.h files to work with your particular screen. See earlier in this manual for details of how to do this. Once this is done you then only need to select the orientation you want to use the screen in and the driver will then be working correctly for your screen. That’s the hard bit out of the way – with your screen setup correctly using the driver is a breeze and the flexibility of being able to put what you want wherever you want on the screen makes designing user interfaces really enjoyable.

b) Specifications

Maximum screen size

5000 x 5000 pixels

Using The Driver With a RTOS or Kernel

The stack / driver is implemented as a single thread so you just need to make sure it is always called from a single thread (it is not designed to be thread safe).

c) Code and Data Memory Requirements

Code Size Example

The following tests we’re carried out using a 128 x 64 pixel 8 bit parallel interface screen without using faster internal memory (DISPLAY_USE_LOCAL_RAM_BUFFER define disabled) and with all compiler optimisations turned off.

PIC18 Sample Project:

Approximately 7440 program memory bytes (3720 x 16 bit instructions) compiling just the driver functions with the Microchip C18 MPLAB C Compiler for PIC18 family of 8 bit microcontrollers.

PIC24 Sample Project:

Approximately 3334 program memory words (1677 x 24 bit instructions) compiling just the driver functions with the Microchip C30 MPLAB C Compiler for PIC24 family of 16 bit microcontrollers and dsPIC digital signal controllers.

PIC32 Sample Project:

Approximately 7540 program memory bytes (1855 x 32 bit instructions) compiling just the driver functions with the Microchip C32 MPLAB C Compiler for PIC32 family of 32 bit microcontrollers.

Variables Memory Space

Approximately 16 bytes of static RAM (DISPLAY_USE_LOCAL_RAM_BUFFER define disabled)

The driver does not require a great deal of temporary variable storage space from the stack as bitmap data is read and displayed one byte at a time.

Speed

This will depend on your screen and processor / microcontroller. As a basic guide, using the driver with the BATRON BTHQ128064 AVD COG 128 x 64 pixel sample screen and a PIC18 microcontroller running with a 6 MIPS instruction clock (3V3 powered) , internal program memory used to store bitmaps and DISPLAY_USE_LOCAL_RAM_BUFFER define disabled:-

Displaying a single 128 x 64 pixel bitmap takes approximately 85mS.

Displaying a 20 character left aligned ASCII text string, 5×7 pixel font, monospaced characters takes approximately 25ms.

Displaying a 20 character left aligned ASCII text string, 5×7 pixel font, proportional characters takes approximately 29ms.

With a 10 MIPS instruction clock (5V powered)

Displaying a single 128 x 64 pixel bitmap takes approximately 51mS.

Displaying a 20 character left aligned ASCII text string, 5×7 pixel font, monospaced characters takes approximately 15ms.

Displaying a 20 character left aligned ASCII text string, 5×7 pixel font, proportional characters takes approximately 17ms.