گھر > خبریں > مواد

FT_Gpu_Hal.h

May 06, 2019

#ifndef FT_GPU_HAL_H

#define FT_GPU_HAL_H


ٹائپڈف اینوم {

FT_GPU_I2C_MODE = 0،

FT_GPU_SPI_MODE،


FT_GPU_MODE_COUNT،

FT_GPU_MODE_UNKNOWN = FT_GPU_MODE_COUNT

} FT_GPU_HAL_MODE_E؛


ٹائپڈف اینوم {

FT_GPU_HAL_OPENED،

FT_GPU_HAL_READING،

FT_GPU_HAL_WRITING،

FT_GPU_HAL_CLOSED،


FT_GPU_HAL_STATUS_COUNT،

FT_GPU_HAL_STATUS_ERROR = FT_GPU_HAL_STATUS_COUNT

} FT_GPU_HAL_STATUS_E؛


typedef struct {

یونین {

ft_uint8_t spi_cs_pin_no؛

ft_uint8_t i2c_addr؛

یونین {

ft_uint16_t spi_clockrate_khz؛ // میں KHZ

ft_uint16_t i2c_clockrate_khz؛ // میں KHZ

ft_uint8_t channel_no؛

} Ft_Gpu_Hal_Config_t؛


typedef struct {

ft_uint8_t محفوظ؛

} Ft_Gpu_App_Context_t؛


typedef struct {

/ * libmpsse کے لئے کل نمبر چینلز * /

ft_uint32_t TotalChannelNum؛

} Ft_Gpu_HalInit_t؛


ٹائپڈف اینوم {

FT_GPU_READ = 0،

FT_GPU_WITE،

} FT_GPU_TRANSFERDIR_T؛


typedef struct {

ft_uint32_t کی لمبائی؛ //اندر اور باہر

ft_uint32_t پتہ؛

ft_uint8_t * بفر؛

} Ft_Gpu_App_Transfer_t؛


typedef struct {

Ft_Gpu_App_Context_t app_header؛

Ft_Gpu_Hal_Config_t hal_config؛


ft_uint16_t ft_cmd_fifo_wp؛ // کاپیروسرسر پچو پوائنٹر لکھتے ہیں

ft_uint16_t ft_dl_buff_wp؛ // ڈسپلے کمانڈ میموری لکھ پوائنٹر


FT_GPU_HAL_STATUS_E حیثیت؛ // باہر

ft_void_t * hal_handle؛ // اندر / باہر

} Ft_Gpu_Hal_Context_t؛


/ * بنیادی APIs کی سطح 1 * /

ft_bool_t Ft_Gpu_Hal_Init (Ft_Gpu_HalInit_t * halinit)؛

ft_bool_t Ft_Gpu_Hal_Open (Ft_Gpu_Hal_Context_t * میزبان)؛


/ * صرف چھوٹے بفر کے نظام کے ساتھ مسلسل مسلسل پڑھنے / تحریری لکھنے کے لئے API * /

ft_void_t Ft_Gpu_Hal_StartTransfer (Ft_Gpu_Hal_Context_t * میزبان، FT_GPU_TRANSFERDIR_T RW، ft_uint32_t addr)؛

ft_uint8_t Ft_Gpu_Hal_Transfer8 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint8_t قدر)؛

ft_uint16_t Ft_Gpu_Hal_Transfer16 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint16_t قدر)؛

ft_uint32_t Ft_Gpu_Hal_Transfer32 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t قدر)؛

ft_void_t Ft_Gpu_Hal_EndTransfer (Ft_Gpu_Hal_Context_t * میزبان)؛


/ * دونوں پھٹ اور واحد منتقلی کے لئے APIs پڑھیں اور لکھیں، بفر سائز پر منحصر ہے * /

ft_void_t Ft_Gpu_Hal_Read (Ft_Gpu_Hal_Context_t * میزبان، Ft_Gpu_App_Transfer_t * منتقلی)؛

ft_void_t Ft_Gpu_Hal_Write (Ft_Gpu_Hal_Context_t * میزبان، Ft_Gpu_App_Transfer_t * منتقلی)؛


ft_void_t Ft_Gpu_Hal_Close (Ft_Gpu_Hal_Context_t * میزبان)؛

ft_void_t Ft_Gpu_Hal_DeInit ()؛


/ * مددگار تقریب APIs پڑھیں * /

ft_uint8_t Ft_Gpu_Hal_Rd8 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr)؛

ft_uint16_t Ft_Gpu_Hal_Rd16 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr)؛

ft_uint32_t Ft_Gpu_Hal_Rd32 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr)؛


/ * مددگار تقریب APIs لکھیں * /

ft_void_t Ft_Gpu_Hal_Wr8 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr، ft_uint8_t v)؛

ft_void_t Ft_Gpu_Hal_Wr16 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr، ft_uint16_t v)؛

ft_void_t Ft_Gpu_Hal_Wr32 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr، ft_uint32_t v)؛


/ ************************************************* ****************************** /

/ ************************************************* ****************************** /

/ * Coprocessor Fifo پڑھنے / لکھنے اور خلائی انتظام کے لئے API * /

ft_void_t Ft_Gpu_Hal_Updatecmdfifo (Ft_Gpu_Hal_Context_t * میزبان، ft_uint16_t شمار)؛

ft_void_t Ft_Gpu_Hal_WrCmd32 (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t cmd)؛

ft_void_t Ft_Gpu_Hal_WrCmdBuf (Ft_Gpu_Hal_Context_t * میزبان، ft_uint8_t * بفر، ft_uint16_t شمار)؛

ft_void_t Ft_Gpu_Hal_WaitCmdfifo_empty (Ft_Gpu_Hal_Context_t * میزبان)؛

ft_void_t Ft_Gpu_Hal_ResetCmdFifo (Ft_Gpu_Hal_Context_t * میزبان)؛

ft_void_t Ft_Gpu_Hal_CheckCmdBuffer (Ft_Gpu_Hal_Context_t * میزبان، ft_uint16_t شمار)؛


ft_void_t Ft_Gpu_Hal_ResetDLBuffer (Ft_Gpu_Hal_Context_t * میزبان)؛


ft_void_t Ft_Gpu_Hal_StartCmdTransfer (Ft_Gpu_Hal_Context_t * میزبان، FT_GPU_TRANSFERDIR_T RW، ft_uint16_t شمار)؛


ft_void_t Ft_Gpu_Hal_Powercycle (Ft_Gpu_Hal_Context_t * میزبان، ft_bool_t)؛


/ ************************************************* ****************************** /

/ ************************************************* ****************************** /

/ * میزبان حکموں کے لئے API * /

ٹائپڈف اینوم {

FT_GPU_INTERNAL_OSC = 0x48، // ڈیفالٹ

FT_GPU_EXTERNAL_OSC = 0x44،

} FT_GPU_PLL_SOURCE_T؛

ٹائپڈف اینوم {

FT_GPU_PLL_48M = 0x62، // ڈیفالٹ

FT_GPU_PLL_36M = 0x61،

FT_GPU_PLL_24M = 0x64،

} FT_GPU_PLL_FREQ_T؛


ٹائپڈف اینوم {

FT_GPU_ACTIVE_M = 0x00،

FT_GPU_STANDBY_M = 0x41، // ڈیفالٹ

FT_GPU_SLEEP_M = 0x42،

FT_GPU_POWERDOWN_M = 0x50،

} FT_GPU_POWER_MODE_T؛


#define FT_GPU_CORE_RESET (0x68)


ft_int32_t hal_strlen (const ft_char8_t * s)؛

ft_void_t Ft_Gpu_Hal_Sleep (ft_uint16_t ms)؛

ft_void_t Ft_Gpu_Clock منتخب کریں (Ft_Gpu_Hal_Context_t * میزبان، FT_GPU_PLL_SOURCE_T پلگ ان)؛

ft_void_t Ft_Gpu_PLL_FreqSelect (Ft_Gpu_Hal_Context_t * میزبان، FT_GPU_PLL_FREQ_T فریق)؛

ft_void_t Ft_Gpu_PowerModeSwitch (Ft_Gpu_Hal_Context_t * میزبان، FT_GPU_POWER_MODE_T پیڈموڈ)؛

ft_void_t Ft_Gpu_CoreReset (Ft_Gpu_Hal_Context_t * میزبان)؛

ft_void_t Ft_Gpu_Hal_StartTransfer (Ft_Gpu_Hal_Context_t * میزبان، FT_GPU_TRANSFERDIR_T RW، ft_uint32_t addr)؛

ft_void_t Ft_Gpu_Hal_WrMem (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr، const ft_uint8_t * buffer، ft_uint32_t لمبائی)؛

ft_void_t Ft_Gpu_Hal_WrMemFromFlash (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr، const ft_prog_uchar8_t * buffer، ft_uint32_t لمبائی)؛

ft_void_t Ft_Gpu_Hal_WrCmdBufFromFlash (Ft_Gpu_Hal_Context_t * میزبان، FT_PROGMEM ft_prog_uchar8_t * بفر، ft_uint16_t شمار)؛

ft_void_t Ft_Gpu_Hal_RdMem (Ft_Gpu_Hal_Context_t * میزبان، ft_uint32_t addr، ft_uint8_t * بفر، ft_uint32_t لمبائی)؛

ft_void_t Ft_Gpu_Hal_WaitLogo_Finish (Ft_Gpu_Hal_Context_t * میزبان)؛

ft_uint8_t Ft_Gpu_Hal_TransferString (Ft_Gpu_Hal_Context_t * میزبان، const ft_char8_t * سٹرنگ)؛

ft_void_t Ft_Gpu_Host کمانڈ (Ft_Gpu_Hal_Context_t * میزبان، ft_uint8_t cmd)؛

ft_int32_t Ft_Gpu_Hal_Dec2Asici (ft_char8_t * pSrc، ft_int32_t قیمت)؛

ft_uint8_t Ft_Gpu_Hal_WaitCmdfifo_empty_status (Ft_Gpu_Hal_Context_t * میزبان)؛

ft_void_t Ft_Gpu_Hal_WrCmdBuf_nowait (Ft_Gpu_Hal_Context_t * میزبان، ft_uint8_t * بفر، ft_uint16_t شمار)؛

ft_uint16_t Ft_Gpu_Cmdfifo_Freespace (Ft_Gpu_Hal_Context_t * میزبان)؛

#endif / * FT_GPU_HAL_H * /