📄 misc.c
字号:
pData[9] = (((BYTE)_PIN_103<<4) | (_PIN_104<<1));
pData[10] = (((BYTE)_PIN_109<<4) | (_PIN_110));
pData[11] = (((BYTE)_PIN_111<<4) | (_PIN_112));
pData[12] = (((BYTE)_PIN_56_57_IIC_ENABLE<<7) | (_PIN_56<<4) | (_PIN_57<<1));
pData[13] = (((BYTE)_PIN_113<<5) | (_PIN_121_122_DDC3_ENABLE<<4) | (_PIN_121<<2) | (_PIN_122));
pData[14] = (((BYTE)_PIN_65<<5) | (_PIN_123_124_DDC2_ENABLE<<4) | (_PIN_123<<2) | (_PIN_124));
pData[15] = (((BYTE)_PIN_72<<5) | (_PIN_114<<2));
CScalerPageSelect(_PAGEE);
CScalerWrite(_PE_PIN_SHARE_CTRL03_D7, 16, pData, _AUTOINC);
#endif
#elif((_SCALER_TYPE == _RTD247xRD) || (_SCALER_TYPE == _RTD248xRD))
pData[0] = (((BYTE)_PIN_31<<6) | (_PIN_32<<4) | (_PIN_33<<2) | (_PIN_34)); // Page 10-A0
pData[1] = (((BYTE)_PIN_35<<6) | (_PIN_36_37<<4) | (_PIN_41)); // Page 10-A1
pData[2] = (((BYTE)_PIN_42<<5) | (_PIN_43<<3) | (_PIN_44)); // Page 10-A2
pData[3] = (((BYTE)_PIN_45<<6) | (_PIN_46<<4) | (_PIN_47<<2) | (_PIN_48)); // Page 10-A3
pData[4] = (((BYTE)_PIN_50<<5) | (_PIN_51<<3) | (_PIN_55)); // Page 10-A4
pData[5] = (((BYTE)_PIN_52<<6) | (_PIN_65<<3) | (_PIN_66)); // Page 10-A5
pData[6] = (((BYTE)_PIN_53<<6) | (_PIN_67<<3) | (_PIN_68)); // Page 10-A6
pData[7] = (((BYTE)_PIN_54<<6) | (_PIN_69<<3) | (_PIN_70)); // Page 10-A7
pData[8] = (((BYTE)_PIN_56_57_IIC_ENABLE<<6) | (_PIN_56<<3) | (_PIN_57)); // Page 10-A8
pData[9] = (((BYTE)_PIN_58_59_DDC1_ENABLE<<6) | (_PIN_58<<3) | (_PIN_59)); // Page 10-A9
pData[10] = (((BYTE)_PIN_63<<4) | (_PIN_64)); // Page 10-AA
pData[11] = (((BYTE)_PIN_71<<5) | (_PIN_72<<2) | (_PIN_74to83)); // Page 10-AB
pData[12] = (((BYTE)_PIN_99<<5) | (_PIN_100<<3) | (_PIN_102)); // Page 10-AC
pData[13] = (((BYTE)_PIN_96<<6) | (_PIN_103<<3) | (_PIN_104)); // Page 10-AD
pData[14] = (((BYTE)_PIN_97<<6) | (_PIN_105<<3) | (_PIN_108)); // Page 10-AE
pData[15] = (((BYTE)_PIN_109<<4) | (_PIN_110to114_MIRROR<<3) | (_PIN_110)); // Page 10-AF
CScalerPageSelect(_PAGE10);
CScalerWrite(_P10_PIN_SHARE_CTRL00_A0, 16, pData, _AUTOINC);
pData[0] = (((BYTE)_PIN_98<<6) | (_PIN_111<<3) | (_PIN_112)); // Page 10-B0
pData[1] = (((BYTE)_PIN_101<<6) | (_PIN_113<<3) | (_PIN_114)); // Page 10-B1
pData[2] = (((BYTE)_PIN_119<<5) | (_PIN_121_122_DDC3_ENABLE<<4) | (_PIN_121<<2) | (_PIN_122)); // Page 10-B2
pData[3] = (((BYTE)_PIN_123_124_DDC2_ENABLE<<7) | (_PIN_123<<5) | (_PIN_124<<3) | (_PIN_126)); // Page 10-B3
CScalerPageSelect(_PAGE10);
CScalerWrite(_P10_PIN_SHARE_CTRL10_B0, 4, pData, _AUTOINC);
#elif(_SCALER_TYPE == _RTD2545LR)
pData[0] = (((BYTE)_PIN_44<<2) | (_PIN_43));
CScalerPageSelect(_PAGEE);
CScalerWrite(_PE_PIN_SHARE_CTRL01_D5, 1, pData, _AUTOINC); //Anderson 080131 for Pin Share
#else
No Setting !! // cyyeh 20080611
#endif // End of #if(_SCALER_TYPE == _RTD2472D)
//Anderson 080310 for 247xRD, 248xRD End
}
//----------------------------------------------------------------------------------------------------
// Debug Functions
//----------------------------------------------------------------------------------------------------
//Anderson 080512 for Debug Message Start
//V405 modify Start 20071206 : Debug Message Supported
//--------------------------------------------------
// Description : ISP process
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CMiscIspack(void)
{
#if(_DEBUG_TOOL == _ISPACK)
BYTE ddcdata2in, ddcdata3in;
BYTE halt = 0;
do
{
CScalerRead(_DDC_STATUS_F8, 1, pData, _NON_AUTOINC);
if((pData[0] & 0x04) != 0) // data latched
{
CScalerRead(_DDC_SUB_IN_F5, 2, pData, _AUTOINC);
//CScalerSetByte(_DDC_STATUS_F8, 0x00);
if((pData[0] & 0x80) != 0) // run or halt command
{
CScalerSetByte(_DDC_STATUS_F8, 0x00);
halt = pData[1];
}
else if((pData[0] & 0x40) == 0x40) // read command
{
switch(pData[0] & 0x0f)
{
case(0x04) : // read eeprom
{
CScalerSetByte(_DDC_STATUS_F8, 0x00);
CI2cRead(ddcdata2in, pData[1], 1, &pData[13]);
CScalerSetByte(_DDC_CTRL_F7, 0x0A);
CScalerSetByte(_DDC_DATA_IN_F6, pData[13]);
CScalerSetByte(_DDC_CTRL_F7, 0x08);
}
break;
case(0x01): //read scalar
{
CScalerSetByte(_DDC_STATUS_F8, 0x00);
CScalerRead(pData[1], 1, &pData[13], _NON_AUTOINC);
CScalerSetBit(_DDC_CTRL_F7, ~_BIT2, _BIT2); //reset index
CScalerSetBit(_DDC_CTRL_F7, ~_BIT1, _BIT1); //change to MCU write
CScalerSetByte(_DDC_DATA_IN_F6,pData[13]);
CScalerSetBit(_DDC_CTRL_F7, ~_BIT1, 0x00); //change to pc write
CScalerSetBit(_DDC_CTRL_F7, ~_BIT2, _BIT2); //reset index
}
break;
}
}
else
{
switch (pData[0] & 0x0F) //Write command
{
case 0x00:
CScalerSetByte(_DDC_STATUS_F8, 0x00);
CScalerSetByte(ddcdata2in, pData[1]);
break;
case 0x01:
case 0x02: // for RTD & I2c Device
CScalerSetByte(_DDC_STATUS_F8, 0x00);
ddcdata2in = pData[1];
break;
case 0x06:
case 0x03: //for I2c Device
CScalerSetByte(_DDC_STATUS_F8, 0x00);
ddcdata3in = pData[1];
break;
case 0x04 : //for I2c Device
CScalerSetByte(_DDC_STATUS_F8, 0x00);
CI2cWrite(ddcdata2in, pData[1], 1, &ddcdata3in);
break;
}
}
}
}
while(halt == 1);
#endif // End of #if(_DEBUG_TOOL == _ISPACK)
#if(_DEBUG_TOOL == _ISP_FOR_RTD2120)
BYTE halt = 0;
do
{
if(bRunCommand)
{
switch(ucDdcciData[0])
{
case 0x80:
halt = ucDdcciData[1];
break;
case 0x41:
CScalerRead(ucDdcciData[1], 1, pData, _NON_AUTOINC);
TxBUF= pData[0];
MCU_I2C_DATA_OUT_FF2A = pData[0];
break;
case 0x44:
CI2cRead(ucDdcciData[2], ucDdcciData[1], 1, pData);
TxBUF = pData[0];
MCU_I2C_DATA_OUT_FF2A = pData[0];
break;
default:
switch (ucDdcciData[0] & 0x0F) //Write command
{
case 0x00:
CScalerSetByte(ucDdcciData[2], ucDdcciData[1]);
break;
case 0x01:
case 0x02: // for RTD & I2c Device
ucDdcciData[2] = ucDdcciData[1];
break;
case 0x06:
case 0x03: //for I2c Device
ucDdcciData[3] = ucDdcciData[1];
break;
case 0x04 : //for I2c Device
CI2cWrite(ucDdcciData[2], ucDdcciData[1], 1, ucDdcciData+3);
break;
}
break;
}
bRunCommand=0;
ucDdcciCommandNumber = 0;
}
}
while(halt != 0);
//Anderson 080512 for Debug Message End
#endif // End of #if(_DEBUG_TOOL == _ISP_FOR_RTD2120)
#if(_DEBUG_TOOL == _ISP_FOR_EMBEDDED)
BYTE halt = 0;
//Anderson 080512 for Debug Message Supported Start
do
{
if(bRunCommand)
{
switch(ucDdcciData[0])
{
case 0x80:
halt = ucDdcciData[1];
break;
case 0x41:
MCU_I2C_IRQ_CTRL2_FF2A |= 0x20;
CScalerRead(ucDdcciData[1], 1, pData, _NON_AUTOINC);
TxBUF= pData[0];
MCU_I2C_DATA_OUT_FF26 = pData[0];
break;
case 0x44:
MCU_I2C_IRQ_CTRL2_FF2A |= 0x20;
CI2cRead(ucDdcciData[2], ucDdcciData[1], 1, pData);
TxBUF = pData[0];
MCU_I2C_DATA_OUT_FF26 = pData[0];
break;
default:
switch (ucDdcciData[0] & 0x0F) //Write command
{
case 0x00:
CScalerSetByte(ucDdcciData[2], ucDdcciData[1]);
break;
case 0x01:
case 0x02: // for RTD & I2c Device
ucDdcciData[2] = ucDdcciData[1];
break;
case 0x06:
case 0x03: //for I2c Device
ucDdcciData[3] = ucDdcciData[1];
break;
case 0x04 : //for I2c Device
CI2cWrite(ucDdcciData[2], ucDdcciData[1], 1, ucDdcciData+3);
break;
}
break;
}
bRunCommand=0;
ucDdcciCommandNumber = 0;
}
}
while(halt != 0);
#endif // End of #if(_DEBUG_TOOL == _ISP_FOR_EMBEDDED)
//Anderson 080512 for Debug Message Supported End
}
#if(_DEBUG_TOOL == _ISP_FOR_RTD2120)
//--------------------------------------------------
// Description : ISP for RTD2120 Initial
// Input Value : None
// Output Value : None
//--------------------------------------------------
void CDdcciInitial(void)
{
//0811 sephinroth start
#if(_DDCCI_SUPPORT == _ON)
if(GET_FACTORY_MODE())
MCU_I2C_SET_SLAVE_FF27 = 0x7C;
else
MCU_I2C_SET_SLAVE_FF27 = 0x6E;
#else
MCU_I2C_SET_SLAVE_FF27 = 0x6A;
MCU_I2C_IRQ_CTRL_FF2C = 0x3f;
MCU_PIN_SHARE1_FF01 = MCU_PIN_SHARE1_FF01 | 0x01;
//Anderson 080512 for Debug Message Support Start
#endif
EA = 1;
MCU_OPTION_FF38 = 0x80;
EX0 = 1;
IE = 0x8e;
#if(_DEBUG_MESSAGE_SUPPORT == _ON)
CMiscDebugMessage("###### F/W START ######", _NO_VALUE);
#endif
CScalerPageSelect(_PAGED);
CScalerSetByte(_PD_IIC_SET_SLAVE_C3 , 0xab);//1231 sephinroth
CScalerSetByte(0xc2 , 0x05); //1231 sephinroth
}
#endif // End of #if(_DEBUG_TOOL == _ISP_FOR_RTD2120)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -