📄 refcmdproc.c
字号:
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 + -