Exemplo n.º 1
0
/*
Function:	Set RF frequency (Unit: KHz)
Input:
        fvalue -- RF frequency (Unit: KHz)
Output:
        SUCCESS or FAILURE
*/
GX_STATE GX_Set_RFFrequency(unsigned long fvalue)
{
		int UCtmp = FAILURE;
        unsigned char data[5];
        unsigned long freq;

        freq=(fvalue+GX_IF_FREQUENCY)*10/625;              /*freq=(fvalue+GX_IF_FREQUENCY)*/
        data[0] = 0xc0;	                                /*Tunner Address*/
        data[1] =(unsigned char)((freq>>8)&0xff);	
        data[2] =(unsigned char)(freq&0xff);	
        data[3] = 0x86;	/*62.5KHz*/
        data[4] = 0x08;
     
        if (SUCCESS == GX_Set_Tunner_Repeater_Enable(1))	/*open the chip repeater */
		{
			if (SUCCESS == GX_I2cReadWrite( WRITE, data[0],data[1],&data[2], 3 ))
			{
				GX_Delay_N_ms(50);
				UCtmp = GX_Set_Tunner_Repeater_Enable(0);	/*close the chip repeater*/
			}
		}

		if (SUCCESS == UCtmp)
		{
            GX_Delay_N_ms(50);
			UCtmp = GX_HotReset_CHIP();
		}
		return UCtmp;
}
Exemplo n.º 2
0
GX_STATE GX_Set_RFFrequency(struct gx1001_state *state, unsigned long fvalue)
{
    signed char UCtmp = FAILURE;
    unsigned char data[6];
    unsigned long freq;

    freq=(fvalue+GX_IF_FREQUENCY)*10/625;            /*freq=(fvalue+GX_IF_FREQUENCY)*/
    data[0] = state->config.tuner_addr;	         /*Tunner Address*/
    data[1] =(unsigned char)((freq>>8)&0xff);
    data[2] =(unsigned char)(freq&0xff);
    data[3] = 0X8b;//0xb3;	/*62.5KHz*/ modified by jeffchang

    if (fvalue < 153000)
        data[4] = 0x01;
    else if (fvalue < 430000)
        data[4] = 0x06;
    else
        data[4] = 0x0c;

    data[5] = 0xc3;

    if (SUCCESS == GX_Set_Tunner_Repeater_Enable(state, 1))	/*open the chip repeater */
    {
        GX_Delay_N_10ms(1);
        if (SUCCESS == Tuner_Writeregister(state, &data[1], 5))
        {
            GX_Delay_N_10ms(1);
            UCtmp = GX_Set_Tunner_Repeater_Enable(state, 0);	/*close the chip repeater*/
            UCtmp = SUCCESS;
        }
    }

    if (SUCCESS == UCtmp)
    {
        GX_Delay_N_10ms(5);
        UCtmp = GX_HotReset_CHIP(state);
    }

    return UCtmp;
}
Exemplo n.º 3
0
GX_STATE GX_Set_RFFrequency(unsigned long fvalue)
{
    signed char UCtmp = FAILURE;
    unsigned char data[6];
    unsigned long freq;

    freq=(fvalue+GX_IF_FREQUENCY)*10/625;              /*freq=(fvalue+GX_IF_FREQUENCY)/Fref*/
    data[0] = I2C_TUNER_ADDRESS;	                   /*Tunner Address*/
    data[1] =(unsigned char)((freq>>8)&0xff);
    data[2] =(unsigned char)(freq&0xff);
    data[3] = 0x8b;										/*Fref=62.5KHz*/

    if (fvalue < 153000)
        data[4] = 0x60;
    else if (fvalue < 430000)
        data[4] = 0xa2;
    else
        data[4] = 0xaa;

    data[5] = 0xc6;

    if (SUCCESS == GX_Set_Tunner_Repeater_Enable(1))	/*open the chip repeater */
    {
        GX_Delay_N_10ms(1);
        if (SUCCESS == Tuner_Writeregister(&data[1], 5 ))
        {
            GX_Delay_N_10ms(1);
            UCtmp = GX_Set_Tunner_Repeater_Enable(0);	/*close the chip repeater*/
            UCtmp = SUCCESS;
        }
    }

    if (SUCCESS == UCtmp)
    {
        GX_Delay_N_10ms(5);
        UCtmp = GX_HotReset_CHIP();
    }
    return UCtmp;
}