FabGL
ESP32 VGA Controller and Graphics Library
fabglconf.h File Reference

This file contains FabGL library configuration settings, like number of supported colors, maximum usable memory, terminal fonts, etc... More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FABGLIB_CACHE_FONT_IN_RAM   0
 
#define FABGLIB_CHARS_CONSUMER_TASK_PRIORITY   5
 
#define FABGLIB_CHARS_CONSUMER_TASK_STACK_SIZE   2048
 
#define FABGLIB_DEFAULT_BLINK_PERIOD_MS   500
 
#define FABGLIB_EMBEDS_ADDITIONAL_FONTS   0
 
#define FABGLIB_EXEC_QUEUE_SIZE   1024
 
#define FABGLIB_HAS_VirtualKeyO_STRING   1
 
#define FABGLIB_KEYBOARD_READER_TASK_PRIORITY   5
 
#define FABGLIB_KEYBOARD_READER_TASK_STACK_SIZE   2048
 
#define FABGLIB_KEYBOARD_VIRTUALKEY_QUEUE_SIZE   32
 
#define FABGLIB_MAX_CSI_PARAMS   12
 
#define FABGLIB_MAX_DCS_CONTENT   12
 
#define FABGLIB_MOUSE_EVENTS_QUEUE_SIZE   64
 
#define FABGLIB_SCODETOVK_TASK_PRIORITY   5
 
#define FABGLIB_SCODETOVK_TASK_STACK_SIZE   800
 
#define FABGLIB_TERMINAL_INPUT_QUEUE_SIZE   1024
 
#define FABGLIB_TERMINAL_OUTPUT_QUEUE_SIZE   32
 
#define FABGLIB_UNDERLINE_POSITION   0
 
#define FABGLIB_USE_APLL_AB_COEF   0
 
#define FABGLIB_VIEWPORT_MEMORY_POOL_COUNT   10
 
#define FABGLIB_XTAL   40000000
 
#define PAL_720x576_50Hz   "\"720x576@50Hz\" 27 720 732 795 864 576 581 586 625 -HSync -VSync"
 
#define QVGA_320x240_60Hz   "\"320x240@60Hz\" 12.6 320 328 376 400 240 245 246 262 -HSync -VSync DoubleScan"
 
#define SVGA_800x300_60Hz   "\"800x300@60Hz\" 40 800 840 968 1056 300 301 303 314 -HSync -VSync DoubleScan"
 
#define SVGA_800x600_56Hz   "\"800x600@56Hz\" 36 800 824 896 1024 600 601 603 625 -HSync -VSync"
 
#define SVGA_800x600_60Hz   "\"800x600@60Hz\" 40 800 840 968 1056 600 601 605 628 -HSync -VSync"
 
#define VESA_640x350_85Hz   "\"640x350@85Hz\" 31.5 640 672 736 832 350 382 385 445 -HSync -VSync"
 
#define VESA_640x480_75Hz   "\"640x480@75Hz\" 31.5 640 656 720 840 480 481 484 500 -HSync -VSync"
 
#define VESA_720x400_85Hz   "\"720x400@85Hz\" 35.5 720 756 828 936 400 401 404 446 -HSync -VSync"
 
#define VESA_768x576_60Hz   "\"768x576@60Hz\" 34.96 768 792 872 976 576 577 580 597 -HSync -VSync"
 
#define VGA_256x192_50Hz   "\"256x192@50\" 8.13 256 288 296 328 192 196 198 202 -HSync -VSync DoubleScan"
 
#define VGA_320x200_75Hz   "\"320x200@75Hz\" 12.93 320 352 376 408 200 208 211 229 -HSync -VSync DoubleScan"
 
#define VGA_320x200_75HzRetro   "\"320x200@75Hz\" 12.93 320 352 376 408 200 208 211 229 -HSync -VSync DoubleScan MultiScanBlank"
 
#define VGA_400x300_60Hz   "\"400x300@60Hz\" 20 400 420 484 528 300 300 302 314 -HSync -VSync DoubleScan"
 
#define VGA_480x300_75Hz   "\"480x300@75Hz\" 31.22 480 504 584 624 300 319 322 333 -HSync -VSync DoubleScan"
 
#define VGA_512x384_60Hz   "\"512x384@60Hz\" 32.5 512 524 592 672 384 385 388 403 -HSync -VSync DoubleScan"
 
#define VGA_512x448_60Hz   "\"512x448@60Hz\" 21.21 512 542 598 672 448 469 472 527 -HSync -VSync"
 
#define VGA_512x512_58Hz   "\"512x512@58Hz\" 21.21 512 538 594 668 512 513 516 545 -HSync -VSync"
 
#define VGA_640x200_70Hz   "\"640x200@70Hz\" 25.175 640 663 759 808 200 208 211 226 -HSync -VSync DoubleScan"
 
#define VGA_640x200_70HzRetro   "\"640x200@70Hz\" 25.175 640 663 759 808 200 208 211 226 -HSync -VSync DoubleScan MultiScanBlank"
 
#define VGA_640x240_60Hz   "\"640x240@60Hz\" 25.175 640 656 752 800 240 245 247 262 -HSync -VSync DoubleScan"
 
#define VGA_640x350_70Hz   "\"640x350@70Hz\" 25.175 640 656 752 800 350 387 389 449 -HSync -VSync"
 
#define VGA_640x350_70HzAlt1   "\"640x350@70HzAlt1\" 25.175 640 658 754 808 350 387 389 449 -HSync -VSync"
 
#define VGA_640x382_60Hz   "\"640x382@60Hz\" 40 640 672 740 840 382 385 387 397 -HSync +VSync DoubleScan"
 
#define VGA_640x384_60Hz   "\"640x384@60Hz\" 40 640 672 740 840 384 384 386 397 -HSync +VSync DoubleScan"
 
#define VGA_640x400_70Hz   "\"640x400@70Hz\" 25.175 640 656 752 800 400 412 414 449 -HSync -VSync"
 
#define VGA_640x480_60Hz   "\"640x480@60Hz\" 25.175 640 656 752 800 480 490 492 525 -HSync -VSync"
 
#define VGA_640x480_60HzAlt1   "\"640x480@60HzAlt1\" 27.5 640 672 768 864 480 482 488 530 -HSync -VSync"
 
#define VGA_640x480_60HzD   "\"640x480@60HzD\" 54.00 640 688 744 900 480 480 482 500 +HSync +VSync DoubleScan"
 
#define VGA_640x480_73Hz   "\"640x480@73Hz\" 31.5 640 664 704 832 480 489 491 520 -HSync -VSync"
 

Detailed Description

This file contains FabGL library configuration settings, like number of supported colors, maximum usable memory, terminal fonts, etc...

Macro Definition Documentation

◆ FABGLIB_CACHE_FONT_IN_RAM

#define FABGLIB_CACHE_FONT_IN_RAM   0

Optional feature. If enabled terminal fonts are cached in RAM for better performance.

◆ FABGLIB_CHARS_CONSUMER_TASK_PRIORITY

#define FABGLIB_CHARS_CONSUMER_TASK_PRIORITY   5

Priority of the task that processes Terminal input stream.

◆ FABGLIB_CHARS_CONSUMER_TASK_STACK_SIZE

#define FABGLIB_CHARS_CONSUMER_TASK_STACK_SIZE   2048

Stack size of the task that processes Terminal input stream.

◆ FABGLIB_DEFAULT_BLINK_PERIOD_MS

#define FABGLIB_DEFAULT_BLINK_PERIOD_MS   500

Blink (cursor, text blink, ...) period in ms.

◆ FABGLIB_EMBEDS_ADDITIONAL_FONTS

#define FABGLIB_EMBEDS_ADDITIONAL_FONTS   0

Embeds additional fonts

◆ FABGLIB_EXEC_QUEUE_SIZE

#define FABGLIB_EXEC_QUEUE_SIZE   1024

Size of VGA controller primitives queue.

◆ FABGLIB_HAS_VirtualKeyO_STRING

#define FABGLIB_HAS_VirtualKeyO_STRING   1

Optional feature. Enables KeyboardClass.virtualKeyToString() method

◆ FABGLIB_KEYBOARD_READER_TASK_PRIORITY

#define FABGLIB_KEYBOARD_READER_TASK_PRIORITY   5

Priority of the task that reads keys from keyboard and send ANSI/VT codes to output stream in TerminalClass

◆ FABGLIB_KEYBOARD_READER_TASK_STACK_SIZE

#define FABGLIB_KEYBOARD_READER_TASK_STACK_SIZE   2048

Stack size of the task that reads keys from keyboard and send ANSI/VT codes to output stream in TerminalClass

◆ FABGLIB_KEYBOARD_VIRTUALKEY_QUEUE_SIZE

#define FABGLIB_KEYBOARD_VIRTUALKEY_QUEUE_SIZE   32

