Chameleon-PIC Nurve Networks, Chameleon-PIC Datasheet - Page 173

MCU, MPU & DSP Development Tools PIC24 & PROPELLER DEV SYSTEM (SBC)

Chameleon-PIC

Manufacturer Part Number
Chameleon-PIC
Description
MCU, MPU & DSP Development Tools PIC24 & PROPELLER DEV SYSTEM (SBC)
Manufacturer
Nurve Networks
Datasheet

Specifications of Chameleon-PIC

Processor To Be Evaluated
PIC24
Data Bus Width
16 bit
Interface Type
USB, VGA, PS/2, I2C, ISP, SPI
Operating Supply Voltage
3.3 V, 5 V
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Function Prototype:
Example(s):
int index;
for (index = 0; index < 8; index++)
_________________________________________________________________________________________________
21.0 VGA Library Module Primer
The basic premise of the Chameleon design is that it leverages drivers running on the Propeller chip to do all the media
and graphics. Thus, whatever features the particular driver running on the Propeller side does is the only features we can
access via the PIC side. That doesn’t mean we can’t abstract functionality and add higher level functions that build on the
sub-functions, however, this probably isn’t productive since you will want to change drivers, re-write the Propeller driver
and so forth. Thus, for the majority of the “media” drivers all the API functions do (including the VGA) is expose some of
the base functionality in nice function calls so you don’t have to send SPI messages yourself. In the case of the NTSC
driver (CHAM_DEFAULT2_DRV_112.SPIN), we are using the following Propeller Object for the VGA tile engine and text
display:
VGA_Text_010.spin – VGA tile engine with support for terminal mode graphics with a tile resolution of 32x15. Very
Unlike the NTSC driver, we are using the same VGA terminal driver for both Default1 and Default2 Propeller drivers, so it
doesn’t matter which you are using the same rules apply. The VGA standard is much higher resolution, thus this driver is
much less capable than the NTSC driver. However, you can always use a more advanced VGA driver and modify the
Propeller message dispatcher, but we choose this one to get you started since it requires only a single processing core
and many of the more advanced VGA drivers require 2 or more cores to generate higher resolutions and capabilities.
But, again, the point is, you can change the Propeller driver and re-write it as you wish, we simply give you a starting point
to get going with. So, if you want to know what the driver supports, you can always peek into the driver itself
VGA_Text_010.spin (which calls sub-objects) and to see the messages that are getting passed to it, you always look into
the CHAM_DEFAULT2_DRV_112.SPIN driver itself.
With that in mind, if you want to use the VGA driver then you need the following files added to your project:
As you will see the VGA terminal mode functionality is nearly identical to the NTSC. This is by design, so when you are
developing “terminal” applications that print out to the NTSC/VGA screens basic information, you don’t have to worry
about details, each system is like a mini-VT100 terminal with limited abilities, but at least easy to work with.
{
NTSC_Color( index );
NTSC_Term_Char( ‘X’ );
} // end for index
int NTSC_Color(int col);
CHAM_PIC_VGA_DRV_V010.c -
CHAM_PIC_VGA_DRV_V010.h -
Print the character ‘X’ in all colors.
Description:
col parameter should be from [0..7] and selects one of a number of different foreground background color
schemes for the characters printed. This function has different behavior between the Default1 driver and
the Default2 driver. The Default2 driver is more for graphics and gaming, and thus the idea is to control
the color more directly with palette manipulation. Returns 1.
stable, but limited.
NTSC_Color(…) sets the color of the text and background (depending on driver). The
Main C file source for “VGA” module.
Header file for “VGA” module.
© 2009 NURVE NETWORKS LLC “Exploring the Chameleon PIC 16-Bit”
173

Related parts for Chameleon-PIC