📄 sad9882.c
字号:
byLogEvent(DEST_UART,0,&st_event_info1,"%d",u32_value);
}
return by_ret;
}
BYTE byAd9882GetRedOffset (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
BYTE by_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byReadSingleDataAd9882(AD9882_RED_OFFSET, &by_data);
*u32p_value=(WORD)by_data;
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetRedOffset");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetGreenOffset (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
BYTE by_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byReadSingleDataAd9882(AD9882_GREEN_OFFSET, &by_data);
*u32p_value=(WORD)by_data;
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetGreenOffset");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetBlueOffset (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
BYTE by_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byReadSingleDataAd9882(AD9882_BLUE_OFFSET, &by_data);
*u32p_value=(WORD)by_data;
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetBlueOffset");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetRedGain (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
BYTE by_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byReadSingleDataAd9882(AD9882_RED_GAIN, &by_data);
*u32p_value=(UWORD32)(by_data);
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetRedGain");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetGreenGain (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
BYTE by_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byReadSingleDataAd9882(AD9882_GREEN_GAIN, &by_data);
*u32p_value=(UWORD32)(by_data);
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetGreenGain");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetBlueGain (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
BYTE by_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byReadSingleDataAd9882(AD9882_BLUE_GAIN, &by_data);
*u32p_value=(UWORD32)(by_data);
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetBlueGain");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetBright (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
UWORD32 u32_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byAd9882GetRedOffset(u32_port_id, &u32_data);
*u32p_value=(UWORD32)AD9882_BRIGHT_MAX -((UWORD32)u32_data>>1);
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetBright");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetContrast (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
UWORD32 u32_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byAd9882GetRedGain(u32_port_id, &u32_data);
// *u32p_value=(UWORD32)(u32_data);
*u32p_value=(UWORD32)AD9882_CONTRAST_MAX -u32_data;
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetContrast");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetRed (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
UWORD32 u32_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byAd9882GetRedGain(u32_port_id, &u32_data);
*u32p_value=(UWORD32)(u32_data);
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetRed");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return ERR;
}
BYTE byAd9882GetGreen (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
UWORD32 u32_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byAd9882GetGreenGain(u32_port_id, &u32_data);
*u32p_value=(UWORD32)(u32_data);
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetGreen");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return ERR;
}
BYTE byAd9882GetBlue (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_ret=0;
UWORD32 u32_data;
struct st_EVENT_INFO st_event_info1;
by_ret |= byAd9882GetBlueGain(u32_port_id, &u32_data);
*u32p_value=(UWORD32)(u32_data);
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetBlue");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return ERR;
}
BYTE byAd9882GetClock (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
WORD w_data;
BYTE by_data;
BYTE by_ret=0;
struct st_EVENT_INFO st_event_info1;
by_ret |= byReadSingleDataAd9882(AD9882_PLL_DIV_MSB, &by_data);
w_data = (WORD)(by_data<<8);
by_ret |= byReadSingleDataAd9882(AD9882_PLL_DIV_LSB, &by_data);
w_data = w_data |(by_data );
w_data = w_data >>4;
w_data +=1;
*u32p_value = w_data;
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetClock");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetPhase (UWORD32 u32_port_id, UWORD32 *u32p_value)
{
BYTE by_data;
BYTE by_ret=0;
struct st_EVENT_INFO st_event_info1;
by_ret |= byReadSingleDataAd9882(AD9882_PHASE_ADJUST, &by_data);
*u32p_value = (UWORD32)(by_data>>3);
if (by_qa_test_driver_enable == 1)
{
st_event_info1.u16_severity=LOG;
st_event_info1.u32_pc=0;
strcpy(st_event_info1.bya_location,"byAd9882GetPhase");
byLogEvent(DEST_UART,0,&st_event_info1,"%d",*u32p_value);
}
return by_ret;
}
BYTE byAd9882GetBrightInfo (UWORD32 u32_port_id, int *ip_min,int *ip_max, UWORD32 *u32p_nominal)
{
*ip_min = AD9882_BRIGHT_MIN;
*ip_max = AD9882_BRIGHT_MAX;
*u32p_nominal = AD9882_BRIGHT_MID;
return OK;
}
BYTE byAd9882GetContrastInfo (UWORD32 u32_port_id, int *ip_min,int *ip_max, UWORD32 *u32p_nominal)
{
*ip_min = AD9882_CONTRAST_MIN;
*ip_max = AD9882_CONTRAST_MAX;
*u32p_nominal = AD9882_CONTRAST_MID;
return OK;
}
BYTE byAd9882GetRedInfo (UWORD32 u32_port_id, int *ip_min,int *ip_max, UWORD32 *u32p_nominal)
{
*ip_min = AD9882_BRIGHT_MIN;
*ip_max = AD9882_BRIGHT_MAX;
*u32p_nominal = AD9882_BRIGHT_MID;
return ERR;
}
BYTE byAd9882GetGreenInfo (UWORD32 u32_port_id, int *ip_min,int *ip_max, UWORD32 *u32p_nominal)
{
*ip_min = AD9882_BRIGHT_MIN;
*ip_max = AD9882_BRIGHT_MAX;
*u32p_nominal = AD9882_BRIGHT_MID;
return ERR;
}
BYTE byAd9882GetBlueInfo (UWORD32 u32_port_id, int *ip_min,int *ip_max, UWORD32 *u32p_nominal)
{
*ip_min = AD9882_BRIGHT_MIN;
*ip_max = AD9882_BRIGHT_MAX;
*u32p_nominal = AD9882_BRIGHT_MID;
return ERR;
}
BYTE byAd9882GetClockInfo (UWORD32 u32_port_id, int* ip_min,int *ip_max, UWORD32 *u32p_nominal)
{
st_MODE_TMG_INFO *stp_mode;
UWORD32 u32_md_unknown;
UWORD32 u32_inp_setup;
BYTE by_ret=0;
by_ret |= PortGetInpMode(u32_port_id, &stp_mode, &u32_md_unknown, &u32_inp_setup);
*u32p_nominal = stp_mode->s32a_mode_param[MDI_H_TOT_PIX];
*ip_min = *u32p_nominal - AD9882_CLOCK_MIN;
*ip_max = *u32p_nominal + AD9882_CLOCK_MAX;
return by_ret;
}
BYTE byAd9882GetPhaseInfo (UWORD32 u32_port_id, int *ip_min,int *ip_max, UWORD32 *u32p_nominal)
{
*ip_min = AD9882_PHASE_MIN;
*ip_max = AD9882_PHASE_MAX;
*u32p_nominal = AD9882_PHASE_MIN;
return OK;
}
BYTE byAd9882InputDetect(void)
{
BYTE data[10],i,j,k,m;
BYTE by_ret;
#if 1
for(i=0; i<10; i++) //sample 10 times
{
by_ret = byReadSingleDataAd9882(AD9882_INPUT_SYNC_DETECT,&(data[i]));
for(j=0; j<10; j++); //delay
}
j=0;
k=0;
m=0;
for(i=0; i<10; i++)
{
if(data[i] & 0x10) // DVI active
j++;
else if((data[i] & 0x80)||(data[i] & 0x40) ||(data[i] & 0x20)) //VGA active
k++;
else
m++; //no signal
}
if(j>5)
return DVI_ACTIVE;
else if(k>5)
return VGA_ACTIVE;
else if(m>5)
return NO_DATAINP_ACTIVE;
#endif
}
#endif // end #ifdef ADC_OPTION ==ADC_9882 || ADC2_OPTION ==ADC_9882
#undef SAD9882_C
/*
****************************************
* $Log: sAd9882.c,v $
*
****************************************
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -