📄 tlgcustomize.c
字号:
#include "tlgConfig.h"
#if TLG_CHIP_TYPE == TLG_CHIP_TYPE_TLG1100_1
#include "tlg1100Hal.h"
#include "tlg1100Api.h"
#include "tlg1100App.h"
#include "tlgi2c.h"
#elif TLG_CHIP_TYPE == TLG_CHIP_TYPE_TLG1150_1
#include "tlg1150Hal.h"
#include "tlg1150Api.h"
#include "tlg1150App.h"
#include "tlgi2c.h"
#elif TLG_CHIP_TYPE == TLG_CHIP_TYPE_TLG1155_1
#include "tlg1155Hal.h"
#include "tlg1155Api.h"
#include "tlg1155App.h"
#include "tlgi2c.h"
#endif
/*****************************************************************************
* TLGAPP_ScanChanFound
* BEGIN CUSTOM SECTION: This procedure is called when TLGAPP_ScanChannels()
* has found a new channel.
* It may be customized for a given build.
*****************************************************************************/
TLGDLL_API void TLGAPP_ScanChanFound(int chn)
{
/** BEGIN CUSTOM SECTION: Provide actions to be performed when a channel
** has been found. **/
}
/*****************************************************************************
* TLG_ClearRegShadow
*
*
*
*
*****************************************************************************/
TLGDLL_API int TLG_ClearRegShadow(uint32 base_addr)
{
#ifdef TLG_USE_SHADOW_REGISTERS
int i;
for (i=0; i < TLG_MAX_REG_ADDR; i++)
_TLG_shadow_reg_use[i] = TLG_OFF;
#endif /* TLG_USE_SHADOW_REGISTERS */
return TLG_ERR_SUCCESS;
}
/*****************************************************************************
* TLG_ReadReg
*
*
*
*
*****************************************************************************/
TLGDLL_API int TLG_ReadReg(uint32 base_addr, uint32 reg_addr, uint16 *val)
{
TLG_NULLPTR_CHECK(val);
TLG_BOUNDS_CHECK(reg_addr, TLG_MAX_REG_ADDR);
#ifdef TLG_USE_SHADOW_REGISTERS
if (_TLG_shadow_reg_use[reg_addr] == TLG_ON)
{
*val = _TLG_shadow_reg[reg_addr];
TLG_REG_LOG((b, "READ(Cache) 0x%04x = 0x%04x\n", reg_addr, *val));
} else
#endif /* TLG_USE_SHADOW_REGISTERS */
TLG_ReadRegNS(base_addr, reg_addr, val);
return(TLG_ERR_SUCCESS);
}
/*****************************************************************************
* TLG_ReadRegNS
*
*
*
*
*****************************************************************************/
TLGDLL_API int TLG_ReadRegNS(uint32 base_addr, uint32 reg_addr, uint16 *val)
{
TLG_NULLPTR_CHECK(val);
TLG_BOUNDS_CHECK(reg_addr, TLG_MAX_REG_ADDR);
TLGI2C_ReadReg(base_addr, reg_addr, val);
#ifdef TLG_USE_SHADOW_REGISTERS
_TLG_shadow_reg[reg_addr] = *val;
_TLG_shadow_reg_use[reg_addr] = TLG_ON;
#endif /* TLG_USE_SHADOW_REGISTERS */
TLG_REG_LOG((b, "READ 0x%04x = 0x%04x\n", reg_addr, *val));
return(TLG_ERR_SUCCESS);
}
/*****************************************************************************
* TLG_WriteReg
*
*
*
*
*****************************************************************************/
TLGDLL_API int TLG_WriteReg(uint32 base_addr, uint32 reg_addr, uint16 val)
{
TLG_BOUNDS_CHECK(reg_addr, TLG_MAX_REG_ADDR);
TLGI2C_WriteReg(base_addr, reg_addr, val);
#ifdef TLG_USE_SHADOW_REGISTERS
_TLG_shadow_reg[reg_addr] = val;
_TLG_shadow_reg_use[reg_addr] = TLG_ON;
#endif /* TLG_USE_SHADOW_REGISTERS */
TLG_REG_LOG((b, "WRITE 0x%04x = 0x%04x\n", reg_addr, val));
return(TLG_ERR_SUCCESS);
}
/*****************************************************************************
* TLG_BurstWrite
*
*
*
*
*****************************************************************************/
TLGDLL_API int TLG_BurstWrite(uint32 base_addr, uint32 start_addr, int len, uint16 *val)
{
TLG_NULLPTR_CHECK(val);
TLG_BOUNDS_CHECK(start_addr, TLG_MAX_REG_ADDR);
TLG_BOUNDS_CHECK(start_addr+len-1, TLG_MAX_REG_ADDR);
TLGI2C_WriteBurst(base_addr, start_addr, len, val);
#ifdef TLG_USE_SHADOW_REGISTERS
{
int i;
for (i = 0; i < len; i++)
{
_TLG_shadow_reg[start_addr+i] = val[i];
_TLG_shadow_reg_use[start_addr+i] = TLG_ON;
}
}
#endif /* TLG_USE_SHADOW_REGISTERS */
#ifdef TLG_DO_REG_LOGGING
{
int i;
for (i = 0; i < len; i++)
{
TLG_REG_LOG((b, "WRITE 0x%04x = 0x%04x\n", start_addr+i, val[i]));
}
}
#endif /* TLG_DO_REG_LOGGING */
return(TLG_ERR_SUCCESS);
}
/*****************************************************************************
* TLG_BurstRead
*
*
*
*
*****************************************************************************/
TLGDLL_API int TLG_BurstRead(uint32 base_addr, uint32 start_addr, int len, uint16 *val)
{
TLG_NULLPTR_CHECK(val);
TLG_BOUNDS_CHECK(start_addr, TLG_MAX_REG_ADDR);
TLG_BOUNDS_CHECK(start_addr+len-1, TLG_MAX_REG_ADDR);
TLGI2C_ReadBurst(base_addr, start_addr, len, val);
#ifdef TLG_USE_SHADOW_REGISTERS
{
int i;
for (i = 0; i < len; i++)
{
_TLG_shadow_reg[start_addr+i] = val[i];
_TLG_shadow_reg_use[start_addr+i] = TLG_ON;
}
}
#endif /* TLG_USE_SHADOW_REGISTERS */
#ifdef TLG_DO_REG_LOGGING
{
int i;
for (i = 0; i < len; i++)
{
TLG_REG_LOG((b, "READ 0x%04x = 0x%04x\n", start_addr+i, val[i]));
}
}
#endif /* TLG_DO_REG_LOGGING */
return(TLG_ERR_SUCCESS);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -