📄 sys_debug.c
字号:
//u16Progress = AP_PVR_GetTimeShiftRecordProgress();
printf(">> PVR: timeshfit get record progress [%d] normally.\n", u16Progress);
}
void sys_test_pvr_timeshift_get_speed(void)
{
#if 0
EN_PVR_PLAY_SPEED enSpeed = EN_PLAY_SPEED_NORMAL;
enSpeed = AP_PVR_GetTimeShiftSpeed();
switch(enSpeed)
{
case EN_PLAY_SPEED_NORMAL:
printf(">> PVR: timeshift speed normal\n");
break;
case EN_FF_SPEED_X2:
printf(">> PVR: timeshift speed fast forward X2\n");
break;
case EN_FF_SPEED_X4:
printf(">> PVR: timeshift speed fast forward X4\n");
break;
case EN_FF_SPEED_X8:
printf(">> PVR: timeshift speed fast forward X8\n");
break;
case EN_FF_SPEED_X16:
printf(">> PVR: timeshift speed fast forward X16\n");
break;
case EN_FF_SPEED_X32:
printf(">> PVR: timeshift speed fast forward X32\n");
break;
case EN_SF_SPEED_X2:
printf(">> PVR: timeshift speed slow forward X2\n");
break;
case EN_SF_SPEED_X4:
printf(">> PVR: timeshift speed slow forward X4\n");
break;
case EN_SF_SPEED_X8:
printf(">> PVR: timeshift speed slow forward X8\n");
break;
case EN_SF_SPEED_X16:
printf(">> PVR: timeshift speed slow forward X16\n");
break;
case EN_SF_SPEED_X32:
printf(">> PVR: timeshift speed slow forward X32\n");
break;
case EN_FB_SPEED_X2:
printf(">> PVR: timeshift speed fast backward X2\n");
break;
case EN_FB_SPEED_X4:
printf(">> PVR: timeshift speed fast backward X4\n");
break;
case EN_FB_SPEED_X8:
printf(">> PVR: timeshift speed fast backward X8\n");
break;
case EN_FB_SPEED_X16:
printf(">> PVR: timeshift speed fast backward X16\n");
break;
case EN_FB_SPEED_X32:
printf(">> PVR: timeshift speed fast backward X32\n");
break;
}
#else
printf(">> PVR: timeshift speed empty api\n");
#endif
}
void sys_test_pvr_timeshift_live_pause(bool8 b8Mode, bool8 b8Pause)
{
bool8 b8Status = FALSE;
printf("Mode[%d] | Puase[%d] | Result \n", b8Mode, b8Pause);
printf("--------+----------+---------------\n");
printf(" 0 | 0 | Start Playback\n");
printf(" 0 | 1 | Start Record\n");
printf(" 1 | 0 | Start Playback\n");
printf(" 1 | 1 | Puase Live\n");
AP_PVR_SetTimeShiftMode(b8Mode);
b8Status = AP_PVR_TimeShiftPause(b8Pause);
if(b8Mode == TRUE && b8Pause == TRUE)
{
AP_PVR_PlaybackPause(b8Pause);
DVB_VideoSetPID(0) ;
DVB_AudioSetPID(0) ;
}
if(b8Status == TRUE)
{
printf(">> PVR: timeshift lvie pause mode[%d] Pause[%d] normally.\n", b8Mode, b8Pause);
}
else
{
printf(">> PVR: timeshift lvie pause mode[%d] Pause[%d] fail.\n", b8Mode, b8Pause);
}
}
void sys_test_pvr_timeshift_to_record(void)
{
bool8 b8Status = FALSE;
b8Status = AP_PVR_SetTimeShiftToRecord();
if(b8Status == TRUE)
{
printf(">> PVR: timeshift to record normally.\n");
}
else
{
printf(">> PVR: timeshift to record fail.\n");
}
}
// PVR: Loop Test
void sys_long_test_pvr_record_start(u16 u16Time)
{
_u16RecordDuration = u16Time;
sys_test_pvr_record_set_duration(_u16RecordDuration);
sys_test_pvr_record_start();
_b8LongTestRecord = TRUE;
}
void sys_long_test_pvr_check_record_again(void)
{
if(_b8LongTestRecord == TRUE)
{
if(_enPVRCurrentEvent == EN_PVR_EVENT_RECORD_FINISH || _enPVRCurrentEvent == EN_PVR_EVENT_RECORD_STOP)
{
CT_OS_Delay(200); // 2s
_enPVRCurrentEvent = EN_PVR_EVENT_NONE;
sys_long_test_pvr_record_start(_u16RecordDuration);
}
}
}
void sys_long_test_pvr_different_record_start(u16 u16StartDuration, u16 u16IncreaseTime)
{
if(u16StartDuration == 0)
{
_u16DifferentRecordDuration = 15;
}
else
{
_u16DifferentRecordDuration = u16StartDuration;
}
_u16DifferentIncreaseTime = u16IncreaseTime;
sys_test_pvr_record_set_duration(_u16DifferentRecordDuration);
sys_test_pvr_record_start();
_u16DifferentRecordDuration += u16IncreaseTime;
_b8LongTestDifferentRecord = TRUE;
}
void sys_long_test_pvr_check_different_record_again(void)
{
if(_b8LongTestDifferentRecord == TRUE)
{
if(_enPVRCurrentEvent == EN_PVR_EVENT_RECORD_FINISH || _enPVRCurrentEvent == EN_PVR_EVENT_RECORD_STOP)
{
CT_OS_Delay(200); // 2s
_enPVRCurrentEvent = EN_PVR_EVENT_NONE;
sys_long_test_pvr_different_record_start(_u16DifferentRecordDuration, _u16DifferentIncreaseTime);
}
}
}
void sys_long_test_pvr_playback_start(u32 u32FileIndex)
{
_u32PlaybackFileIndex = u32FileIndex;
sys_test_pvr_playback_start(_u32PlaybackFileIndex);
_b8LongTestPlayback = TRUE;
}
void sys_long_test_pvr_check_playback_again(void)
{
if(_b8LongTestPlayback == TRUE)
{
if(_enPVRCurrentEvent == EN_PVR_EVENT_PLAYBACK_FINISH)
{
CT_OS_Delay(200); // 2s
_enPVRCurrentEvent = EN_PVR_EVENT_NONE;
sys_long_test_pvr_playback_start(_u32PlaybackFileIndex);
}
}
}
void sys_long_test_pvr_different_playback_start(u32 u32FileCount)
{
if(u32FileCount == 0)
{
return;
}
_u32DifferentPlaybackFileCount = u32FileCount;
sys_test_pvr_playback_start(_u32DifferentPlaybackFileIndex);
if(_u32DifferentPlaybackFileIndex == _u32DifferentPlaybackFileCount - 1)
{
_u32DifferentPlaybackFileIndex = 0;
}
else
{
_u32DifferentPlaybackFileIndex++;
}
_b8LongTestDifferentPlayback = TRUE;
}
void sys_long_test_pvr_check_different_playback_again(void)
{
if(_b8LongTestDifferentPlayback == TRUE)
{
if(_enPVRCurrentEvent == EN_PVR_EVENT_PLAYBACK_FINISH)
{
CT_OS_Delay(200); // 2s
_enPVRCurrentEvent = EN_PVR_EVENT_NONE;
sys_long_test_pvr_different_playback_start(_u32DifferentPlaybackFileCount);
}
}
}
void sys_long_test_pvr_key(bool8 b8Flag, u8 u8Key, u8 u8Speed)
{
_b8LongTestKey = b8Flag;
_u8LongTestKey = u8Key;
_u8LongTestSpeed = u8Speed;
}
void sys_long_test_pvr_check_key_again(void)
{
// printf(">> pvr: _b8LongTestKeyPlayback=%d, _b8LongTestKey=%d, _u8LongTestKey=%d, _u8LongTestSpeed=%d\n",
// _b8LongTestKeyPlayback, _b8LongTestKey, _u8LongTestKey, _u8LongTestSpeed);
if(_b8LongTestKey == TRUE)
{
switch(_u8LongTestKey)
{
case 0:
_b8LongTestKey = FALSE;
break;
case 1: // Play
if(_b8LongTestKeyPlayback == TRUE)
{
_u8LongTestKey = 2;
AP_PVR_PlaybackPause(FALSE);
}
break;
case 2: // Pause
if(_b8LongTestKeyPlayback == TRUE)
{
_u8LongTestKey = 1;
AP_PVR_PlaybackPause(TRUE);
}
break;
case 3: // Fast Forward
if(_b8LongTestKeyPlayback == TRUE)
{
switch(_u8LongTestSpeed)
{
case 2:
AP_PVR_SetPlaybackSpeed(EN_FF_SPEED_X2);
break;
case 4:
AP_PVR_SetPlaybackSpeed(EN_FF_SPEED_X4);
break;
case 8:
AP_PVR_SetPlaybackSpeed(EN_FF_SPEED_X8);
break;
case 16:
AP_PVR_SetPlaybackSpeed(EN_FF_SPEED_X16);
break;
case 32:
AP_PVR_SetPlaybackSpeed(EN_FF_SPEED_X32);
break;
}
}
break;
case 4: // Slow Forward
if(_b8LongTestKeyPlayback == TRUE)
{
switch(_u8LongTestSpeed)
{
case 2:
AP_PVR_SetPlaybackSpeed(EN_SF_SPEED_X2);
break;
case 4:
AP_PVR_SetPlaybackSpeed(EN_SF_SPEED_X4);
break;
case 8:
AP_PVR_SetPlaybackSpeed(EN_SF_SPEED_X8);
break;
case 16:
AP_PVR_SetPlaybackSpeed(EN_SF_SPEED_X16);
break;
case 32:
AP_PVR_SetPlaybackSpeed(EN_SF_SPEED_X32);
break;
}
}
break;
case 5: // Fast Backward
if(_b8LongTestKeyPlayback == TRUE)
{
switch(_u8LongTestSpeed)
{
case 2:
AP_PVR_SetPlaybackSpeed(EN_FB_SPEED_X2);
break;
case 4:
AP_PVR_SetPlaybackSpeed(EN_FB_SPEED_X4);
break;
case 8:
AP_PVR_SetPlaybackSpeed(EN_FB_SPEED_X8);
break;
case 16:
AP_PVR_SetPlaybackSpeed(EN_FB_SPEED_X16);
break;
case 32:
AP_PVR_SetPlaybackSpeed(EN_FB_SPEED_X32);
break;
}
}
break;
}
}
}
#ifdef PVR_FILE_TEST
#define SYS_TEST_FS_SIZE 0x10000 //(64*1024)
static u8 _au8FSData0[SYS_TEST_FS_SIZE];
static u8 _au8FSData1[SYS_TEST_FS_SIZE];
static u8 _au8FSData2[SYS_TEST_FS_SIZE];
static u8 _au8FSData3[SYS_TEST_FS_SIZE];
void sys_test_fs_read(void)
{
EN_DEVICE_TYPE enDeviceType = EN_USB_DEVICE;
u32 u32FileCount = 0;
u32 u32FileHandle = 0;
u32 u32OpenStartTime = 0;
u32 u32OpenEndTime = 0;
u32 u32ReadStartTime = 0;
u32 u32ReadEndTime = 0;
u32 u32CloseStartTime = 0;
u32 u32CloseEndTime = 0;
u32 u32Index = 0;
u32 u32Times = 0;
u32 u32ReadTimes = 0;
u32 u32Size = 0;
u32 u32FileSize = 0;
u8 au8FileName[14];
u32FileCount = DVB_FILECTRL_GetFileCount(enDeviceType, EN_FILE_TYPE_ALL);
if(u32FileCount > 0)
{
for(u32Index = 0; u32Index < u32FileCount; u32Index++)
{
// Get Index
memset(au8FileName, 0, sizeof(u8) * 14);
DVB_FILECTRL_GetFilenameWithIndex(enDeviceType, EN_FILE_TYPE_ALL, u32Index, au8FileName);
// Open File
u32OpenStartTime = DVB_TimerGet();
u32FileHandle = DVB_FILECTRL_FileOpen(enDeviceType, au8FileName, 'r');
u32OpenEndTime = DVB_TimerGet();
if(u32FileHandle != 0)
{
u32FileSize = DVB_FILECTRL_GetFileSize(enDeviceType, u32FileHandle);
u32ReadTimes = u32FileSize / SYS_TEST_FS_SIZE;
// Read File
u32ReadStartTime = DVB_TimerGet();
for(u32Times = 0; u32Times < u32ReadTimes; u32Times++)
{
switch(u32Times % 4)
{
case 0:
u32Size = DVB_FILECTRL_FileRead(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData0);
break;
case 1:
u32Size = DVB_FILECTRL_FileRead(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData1);
break;
case 2:
u32Size = DVB_FILECTRL_FileRead(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData2);
break;
case 3:
u32Size = DVB_FILECTRL_FileRead(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData3);
break;
default:
u32Size = DVB_FILECTRL_FileRead(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData0);
break;
}
if(u32Size != SYS_TEST_FS_SIZE)
{
printf(">> fs: read[%ld][%ld] size %ld != %ld\n", u32Index, u32Times, u32Size, (u32)SYS_TEST_FS_SIZE);
}
//CT_OS_MS_Delay(50);
}
u32ReadEndTime = DVB_TimerGet();
// Close File
u32CloseStartTime = DVB_TimerGet();
DVB_FILECTRL_FileClose(enDeviceType, u32FileHandle);
u32CloseEndTime = DVB_TimerGet();
printf(">> fs: read[%ld] %ld, %ld, %ld\n", u32Index,
u32OpenEndTime - u32OpenStartTime,
u32ReadEndTime - u32ReadStartTime,
u32CloseEndTime - u32CloseStartTime);
}
}
}
}
void sys_test_fs_write(u32 u32FileCount, u32 u32WriteTimes)
{
EN_DEVICE_TYPE enDeviceType = EN_USB_DEVICE;
u32 u32FileHandle = 0;
u32 u32OpenStartTime = 0;
u32 u32OpenEndTime = 0;
u32 u32WriteStartTime = 0;
u32 u32WriteEndTime = 0;
u32 u32CloseStartTime = 0;
u32 u32CloseEndTime = 0;
u32 u32Index = 0;
u32 u32Times = 0;
u32 u32Size = 0;
u8 au8FileName[14];
if(u32FileCount > 0)
{
// Data
for(u32Index = 0; u32Index < SYS_TEST_FS_SIZE; u32Index++)
{
_au8FSData0[u32Index] = u32Index % 0x100;
_au8FSData1[u32Index] = u32Index % 0x100;
_au8FSData2[u32Index] = u32Index % 0x100;
_au8FSData3[u32Index] = u32Index % 0x100;
}
// Write File
for(u32Index = 0; u32Index < u32FileCount; u32Index++)
{
// Open File
sprintf(au8FileName, "%08ld.txt", u32Index);
u32OpenStartTime = DVB_TimerGet();
u32FileHandle = DVB_FILECTRL_FileOpen(enDeviceType, au8FileName, 'w');
u32OpenEndTime = DVB_TimerGet();
if(u32FileHandle != 0)
{
// Write File
u32WriteStartTime = DVB_TimerGet();
for(u32Times = 0; u32Times < u32WriteTimes; u32Times++)
{
switch(u32Times % 4)
{
case 0:
u32Size = DVB_FILECTRL_FileWrite(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData0);
break;
case 1:
u32Size = DVB_FILECTRL_FileWrite(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData1);
break;
case 2:
u32Size = DVB_FILECTRL_FileWrite(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData2);
break;
case 3:
u32Size = DVB_FILECTRL_FileWrite(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData3);
break;
default:
u32Size = DVB_FILECTRL_FileWrite(enDeviceType, u32FileHandle, SYS_TEST_FS_SIZE, _au8FSData0);
break;
}
if(u32Size != SYS_TEST_FS_SIZE)
{
printf(">> fs: write[%ld][%ld] size %ld != %ld\n", u32Index, u32Times, u32Size, (u32)SYS_TEST_FS_SIZE);
}
//CT_OS_MS_Delay(50);
}
u32WriteEndTime = DVB_TimerGet();
// Close File
u32CloseStartTime = DVB_TimerGet();
DVB_FILECTRL_FileClose(enDeviceType, u32FileHandle);
u32CloseEndTime = DVB_TimerGet();
printf(">> fs: write[%ld] %ld, %ld, %ld\n", u32Index,
u32OpenEndTime - u32OpenStartTime,
u32WriteEndTime - u32WriteStartTime,
u32CloseEndTim
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -