⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 refcmdproc.c

📁 IT projecotr reference design.
💻 C
📖 第 1 页 / 共 5 页
字号:
        DISP_SetChannelSource(SRC_PRIMARY, DISP_SOLID_FIELD_SOURCE);
        FRAME_GetFrameRateConversion( &inputRate, &outputRate, &Mode );
        FRAME_SetFrameRateConversion( 30, outputRate, FRAME_FRC_MODE_FIXED );

        DisplayConfig.CroppedArea.FirstPixel = 0;
        DisplayConfig.CroppedArea.FirstLine = 0;
        DisplayConfig.CroppedArea.PixelsPerLine = 1024;
        DisplayConfig.CroppedArea.LinesPerFrame = 768;
        DisplayConfig.DisplayArea.FirstPixel = 0;
        DisplayConfig.DisplayArea.FirstLine = 0;
        DisplayConfig.DisplayArea.PixelsPerLine = 1024;
        DisplayConfig.DisplayArea.LinesPerFrame = 768;
        DisplayConfig.Centered = FALSE;
        DISP_SetDisplay(SRC_PRIMARY, DisplayConfig);

        DEI_Enable( FALSE );
        DISP_SetFreeze( TRUE );

        DISP_SetChannelSource(SRC_PRIMARY, DISP_SPLASH_SOURCE);
        FRAME_GetFrameRateConversion( &inputRate, &outputRate, &Mode );
        FRAME_SetFrameRateConversion( 30, outputRate, FRAME_FRC_MODE_FIXED );

        DISP_SetDisplay(SRC_PRIMARY, DisplayConfig);
        DISP_SetUnfreezeDelay( 4 );
        DISP_SetFreeze( FALSE );

        return TRUE;
    }

    return PASS == DISP_SetChannelSource(SRC_PRIMARY, source );
}

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

static BOOL cmdDispScaleFilt_rd( void )                           /* 0x1005 */
{
    cmdPutK1( DISP_GetScalingFilter());
    return TRUE;
}

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

static BOOL cmdDispScaleFilt_wr( void )                           /* 0x1005 */
{
    return PASS == DISP_SetScalingFilter( cmdGet1(DISP_FILTERS));
}

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

static BOOL cmdDispScaleRing_rd( void )                           /* 0x1004 */
{
    cmdPutK1( DISP_GetScalingRingingMinimizationEnable());
    return TRUE;
}

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

static BOOL cmdDispScaleRing_wr( void )                           /* 0x1004 */
{
    return PASS == DISP_SetScalingRingingMinimizationEnable( cmdGet1(BOOL));
}

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

static BOOL cmdDmdBin_rd( void )                                  /* 0x060C */
{
    uint08 bin;

    DMD_GetBin( &bin );
    cmdPut1( bin );

    return TRUE;
}

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

static BOOL cmdDmdBin_wr( void )                                  /* 0x060C */
{
    return PASS == DMD_SetBin( cmdGet1( uint08 ));
}

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

static BOOL cmdDmdDevType_rd( void )                              /* 0x0610 */
{
    uint08 dmdType;

    DMD_GetDeviceType( &dmdType );
    cmdPut1( dmdType );

    return TRUE;
}

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

static BOOL cmdDmdPark_rd( void )                                 /* 0x0609 */
{
    cmdPutK1( DMD_IsParked());
    return TRUE;
}

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

static BOOL cmdDmdPark_wr( void )                                 /* 0x0609 */
{
    if( cmdGet1( BOOL ))
        DMD_Park();
    else
        DMD_Unpark();

    return TRUE;
}

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

static BOOL cmdDmdPower_rd( void )                                /* 0x0608 */
{
    cmdPutK1( DMD_IsPowered());
    return TRUE;
}

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

static BOOL cmdDmdPower_wr( void )                                /* 0x0608 */
{
    return TRUE == DMD_Power( cmdGet1( BOOL ));
}

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

static BOOL cmdDmdReso_rd( void )                                 /* 0x0612 */
{
    uint16 width;
    uint16 height;

    if( PASS != DMD_GetResolution( &width, &height))
        return FALSE;

    cmdPut2( width );
    cmdPut2( height );

    return TRUE;
}

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

