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

📄 mx21ddk.cpp

📁 BGW211针对freescale的MX21的无线WIFI驱动(WINCE5.0)
💻 CPP
📖 第 1 页 / 共 2 页
字号:
            return ;
      }
	  
      pTimer = (TimerClass*)hDdkObj->DdkObj; 
      
      // Do operation by it's original memember function
      if(bEnable)
          pTimer->EnableTimerInterrupt();
      else
          pTimer->DisableTimerInterrupt();
          
      DRV_FUNCTION_EXIT();
}

void DDKSetTImerDelay(TIMERHANDLE timerhandle, TIMERMODE_C timerMode, 
                                  UINT32 period, TIMERPERIODTYPE_C type)
{
      DDK_OBJECT_HANDLE hDdkObj;
      TimerClass* pTimer;
      
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)timerhandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKSetTimerStart(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return ;
      }
	  
	  // Do operation by it's original memember function
      pTimer = (TimerClass*)hDdkObj->DdkObj; 
      pTimer->SetTimerDelay(timerMode, period, type);
      
      DRV_FUNCTION_EXIT();
}

CSPIHANDLE DDKCreateCSPIObject(CSPIID_C CspiId)
{
    DDK_OBJECT_HANDLE hDdkObj;
    
    
    DRV_FUNCTION_ENTRY();
    hDdkObj = new DDK_OBJECT;
    
    if(hDdkObj){
        hDdkObj->HandleType = DDK_CSPI_HANDLE;
        hDdkObj->DdkObj = (DDKObject) new CspiClass(CspiId);
        if(!hDdkObj->DdkObj){
            delete hDdkObj;
            hDdkObj = NULL;
        }
    }
	// Check if successful
    if(!hDdkObj)
        DEBUGMSG(ZONE_ERROR, (_T("DDKCreateCSPIObject(void) failed\r\n")));
        
    DRV_FUNCTION_EXIT();
    return (CSPIHANDLE)hDdkObj;
}

BOOL DDKCspiConfigure(CSPIHANDLE cspihandle, PCSPICONFIGDATA_T pData)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      BOOL bret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKCspiConfigure(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return FALSE;
      }
	  
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      bret = pCspi->Configure(pData);
      
      DRV_FUNCTION_EXIT();
      return bret;      
}

BOOL DDKCspiChipSelect(CSPIHANDLE cspihandle, CSPISSPORTID_C PortId)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      BOOL bret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKCspiChipSelect(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return FALSE;
      }
      
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      bret = pCspi->ChipSelect(PortId);
      
      
      DRV_FUNCTION_EXIT();
      return bret; 
      
}

void DDKCspiHwResourceLock(CSPIHANDLE cspihandle, BOOL bLock)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKCspiHwResourceLock(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return ;
      }
	  
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      pCspi->CspiHwResourceLock(bLock);
      
      DRV_FUNCTION_EXIT();
}

UINT8 DDKCspiExchange(CSPIHANDLE cspihandle, UINT32 *pTxBuf, UINT32 *pRxBuf, UINT8 NumOfWords)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      UINT8 uret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKCspiExchange(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return 0;
      }
	  
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      uret = pCspi->Exchange(pTxBuf, pRxBuf, NumOfWords);
      
      DRV_FUNCTION_EXIT();
      return uret;
}

BOOL DDKCspiSetSwap(CSPIHANDLE cspihandle, BOOL swap)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      BOOL bret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("swap(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return FALSE;
      }
      
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      bret = pCspi->SetSwap(swap);
      
      DRV_FUNCTION_EXIT();
      return bret;
}

BOOL DDKCspiStartDMAExchange(CSPIHANDLE cspihandle, UINT8 mode)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      BOOL bret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("StartDMAExchange(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return FALSE;
      }
      
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      bret = pCspi->StartDMAExchange(mode);
          
      DRV_FUNCTION_EXIT();
      return bret;
}

BOOL DDKCspiStopDMAExchange(CSPIHANDLE cspihandle, UINT8 mode)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      BOOL bret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("StopDMAExchange(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return FALSE;
      }
      
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      bret = pCspi->StopDMAExchange(mode);
      
      DRV_FUNCTION_EXIT();
      return bret;
}

UINT32 DDKCspiReadRxFifo(CSPIHANDLE cspihandle)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      UINT32 uret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("ReadRxFifo(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return 0;
      }
      
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      uret = pCspi->ReadRxFifo();
        
      DRV_FUNCTION_EXIT();
      return uret;
}

BOOL DDKCspiIsRxFifoDataReady(CSPIHANDLE cspihandle)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      BOOL bret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("IsRxFifoDataReady(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return FALSE;
      }
      
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      bret = pCspi->IsRxFifoDataReady();
      
      DRV_FUNCTION_EXIT();
      return bret;
}

