![]() |
tpg
Vitis Drivers API Documentation
|
This header file contains identifiers and register-level driver functions (or macros) that can be used to access the Xilinx Test Pattern Generator (TPG) core instance.The TPG core provides a wide variety of tests patterns enabling you to debug and assess video system color, quality, edge, and motion performance.
The Test Pattern Generator core produces the following patterns in RGB, YCbCr 444, or YCbCr 422 video format.
Initialization & Configuration
The device driver enables higher layer software (e.g., an application) to communicate to the TPG core.
XTpg_CfgInitialize() API is used to initialize the TPG core. The user needs to first call the XTpg_LookupConfig() API which returns the Configuration structure pointer which is passed as a parameter to the XTpg_CfgInitialize() API.
Interrupts
The driver provides an interrupt handler XTpg_IntrHandler for handling the interrupt from the TPG core. The users of this driver have to register this handler with the interrupt system and provide the callback functions by using XTpg_SetCallBack API.
Virtual Memory
This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.
Threads
This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.
Asserts
Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.
Building the driver
The XTpg driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.
MODIFICATION HISTORY:
Ver Who Date Changes
1.00a se 10/01/12 Initial creation. 2.0a se 02/12/14 Cleaned up comments, updated masks and registers. 2.0 adk 19/12/13 Updated as per the New Tcl API's. 3.0 adk 02/19/14 Changed the file name from "tpg.h" to "xtpg.h" Register offsets, TPG_In32, TPG_In32, TPG_ReadReg, TPG_WriteReg and bit definitions of tpg.h file were moved to xtpg_hw.h file.
Removed the following bit definitions : TPG_CTL_CS_MASK.
Defined the following handler types as enum values: XTPG_HANDLER_PROCSTART ,XTPG_HANDLER_FRAMEDONE and XTPG_HANDLER_ERROR. Defined the following enums: XTpg_BackgroundPattern, XTpg_ComponentMask and XTpg_BayerPhaseCombination.
Defined the following range macros XTPG_MOTION_SPEED_MIN, XTPG_MOTION_SPEED_MAX, XTPG_VSIZE_FIRST, XTPG_VSIZE_LAST, XTPG_HSIZE_FIRST, XTPG_HSIZE_LAST.
Added the following function macros: XTpg_Enable, XTpg_Disable, XTpg_Start, XTpg_Stop, XTpg_RegUpdateEnable, XTpg_RegUpdateDisable, XTpg_Reset, XTpg_SyncReset, XTpg_IntrEnable, XTpg_IntrDisable, XTpg_StatusGetPending, XTpg_IntrGetPending, XTpg_IntrClear.
Removed following function macros: TPG_Enable, TPG_Disable, TPG_RegUpdateEnable, TPG_RegUpdateDisable, TPG_Reset, TPG_FSyncReset TPG_ClearStatus, TPG_ClearReset. Added the following structures XTpg and XTpg_Config.
Implemented XTpg_LookupConfig in xtpg_sinit.c Implemented XTpg_SelfTest in xtpg_selftest.c Implemented XTpg_IntrHandler, XTpg_SetCallBack in xtpg_intr.c.
Added the register offsets and bit masks for the registers and added backward compatibility for macros.in xtpg_hw.h.
Modification history from xtpg.c file: Changed the file name form "tpg.c" to "xtpg.c". Implemented the following functions: XTpg_CfgInitialize, XTpg_Setup, XTpg_GetVersion, XTpg_SetActiveSize, XTpg_GetActiveSize, XTpg_SetBackground, XTpg_GetBackground, XTpg_EnableCrossHair, XTpg_DisableCrossHair, XTpg_EnableBox, XTpg_DisableBox, XTpg_SetComponentMask, XTpg_GetComponentMask, XTpg_EnableStuckPixel, XTpg_DisableStuckPixel, XTPg_EnableNoise, XTPg_DisableNoise, XTpg_EnableMotion, XTpg_DisableMotion, XTpg_SetMotionSpeed, XTpg_GetMotionSpeed, XTpg_SetCrosshairPosition, XTpg_GetCrosshairPosition, XTpg_SetZPlateHStart, XTpg_GetZPlateHStart, XTpg_SetZPlateHSpeed, XTpg_GetZPlateHSpeed, XTpg_SetZPlateVStart, XTpg_GetZPlateVStart, XTpg_SetZPlateVSpeed, XTpg_GetZPlateVSpeed, XTpg_SetBoxSize, XTpg_GetBoxSize, XTpg_SetBoxColor, XTpg_GetBoxColor, XTpg_SetStuckPixelThreshold, XTpg_GetStuckPixelThreshold, XTpg_SetNoiseGain, XTpg_GetNoiseGain, XTpg_SetBayerPhase, XTpg_GetBayerPhase, XTpg_SetPattern, XTpg_GetPattern. ms 03/17/17 Added readme.txt file in examples folder for doxygen generation. ms 04/10/17 Modified filename tag in examples to include them in doxygen examples. 3.1 ms 05/22/17 Updated the parameter naming from XPAR_TPG_NUM_INSTANCES to XPAR_XTPG_NUM_INSTANCES to avoid compilation failure as the tools are generating XPAR_XTPG_NUM_INSTANCES in the xtpg_g.c for fixing MISRA-C files.