static BOOL cmdDmdSSpec_wr( void )                                /* 0x0613 */
{
    BOOL pass = TRUE;

    uint08 enable = cmdGet1( uint08 );
    uint08 spread = cmdGet1( uint08 );

    pass &= ( PASS == DDP_CLKGEN_EnableSSCforDMD( FALSE ));
    pass &= ( PASS == DDP_CLKGEN_SetSSCforDMD   ( spread ));
    pass &= ( PASS == DDP_CLKGEN_EnableSSCforDMD( enable ));

    return pass;
}

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

static BOOL cmdFrmParms_rd( void )                                /* 0x0E01 */
{
    FRAME_FRC_MODE mode;
    uint32 m32;
    float  inRate, outRate;
    uint32 RateIn, RateOut;

    FRAME_GetFrameRateConversion( &inRate, &outRate, &mode );

    m32 = mode;                                                  /* convert */

    RateIn  = cmdFloatToFixed( inRate,  15 );
    RateOut = cmdFloatToFixed( outRate, 15 );

    cmdPut4( RateIn );
    cmdPut4( RateOut );
    cmdPut4( m32 );

    return TRUE;
}

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

static BOOL cmdFrmParms_wr( void )                                /* 0x0E01 */
{
    uint32 RateIn  = cmdGet4( uint32 );
    uint32 RateOut = cmdGet4( uint32 );
    uint32 m32     = cmdGet4( uint32 );

    FRAME_FRC_MODE mode;
    float  inRate, outRate;

    inRate  = cmdFixedToFloat( RateIn, 15  );
    outRate = cmdFixedToFloat( RateOut, 15 );

    mode = (FRAME_FRC_MODE)m32;                                  /* convert */

    FRAME_SetFrameRateConversion( inRate, outRate, mode );

    return TRUE;
}

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

static BOOL cmdUART_Config_rd( void )                             /* 0x1500 */
{
    URTPORT uPort = cmdGet1( URTPORT );
    URTINIT uConfig;                    /* UART port configuratin structure */

    URT_GetConfig(uPort, &uConfig);

    cmdPut( 9, &uConfig );

    return TRUE;
}

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

static BOOL cmdUART_Config_wr( void )                             /* 0x1500 */
{
    URTPORT uPort = cmdGet1( URTPORT );
    URTINIT uConfig;                    /* UART port configuratin structure */

    if ( uPort == URT_PORT1 )
    {
        GPIO_EnableAlternativeFunction( GPIO_UART1_TXD_RXD, TRUE );
        GPIO_SetPinConfig( GIO_UART1TXD, GIOCFG_OUTPUT, TRUE, GIOCFG_ACTIVE );
    }

    uConfig.PortEnable  = cmdGet1(BOOL);
    uConfig.BaudRate    = cmdGet1(URTBAUD);
    uConfig.DataBits    = cmdGet1(URTDBITS);
    uConfig.StopBits    = cmdGet1(URTSBITS);
    uConfig.Parity      = cmdGet1(URTPARITY);
    uConfig.FlowControl = cmdGet1(URTFLWCTL);
    uConfig.RXTrigLevel = cmdGet1(URTRXTRIG);
    uConfig.TXTrigLevel = cmdGet1(URTTXTRIG);
    uConfig.RXDPolarity = cmdGet1(URTRXDPOL);

    if( PASS != URT_SetConfig( uPort, &uConfig ) )
        dbmsg_trace( DBM_ALWAYS, "UART init error\r\n" );

    return TRUE;
}

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

static BOOL cmdUART_Status_rd( void )                             /* 0x1501 */
{
    URTPORT uPort = cmdGet1( URTPORT );
    uint16 uStatus;

    URT_GetStatus( uPort, &uStatus );

    cmdPut( 2, &uStatus );

    return TRUE;
}

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

static BOOL cmdGdlFromData_wr( void )                             /* 0x1811 */
{
    BOOL  status = TRUE;                                  /* assume success */
    int16 count;                                          /* transfer count */

    status &= gdlOffset( cmdGet4( uint32 ));            /* set write offset */

    if( status )
    {
        count = cmdRemRead();                  /* number of remaining bytes */

        if( TRUE == ( status = ( 0 == ( 0x0001 & count )))) /* can't be odd */
        {
            count >>= 1;                                /* number of uint16 */

            while( count-- )
                status &= gdlFromWrite( cmdGet2( uint16 ));        /* write */
        }
    }

    return status;
}

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