Size of virtualkey queue

◆ FABGLIB_MAX_CSI_PARAMS

#define FABGLIB_MAX_CSI_PARAMS   12

Maximum number of allowed parameters in CSI escape sequence.

◆ FABGLIB_MAX_DCS_CONTENT

#define FABGLIB_MAX_DCS_CONTENT   12

Maximum chars in DCS escape sequence.

◆ FABGLIB_MOUSE_EVENTS_QUEUE_SIZE

#define FABGLIB_MOUSE_EVENTS_QUEUE_SIZE   64

Size of mouse events queue

◆ FABGLIB_SCODETOVK_TASK_PRIORITY

#define FABGLIB_SCODETOVK_TASK_PRIORITY   5

Priority of the task that converts scancodes to virtualkeys KeyboardClass

◆ FABGLIB_SCODETOVK_TASK_STACK_SIZE

#define FABGLIB_SCODETOVK_TASK_STACK_SIZE   800

Stack size of the task that converts scancodes to virtualkeys KeyboardClass

◆ FABGLIB_TERMINAL_INPUT_QUEUE_SIZE

#define FABGLIB_TERMINAL_INPUT_QUEUE_SIZE   1024

Number of characters the terminal can "write" without pause (increase if you have loss of characters in serial port).

◆ FABGLIB_TERMINAL_OUTPUT_QUEUE_SIZE

#define FABGLIB_TERMINAL_OUTPUT_QUEUE_SIZE   32

Number of characters the terminal can store from keyboard.

◆ FABGLIB_UNDERLINE_POSITION

#define FABGLIB_UNDERLINE_POSITION   0

Defines the underline position starting from character bottom (0 = bottom of the character).

◆ FABGLIB_USE_APLL_AB_COEF

#define FABGLIB_USE_APLL_AB_COEF   0

Optional feature. Use b/a coeff to fine tune frequency. Unfortunately output is not very stable when enabled!

◆ FABGLIB_VIEWPORT_MEMORY_POOL_COUNT

#define FABGLIB_VIEWPORT_MEMORY_POOL_COUNT   10

To reduce memory overhead the viewport is allocated as few big buffers. This parameter defines the maximum number of these big buffers.

◆ FABGLIB_XTAL

#define FABGLIB_XTAL   40000000

Defines ESP32 XTAL frequency in Hz.

◆ PAL_720x576_50Hz

#define PAL_720x576_50Hz   "\"720x576@50Hz\" 27 720 732 795 864 576 581 586 625 -HSync -VSync"

Modeline for 720x576@50Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ QVGA_320x240_60Hz

#define QVGA_320x240_60Hz   "\"320x240@60Hz\" 12.6 320 328 376 400 240 245 246 262 -HSync -VSync DoubleScan"

Modeline for 320x240@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ SVGA_800x300_60Hz

#define SVGA_800x300_60Hz   "\"800x300@60Hz\" 40 800 840 968 1056 300 301 303 314 -HSync -VSync DoubleScan"

Modeline for 800x300@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ SVGA_800x600_56Hz

#define SVGA_800x600_56Hz   "\"800x600@56Hz\" 36 800 824 896 1024 600 601 603 625 -HSync -VSync"

Modeline for 800x600@56Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ SVGA_800x600_60Hz

#define SVGA_800x600_60Hz   "\"800x600@60Hz\" 40 800 840 968 1056 600 601 605 628 -HSync -VSync"

Modeline for 800x600@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VESA_640x350_85Hz

#define VESA_640x350_85Hz   "\"640x350@85Hz\" 31.5 640 672 736 832 350 382 385 445 -HSync -VSync"

Modeline for 640x350@85Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VESA_640x480_75Hz

#define VESA_640x480_75Hz   "\"640x480@75Hz\" 31.5 640 656 720 840 480 481 484 500 -HSync -VSync"

Modeline for 640x480@75Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VESA_720x400_85Hz

#define VESA_720x400_85Hz   "\"720x400@85Hz\" 35.5 720 756 828 936 400 401 404 446 -HSync -VSync"

Modeline for 720x400@85Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VESA_768x576_60Hz

#define VESA_768x576_60Hz   "\"768x576@60Hz\" 34.96 768 792 872 976 576 577 580 597 -HSync -VSync"

Modeline for 768x576@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_256x192_50Hz

#define VGA_256x192_50Hz   "\"256x192@50\" 8.13 256 288 296 328 192 196 198 202 -HSync -VSync DoubleScan"