BOOL DDKCspiIsExchangeOngoing(CSPIHANDLE cspihandle)
{
      DDK_OBJECT_HANDLE hDdkObj;
      CspiClass* pCspi;
      BOOL bret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)cspihandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("IsExchangeOngoing(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return FALSE;
      }
      
	  // Do operation by it's original memember function
      pCspi = (CspiClass*)hDdkObj->DdkObj;
      bret = pCspi->IsExchangeOngoing();
      
      DRV_FUNCTION_EXIT();
      return bret;
}

I2CHANDLE DDKCreateI2CObject(void)
{
    DDK_OBJECT_HANDLE hDdkObj;
    
    DRV_FUNCTION_ENTRY();
    hDdkObj = new DDK_OBJECT;
    // Check if successful, create I2C object if successful
    if(hDdkObj){
        hDdkObj->HandleType = DDK_I2C_HANDLE;
        hDdkObj->DdkObj = (DDKObject) new I2cClass();
        if(!hDdkObj->DdkObj){
            delete hDdkObj;
            hDdkObj = NULL;
        }
    }
	
	// Check if creating is successful
    if(!hDdkObj)
        DEBUGMSG(ZONE_ERROR, (_T("DDKCreateI2CObject(void) failed\r\n")));
        
    DRV_FUNCTION_EXIT();
    return (I2CHANDLE)hDdkObj;
}

int DDKGetI2CErrorCode(I2CHANDLE i2chandle)
{
      DDK_OBJECT_HANDLE hDdkObj;
      I2cClass* pI2c;
      int iret;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)i2chandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKGetI2CErrorCode(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return -1;
      }
	  
	  // Do operation by it's original memember function
      pI2c = (I2cClass*)hDdkObj->DdkObj;
      iret = pI2c->GetErrorCode();
      
      DRV_FUNCTION_EXIT();
      return iret;
}

void DDKI2CWriteMasterData(I2CHANDLE i2chandle, BYTE byAddress, BYTE* pbyDataBuffer, int iDataSize)
{
      DDK_OBJECT_HANDLE hDdkObj;
      I2cClass* pI2c;
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)i2chandle;
      
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKI2CWriteMasterData(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return ;
      }
	  
	  // Do operation by it's original memember function
      pI2c = (I2cClass*)hDdkObj->DdkObj;
      pI2c->WriteMasterData(byAddress, pbyDataBuffer, iDataSize);
      
      DRV_FUNCTION_EXIT();
}

void DDKI2CReadMasterData(I2CHANDLE i2chandle, BYTE byAddress, BYTE* pbyRxDataBuffer, int iRxDataSize)
{
      DDK_OBJECT_HANDLE hDdkObj;
      I2cClass* pI2c;
      
      DRV_FUNCTION_ENTRY();
      
      hDdkObj = (DDK_OBJECT_HANDLE)i2chandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKI2CReadMasterData(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return ;
      }
	  
	  // Do operation by it's original memember function
      pI2c = (I2cClass*)hDdkObj->DdkObj;
      pI2c->ReadMasterData(byAddress, pbyRxDataBuffer, iRxDataSize);
      
      DRV_FUNCTION_EXIT();
}

void DDKI2CLock(I2CHANDLE i2chandle)
{
      DDK_OBJECT_HANDLE hDdkObj;
      I2cClass* pI2c;
      
      
      DRV_FUNCTION_ENTRY();
      hDdkObj = (DDK_OBJECT_HANDLE)i2chandle;
      
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKI2CLock(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return ;
      }
	  
	  // Do operation by it's original memember function
      pI2c = (I2cClass*)hDdkObj->DdkObj;
      pI2c->Lock();
      
      DRV_FUNCTION_EXIT();
}

void DDKI2CUnlock(I2CHANDLE i2chandle)
{
      DDK_OBJECT_HANDLE hDdkObj;
      I2cClass* pI2c;
      
      
      DRV_FUNCTION_ENTRY();
      
      hDdkObj = (DDK_OBJECT_HANDLE)i2chandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKI2CUnlock(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return ;
      }
	  
	  // Do operation by it's original memember function
      pI2c = (I2cClass*)hDdkObj->DdkObj;
      pI2c->Unlock();
      DRV_FUNCTION_EXIT();
}

BOOL DDKSetI2CFrequency(I2CHANDLE i2chandle, DWORD dwFrequency)
{
      DDK_OBJECT_HANDLE hDdkObj;
      I2cClass* pI2c;
      BOOL bret;
      
      DRV_FUNCTION_ENTRY();
      
      hDdkObj = (DDK_OBJECT_HANDLE)i2chandle;
      // Check the invalid pointer
      if(!hDdkObj || !hDdkObj->DdkObj){
            DEBUGMSG(ZONE_ERROR, (_T("DDKSetI2CFrequency(): NULL pointer\r\n")));
            DRV_FUNCTION_EXIT();
            return FALSE;
      }
	  
	  // Do operation by it's original memember function
      pI2c = (I2cClass*)hDdkObj->DdkObj;
      bret = pI2c->SetFrequency(dwFrequency);
      
      DRV_FUNCTION_EXIT();
      return bret;
}
      

⌨️ 快捷键说明

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