static BOOL cmdGdlFromID_rd( void )                               /* 0x1813 */
{
    int08 index = cmdGet1( int08 );
    BOOL  status = gdlFromID( index, cmdGetPtrWrite());

    if( status )
        cmdIncWrite( gdlIDLength());

    return status;
}

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

static BOOL cmdGdlFromInit_wr( void )                             /* 0x1810 */
{
    return gdlFromInit();
}

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

static BOOL cmdGdlFromLoad_wr( void )                             /* 0x1812 */
{
    return gdlFromLoad( cmdGet1( int08 ));
}

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

static BOOL cmdGdlRamData_wr( void )                              /* 0x1801 */
{
    BOOL  status = TRUE;                                  /* assume success */
    int16 count;                                          /* transfer count */

    status &= gdlOffset( cmdGet4( uint32 ));            /* set write offset */

    if( status )
    {
        count = cmdRemRead();                  /* number of remaining bytes */

        if( TRUE == ( status = ( 0 == ( 0x0001 & count )))) /* can't be odd */
        {
            count >>= 1;                                /* number of uint16 */

            while( count-- )
                status &= gdlRamWrite( cmdGet2( uint16 ));         /* write */
        }
    }

    return status;
}

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

static BOOL cmdGdlRamInit_wr( void )                              /* 0x1800 */
{
    return gdlRamInit( cmdGet1( int08 ));
}

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

static BOOL cmdGdlRamLoad_wr( void )                              /* 0x1802 */
{
    return gdlRamLoad();
}

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

static BOOL cmdGdlRestore_wr( void )                              /* 0x1804 */
{
    return PASS == IMG_GAM_LoadLut( 0 ) ;
}

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

static BOOL cmdGPIO_Cfg_rd( void )                                /* 0x1701 */
{
    int08 cc;
    GPIOPINS pin = cmdGet1( GPIOPINS );                           /* pin ID */
    BOOL     dir;                                           /* IO direction */
    BOOL     state;                                            /* pin state */
    BOOL     odrain;                                    /* open-drain state */

    if( PASS != ( cc = GPIO_GetPinConfig( pin, &dir, &state, &odrain )))
        return FALSE;

                                /********************************************/
                                /* If the pin is an input, the logic value  */
                                /* must be doctored since GPIO_GetPinConfig */
                                /* returns the value of the output register */
                                /* bit, even if the pin is an input...      */
                                /********************************************/

    if( FALSE == dir )                                /* if pin is an input */
        GPIO_GetPin( pin, &state );

    cmdPut1( dir );
    cmdPut1( state );
    cmdPut1( odrain );

    return TRUE;
}

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

static BOOL cmdGPIO_Cfg_wr( void )                                /* 0x1701 */
{
    int08 cc;
    GPIOPINS pin    = cmdGet1( GPIOPINS );                        /* pin ID */
    BOOL     dir    = cmdGet1( BOOL );                      /* IO direction */
    BOOL     state  = cmdGet1( BOOL );                         /* pin state */
    BOOL     odrain = cmdGet1( BOOL );                  /* open-drain state */

    if( PASS != ( cc = GPIO_SetPinConfig( pin, dir, state, odrain )))
       return FALSE;

    return TRUE;
}

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

static BOOL cmdGPIOX_Cfg_rd( void )                               /* 0x1702 */
{
    uint08 pin = cmdGet1( uint08 );
    uint08 pinCfg;
    BOOL   test;

    if( IOXCC_PASS != iox_cfgGet( pin, &pinCfg ))   /* get an IOX point cfg */
        return FALSE;

    test = IOX_IN != ( IOX_IN & pinCfg );
    cmdPut1( test );

    test = IOX_TRUE == ( IOX_TRUE & pinCfg );
    cmdPut1( test );

    return TRUE;
}

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

static BOOL cmdGPIOX_Cfg_wr( void )                               

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -