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

📄 hfctldevaccesstest.c

📁 vxworks下跳频控制的驱动
💻 C
📖 第 1 页 / 共 5 页
字号:
/*            file number            */
/*
modification history
-,            2004, November, 24th      Release
*/

/****************************************************************
Module:       hfCtlDevAccessTest.c
Author:       
Description:  test to opearate Hop-freq controller card

        
****************************************************************/
/* Included Files */
#include <vxWorks.h>
#include <stdio.h>
#include <logLib.h>
#include <taskLib.h>
#include <memLib.h>
#include <stdlib.h>
#include <cacheLib.h>
#include <string.h>
#include <semLib.h>
#include "rs60x.h"
#include "vmeUniverse.h"
#include "../../../include/drv/hF1394Pmc/hFCtlPmc.h"
#include "../../../include/drv/hF1394Pmc/HFCtlPmcLow.h"
#include "../../../include/drv/hF1394Pmc/plx9656.h"
#include "../../../include/base/ppc6VmeMailBoxInt.h"

/* define some macro */

/* Global Variables */
extern HFCTL_DEV   HFCtlPmcDev;

int iDevTestDebug = 1;
int   iHopFreqDataSendStop = 0;
int   iHFCtlPmcPciIntCountTest = 0;
int   iPciIntRevTestStopped = 0;
int   iHopFreqSamRevStop = 0;
int   iVmeMBox0IntCount = 0;
int   iHopFreqSamRevCount = 0;

SEM_ID   semHFSamRev;

/* Forward Declaration */

STATUS hfCtlDevTest(void)
{
   int   i;
   int   iHfCtlFd;
   int   iStatus;
   char  hfCtldevName[15];
   unsigned long ulRegData;
   unsigned char ucRegCharData;
   unsigned long *pTempData;
   unsigned char *pTempCharData;
   unsigned long *pLocalSpace0Adrs;
   unsigned long *pLocalSpace1Adrs;

	sprintf(hfCtldevName, "/HFCtlPmc/0");
   
/*   
   printf("hfCtlDevTest: hfCtldevName = %s\n", hfCtldevName);
*/     /* comment by chenxuhao at 2004-11-24 */

   /* open the device */
   iHfCtlFd = open(hfCtldevName, O_RDWR, 0644);

   if (iHfCtlFd == ERROR)
      {
      printf("hfCtlDevTest: Unable to open HfCtlDev device!\n");
      return(ERROR);
      }

#if 0
   /* show opened file descriptor */
   if (iDevTestDebug)
      {
      iosFdShow();
      }
#endif /* if 0 */

   /* get PCIHIDR.DevID */
   iStatus = HFCtlPmcGetRegPCIHIDRDevID(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegPCIHIDRDevID() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: PCIHIDR.DeviceID = 0x%.4x\n", *pTempData);
      }

   /* get PCIHIDR.VenID */
   iStatus = HFCtlPmcGetRegPCIHIDRVenID(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegPCIHIDRVenID() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: PCIHIDR.VendorID = 0x%.4x\n", *pTempData);
      }

   /* get LocalMisc1 */
   iStatus = HFCtlPmcGetRegLocalMisc1(iHfCtlFd, pTempCharData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegLocalMisc1() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: LMISC1 = 0x%.2x\n", *pTempCharData);
      }

   ucRegCharData = (*pTempCharData) & 0xfe;

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: ucRegCharData = 0x%.2x\n", ucRegCharData);
      }

   iStatus = HFCtlPmcSetRegLocalMisc1(iHfCtlFd, ucRegCharData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegLocalMisc1() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   iStatus = HFCtlPmcGetRegLocalMisc1(iHfCtlFd, pTempCharData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegLocalMisc1() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after set LocalMisc1, LMISC1 = 0x%.2x\n", *pTempCharData);
      }

   iStatus = HFCtlPmcGetRegMailbox0(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox0() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: MBOX0 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegMailbox0(iHfCtlFd, 0x12345678);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegMailbox0() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }
   
   iStatus = HFCtlPmcGetRegMailbox0(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox0() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after Set mailbox0, MBOX0 = 0x%.8x\n", *pTempData);
      }

#if 0
   iStatus = HFCtlPmcGetRegLAS0Range(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegLAS0Range() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: LAS0RR = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegLAS0Range(iHfCtlFd, 0xfffff000);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegLAS0Range() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   iStatus = HFCtlPmcGetRegLAS0Range(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegLAS0Range() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after set LAS0Range, LAS0RR = 0x%.8x\n", *pTempData);
      }
#endif /* if 0 */

#if 0
   iStatus = HFCtlPmcGetRegMailbox1(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox1() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: MBOX1 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegMailbox1(iHfCtlFd, 0xaaaa5555);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegMailbox1() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }
   
   iStatus = HFCtlPmcGetRegMailbox1(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox1() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after Set mailbox1, MBOX1 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcGetRegMailbox2(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox2() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: MBOX2 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegMailbox2(iHfCtlFd, 0x5555aaaa);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegMailbox2() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }
   
   iStatus = HFCtlPmcGetRegMailbox2(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox2() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after Set mailbox2, MBOX2 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcGetRegMailbox3(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox3() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: MBOX3 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegMailbox3(iHfCtlFd, 0x87654321);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegMailbox3() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }
   
   iStatus = HFCtlPmcGetRegMailbox3(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox3() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after Set mailbox3, MBOX3 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcGetRegMailbox4(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox4() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: MBOX4 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegMailbox4(iHfCtlFd, 0xabcdef12);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegMailbox4() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }
   
   iStatus = HFCtlPmcGetRegMailbox4(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox4() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after Set mailbox4, MBOX4 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcGetRegMailbox5(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox5() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: MBOX5 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegMailbox5(iHfCtlFd, 0xfedcba56);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegMailbox5() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }
   
   iStatus = HFCtlPmcGetRegMailbox5(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox5() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after Set mailbox5, MBOX5 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcGetRegMailbox6(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox6() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: MBOX6 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegMailbox6(iHfCtlFd, 0xeeee1111);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegMailbox6() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }
   
   iStatus = HFCtlPmcGetRegMailbox6(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox6() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: after Set mailbox6, MBOX6 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcGetRegMailbox7(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcGetRegMailbox7() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }

   if (iDevTestDebug)
      {
      printf("hfCtlDevTest: MBOX7 = 0x%.8x\n", *pTempData);
      }

   iStatus = HFCtlPmcSetRegMailbox7(iHfCtlFd, 0x1111eeee);

   if (iStatus == ERROR)
      {
      printf("hfCtlDevTest: HFCtlPmcSetRegMailbox7() failed.\n");
      close(iHfCtlFd);
      return(ERROR);
      }
   
   iStatus = HFCtlPmcGetRegMailbox7(iHfCtlFd, pTempData);

   if (iStatus == ERROR)
      {

⌨️ 快捷键说明

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