Modeline for 256x192@50Hz resolution - requires an upscaler

◆ VGA_320x200_75Hz

#define VGA_320x200_75Hz   "\"320x200@75Hz\" 12.93 320 352 376 408 200 208 211 229 -HSync -VSync DoubleScan"

◆ VGA_320x200_75HzRetro

#define VGA_320x200_75HzRetro   "\"320x200@75Hz\" 12.93 320 352 376 408 200 208 211 229 -HSync -VSync DoubleScan MultiScanBlank"

Modeline for 320x200@75Hz retro resolution

◆ VGA_400x300_60Hz

#define VGA_400x300_60Hz   "\"400x300@60Hz\" 20 400 420 484 528 300 300 302 314 -HSync -VSync DoubleScan"

Modeline for 400x300@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_480x300_75Hz

#define VGA_480x300_75Hz   "\"480x300@75Hz\" 31.22 480 504 584 624 300 319 322 333 -HSync -VSync DoubleScan"

Modeline for 480x300@75Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_512x384_60Hz

#define VGA_512x384_60Hz   "\"512x384@60Hz\" 32.5 512 524 592 672 384 385 388 403 -HSync -VSync DoubleScan"

Modeline for 512x384@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_512x448_60Hz

#define VGA_512x448_60Hz   "\"512x448@60Hz\" 21.21 512 542 598 672 448 469 472 527 -HSync -VSync"

Modeline for 512x448@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_512x512_58Hz

#define VGA_512x512_58Hz   "\"512x512@58Hz\" 21.21 512 538 594 668 512 513 516 545 -HSync -VSync"

Modeline for 512x512@58Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x200_70Hz

#define VGA_640x200_70Hz   "\"640x200@70Hz\" 25.175 640 663 759 808 200 208 211 226 -HSync -VSync DoubleScan"

◆ VGA_640x200_70HzRetro

#define VGA_640x200_70HzRetro   "\"640x200@70Hz\" 25.175 640 663 759 808 200 208 211 226 -HSync -VSync DoubleScan MultiScanBlank"

Modeline for 640x200@70Hz retro resolution

Examples:
Altair8800/Altair8800.ino.

◆ VGA_640x240_60Hz

#define VGA_640x240_60Hz   "\"640x240@60Hz\" 25.175 640 656 752 800 240 245 247 262 -HSync -VSync DoubleScan"

Modeline for 640x240@60Hz (DoubleScan) resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x350_70Hz

#define VGA_640x350_70Hz   "\"640x350@70Hz\" 25.175 640 656 752 800 350 387 389 449 -HSync -VSync"

Modeline for 640x350@70Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x350_70HzAlt1

#define VGA_640x350_70HzAlt1   "\"640x350@70HzAlt1\" 25.175 640 658 754 808 350 387 389 449 -HSync -VSync"

◆ VGA_640x382_60Hz

#define VGA_640x382_60Hz   "\"640x382@60Hz\" 40 640 672 740 840 382 385 387 397 -HSync +VSync DoubleScan"

Modeline for 640x382@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x384_60Hz

#define VGA_640x384_60Hz   "\"640x384@60Hz\" 40 640 672 740 840 384 384 386 397 -HSync +VSync DoubleScan"

Modeline for 640x384@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x400_70Hz

#define VGA_640x400_70Hz   "\"640x400@70Hz\" 25.175 640 656 752 800 400 412 414 449 -HSync -VSync"

Modeline for 640x400@70Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x480_60Hz

#define VGA_640x480_60Hz   "\"640x480@60Hz\" 25.175 640 656 752 800 480 490 492 525 -HSync -VSync"

Modeline for 640x480@60Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x480_60HzAlt1

#define VGA_640x480_60HzAlt1   "\"640x480@60HzAlt1\" 27.5 640 672 768 864 480 482 488 530 -HSync -VSync"

Modeline for 640x480@60HzAlt1 resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x480_60HzD

#define VGA_640x480_60HzD   "\"640x480@60HzD\" 54.00 640 688 744 900 480 480 482 500 +HSync +VSync DoubleScan"

Modeline for 640x480@60Hz doublescan resolution

Examples:
ModelineStudio/ModelineStudio.ino.

◆ VGA_640x480_73Hz

#define VGA_640x480_73Hz   "\"640x480@73Hz\" 31.5 640 664 704 832 480 489 491 520 -HSync -VSync"

Modeline for 640x480@73Hz resolution

Examples:
ModelineStudio/ModelineStudio.ino.