System Font

Does someone know how to use this with the arduino due: http://asf.atmel.com/docs/latest/sam3x/html/group__gfx__font__group.html?
It seems like it isn't supported.

Because the Due doesn't have a graphical subsystem? What do you want to use it for?

pylon:
Because the Due doesn't have a graphical subsystem? What do you want to use it for?

For my libComposite.

  1. What the heck is "libComposite"?

  2. What do fonts have to do with an embedded MCU?

  3. Will the answer to question 1 also answer question 2?


Rob

  1. libComposite is the color composite video library I am working on.
  2. According to atmel, a debug font is included in the 3sam3x.
  3. I don't think so.

According to atmel, a debug font is included in the 3sam3x.

Can you provide a reference?


Rob

Graynomad:

According to atmel, a debug font is included in the 3sam3x.

Can you provide a reference?


Rob

Here you see:

OK, so it seems like Atmel have provided people with a font that they seem to think is good for debugging.

Part of the blurb states

Excellent for printing system messages and debug output to a display.

Where is your display, the Due doesn't have one.

I can only assume they are meaning that it is to be used with the evaluation kit (SAM3X-EK)

which has a GLCD.

The Due does not have any form of display so the font is of no use to you. If it's debugging you need then either use one of the serial ports or get a JTAG or SWD debugger. If you need the font for some other purpose you could probably grab the data from a file somewhere in the ASF.

What did you want it for?


Rob

Graynomad:
OK, so it seems like Atmel have provided people with a font that they seem to think is good for debugging.

Part of the blurb states

Excellent for printing system messages and debug output to a display.

Where is your display, the Due doesn't have one.

I can only assume they are meaning that it is to be used with the evaluation kit (SAM3X-EK)

http://www.atmel.com/tools/sam3x-ek.aspx

which has a GLCD.

The Due does not have any form of display so the font is of no use to you. If it's debugging you need then either use one of the serial ports or get a JTAG or SWD debugger. If you need the font for some other purpose you could probably grab the data from a file somewhere in the ASF.

What did you want it for?


Rob

I thought it would be easy to use that font for the video output. (I made my own font partly, but if there's some default font, it would be easier)

What video output? I think we're on different pages here :slight_smile:

You said you're working on a library but there's been no mention of any video hardware.

Anyway I'm sure the font is defined in an array in a file somewhere within the ASF, just go searching and you'll probably find a file called font.h :slight_smile: If not find where it's referenced in some code and GREP for the name.


Rob

I've just done al the above and cannot find it, maybe there is extra software that comes with the EK.


Rob

OK, I've had some progress.

If you download the demo code for the EK

www.atmel.com/Images/sam3x_ek_demo_1.0_sources.zip

There is a fonts folder here

\sam3x_ek_bertos_http_demo_1.0_sources\sam3x_ek_bertos_http_demo\bertos\fonts

with several fonts, the following is a 6x8 font (some cut to fit the post limit)

/**
 static const PROGMEM uint8_t default_font_glyphs[256 * 6] =
{
/* 0x00 */
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*   */
	0x3E, 0x45, 0x51, 0x45, 0x3E, 0x00, /*   */
	0x3E, 0x7B, 0x6F, 0x7B, 0x3E, 0x00, /*   */
	0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, /*   */
	0x08, 0x1C, 0x3E, 0x1C, 0x08, 0x00, /*   */
	0x18, 0x5A, 0x67, 0x5A, 0x18, 0x00, /*   */
	0x0C, 0x5E, 0x6F, 0x5E, 0x0C, 0x00, /*   */
	0x08, 0x1C, 0x3E, 0x1C, 0x08, 0x00, /*   */
/* 0x08 */
	0x77, 0x63, 0x41, 0x63, 0x77, 0x00, /*   */
	0x18, 0x3C, 0x66, 0x3C, 0x18, 0x00, /*   */
	0x77, 0x63, 0x41, 0x63, 0x77, 0x00, /*   */
	0x20, 0x50, 0x5A, 0x56, 0x2E, 0x00, /*   */
	0x06, 0x29, 0x79, 0x29, 0x06, 0x00, /*   */
	0x60, 0x60, 0x7F, 0x05, 0x07, 0x00, /*   */
	0x18, 0x1F, 0x01, 0x61, 0x7F, 0x00, /*   */
	0x15, 0x0E, 0x1B, 0x0E, 0x15, 0x00, /*   */
/* 0x10 */
	0x00, 0x08, 0x1C, 0x3E, 0x08, 0x08, /*   */
	0x7F, 0x3E, 0x1C, 0x08, 0x00, 0x00, /*   */
	0x14, 0x36, 0x7F, 0x36, 0x14, 0x00, /*   */
	0x00, 0x5F, 0x00, 0x5F, 0x00, 0x00, /*   */
	0x02, 0x05, 0x7F, 0x01, 0x7F, 0x00, /*   */
	0x20, 0x4A, 0x55, 0x29, 0x02, 0x00, /*   */
	0x60, 0x60, 0x60, 0x60, 0x60, 0x00, /*   */
	0x54, 0x76, 0x7F, 0x76, 0x54, 0x00, /*   */

snip

	0x30, 0x48, 0x45, 0x40, 0x20, 0x00, /* ¨ */
	0x00, 0x38, 0x08, 0x08, 0x08, 0x00, /* © */
	0x00, 0x08, 0x08, 0x08, 0x38, 0x00, /* ª */
	0x0B, 0x04, 0x6A, 0x55, 0x48, 0x00, /* « */
	0x0B, 0x24, 0x32, 0x79, 0x20, 0x00, /* ¬ */
	0x00, 0x00, 0x79, 0x00, 0x00, 0x00, /* ­ */
	0x08, 0x14, 0x2A, 0x14, 0x22, 0x00, /* ® */
	0x22, 0x14, 0x2A, 0x14, 0x08, 0x00, /* ¯ */
/* 0xb0 */
	0x2A, 0x55, 0x00, 0x2A, 0x55, 0x00, /* ° */
	0x2A, 0x55, 0x2A, 0x55, 0x2A, 0x55, /* ± */
	0x55, 0x2A, 0x7F, 0x55, 0x2A, 0x7F, /* ² */
	0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, /* ³ */
	0x08, 0x08, 0xFF, 0x00, 0x00, 0x00, /* ´ */
	0x14, 0x14, 0xFF, 0x00, 0x00, 0x00, /* µ */
	0x08, 0xFF, 0x00, 0xFF, 0x00, 0x00, /* ¶ */
	0x08, 0xF8, 0x08, 0xF8, 0x00, 0x00, /* · */
/* 0xb8 */
	0x14, 0x14, 0xFC, 0x00, 0x00, 0x00, /* ¸ */
	0x14, 0xF7, 0x00, 0xFF, 0x00, 0x00, /* ¹ */
	0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, /* º */
	0x14, 0xF4, 0x04, 0xFC, 0x00, 0x00, /* » */
	0x14, 0x17, 0x10, 0x1F, 0x00, 0x00, /* ¼ */
	0x08, 0x0F, 0x08, 0x0F, 0x00, 0x00, /* ½ */
	0x14, 0x14, 0x1F, 0x00, 0x00, 0x00, /* ¾ */
	0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, /* ¿ */
/* 0xc0 */
	0x00, 0x00, 0x0F, 0x08, 0x08, 0x08, /* À */
	0x08, 0x08, 0x0F, 0x08, 0x08, 0x08, /* Á */
	0x08, 0x08, 0xF8, 0x08, 0x08, 0x08, /* Â */
	0x00, 0x00, 0xFF, 0x08, 0x08, 0x08, /* Ã */
	0x08, 0x08, 0x08, 0x08, 0x08, 0x08, /* Ä */
	0x08, 0x08, 0xFF, 0x08, 0x08, 0x08, /* Å */
	0x00, 0x00, 0xFF, 0x14, 0x14, 0x14, /* Æ */
	0x00, 0xFF, 0x00, 0xFF, 0x08, 0x08, /* Ç */
/* 0xc8 */
	0x00, 0x1F, 0x10, 0x17, 0x14, 0x14, /* È */
	0x00, 0xFC, 0x04, 0xF4, 0x14, 0x14, /* É */
	0x28, 0x2F, 0x20, 0x2F, 0x28, 0x28, /* Ê */
	0x14, 0xF4, 0x04, 0xF4, 0x14, 0x14, /* Ë */
	0x00, 0xFF, 0x00, 0xF7, 0x14, 0x14, /* Ì */
	0x14, 0x14, 0x14, 0x14, 0x14, 0x14, /* Í */
	0x14, 0xF7, 0x00, 0xF7, 0x14, 0x14, /* Î */
	0x14, 0x14, 0xF7, 0x14, 0x14, 0x14, /* Ï */
/* 0xd0 */
	0x08, 0x0F, 0x08, 0x0F, 0x08, 0x08, /* Ð */
	0x14, 0x14, 0xF4, 0x14, 0x14, 0x14, /* Ñ */
	0x08, 0x08, 0xF8, 0x08, 0x08, 0x08, /* Ò */
	0x08, 0x0F, 0x08, 0x0F, 0x08, 0x08, /* Ó */
	0x00, 0x00, 0x1F, 0x14, 0x14, 0x14, /* Ô */
	0x00, 0x00, 0xFC, 0x14, 0x14, 0x14, /* Õ */
	0x00, 0xF8, 0x08, 0xF8, 0x08, 0x08, /* Ö */
	0x08, 0xFF, 0x08, 0xFF, 0x08, 0x08, /* × */
/* 0xd8 */
	0x14, 0x14, 0xFF, 0x14, 0x14, 0x14, /* Ø */
	0x08, 0x08, 0x0F, 0x00, 0x00, 0x00, /* Ù */
	0x00, 0x00, 0xF8, 0x08, 0x08, 0x08, /* Ú */
	0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, /* Û */
	0x70, 0x70, 0x70, 0x70, 0x70, 0x00, /* Ü */
	0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x00, /* Ý */
	0x00, 0x00, 0x00, 0x7F, 0x7F, 0x00, /* Þ */
	0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x00, /* ß */
/* 0xe0 */
	0x30, 0x48, 0x48, 0x30, 0x48, 0x00, /* à */
	0x7E, 0x11, 0x25, 0x25, 0x1A, 0x00, /* á */
	0x7E, 0x02, 0x02, 0x02, 0x06, 0x00, /* â */
	0x04, 0x7C, 0x04, 0x7C, 0x04, 0x00, /* ã */
	0x41, 0x63, 0x55, 0x49, 0x63, 0x00, /* ä */
	0x3C, 0x42, 0x4A, 0x4A, 0x31, 0x00, /* å */
	0x40, 0x7C, 0x20, 0x20, 0x1C, 0x00, /* æ */
	0x08, 0x04, 0x7C, 0x08, 0x04, 0x00, /* ç */
/* 0xe8 */
	0x49, 0x55, 0x77, 0x55, 0x49, 0x00, /* è */
	0x1C, 0x2A, 0x49, 0x2A, 0x1C, 0x00, /* é */
	0x4C, 0x72, 0x02, 0x72, 0x4C, 0x00, /* ê */
	0x30, 0x4A, 0x45, 0x49, 0x31, 0x00, /* ë */
	0x18, 0x24, 0x18, 0x24, 0x18, 0x00, /* ì */
	0x5C, 0x72, 0x2A, 0x27, 0x1D, 0x00, /* í */
	0x1C, 0x2A, 0x49, 0x49, 0x00, 0x00, /* î */
	0x7E, 0x01, 0x01, 0x01, 0x7E, 0x00, /* ï */
/* 0xf0 */
	0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x00, /* ð */
	0x24, 0x24, 0x2E, 0x24, 0x24, 0x00, /* ñ */
	0x40, 0x51, 0x4A, 0x44, 0x00, 0x00, /* ò */
	0x44, 0x4A, 0x51, 0x40, 0x00, 0x00, /* ó */
	0x00, 0x00, 0xFE, 0x01, 0x02, 0x00, /* ô */
	0x20, 0x40, 0x3F, 0x00, 0x00, 0x00, /* õ */
	0x08, 0x08, 0x2A, 0x08, 0x08, 0x00, /* ö */
	0x24, 0x12, 0x24, 0x12, 0x00, 0x00, /* ÷ */
/* 0xf8 */
	0x06, 0x09, 0x09, 0x09, 0x06, 0x00, /* ø */
	0x00, 0x18, 0x18, 0x00, 0x00, 0x00, /* ù */
	0x00, 0x10, 0x10, 0x00, 0x00, 0x00, /* ú */
	0x10, 0x30, 0x7F, 0x01, 0x01, 0x00, /* û */
	0x01, 0x0E, 0x01, 0x01, 0x0E, 0x00, /* ü */
	0x0A, 0x09, 0x0D, 0x0A, 0x00, 0x00, /* ý */
	0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x00, /* þ */
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00  /* ÿ */
};

Rob