6 changed files with 231 additions and 46 deletions
			
			
		@ -0,0 +1,140 @@ | 
				
			|||
#include <QDebug> | 
				
			|||
#include <QVector> | 
				
			|||
#include "include/Wrapper/PlxWrapper.h" | 
				
			|||
 | 
				
			|||
PlxWrapper::PlxWrapper() | 
				
			|||
{ | 
				
			|||
 | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceInit(quint32 devicekey) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_SelDevice(devicekey); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceOpen(void) | 
				
			|||
{ | 
				
			|||
    return  PlxPci_9054_Open(); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
 | 
				
			|||
bool PlxWrapper::deviceClose(void) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_Close(); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceReset(void) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_Reset(); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceLoadE2pToFPGA(void) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_LoadE2pToFPGA(); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceReadEeprom(quint16 offset,quint32 length, QVector<quint32> &data) | 
				
			|||
{ | 
				
			|||
    bool ret = true; | 
				
			|||
    data.clear(); | 
				
			|||
 | 
				
			|||
    for(auto i = 0U; i < (length-1)*4; i+=4) | 
				
			|||
    { | 
				
			|||
        quint32 temp; | 
				
			|||
        ret &= PlxPci_9054_ReadEep(offset+i, &temp); | 
				
			|||
        data.append(temp); | 
				
			|||
    } | 
				
			|||
    return ret; | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceWriteEeprom(quint16 offset,quint32 data) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_WriteEep(offset,data); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceReadRegister(quint32 address,QVector<quint32> &data,quint32 length) | 
				
			|||
{ | 
				
			|||
    bool ret = true; | 
				
			|||
    data.clear(); | 
				
			|||
 | 
				
			|||
    quint32 temp[length]; | 
				
			|||
    ret &= PlxPci_9054_ReadBar(address,&temp,length * 4); | 
				
			|||
    if(ret == true) | 
				
			|||
    { | 
				
			|||
        for(auto i = 0U; i <length; i++) | 
				
			|||
        { | 
				
			|||
           data.append(temp[i]); | 
				
			|||
            qDebug()<<hex<<temp[i]; | 
				
			|||
        } | 
				
			|||
    } | 
				
			|||
    return ret; | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceReadRegister(quint32 address,quint32 &data) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_ReadBar(address,&data,4); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceWriteRegister(quint32 address,QVector<quint32> &data) | 
				
			|||
{ | 
				
			|||
    bool ret = true; | 
				
			|||
    auto length = data.length(); | 
				
			|||
    quint32 temp[length]; | 
				
			|||
 | 
				
			|||
    for(auto i = 0U; i <length; i++) | 
				
			|||
       temp[i] = data.at(i); | 
				
			|||
 | 
				
			|||
    ret &= PlxPci_9054_WriteBar(address,&temp,length * 4); | 
				
			|||
 | 
				
			|||
    return ret; | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceWriteRegister(quint32 address,quint32 data) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_WriteBar(address,&data,4); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceReadMemory(quint32 localAddress ,QVector<quint32> &data,quint32 length) | 
				
			|||
{ | 
				
			|||
    bool ret = true; | 
				
			|||
    data.clear(); | 
				
			|||
 | 
				
			|||
    quint32 temp[length]; | 
				
			|||
    ret &= PlxPci_9054_DMATransfer(localAddress,&temp,(quint32)(length*4)); | 
				
			|||
 | 
				
			|||
    for(auto i = 0U; i <length; i++) | 
				
			|||
       data.append(temp[i]); | 
				
			|||
 | 
				
			|||
      return  ret; | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceOpenPCIChannel(void) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_DMAChannelOpen(); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceClosePCIChannel(void) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_DMAChannelClose(); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
 | 
				
			|||
bool PlxWrapper::deviceEnableInterrupt(void) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_EnableInterrupt(); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceDisableInterrupt(void) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_DisableInterrupt(); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceWaitForInterrupt(quint32 timeout) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_WaitForInterrupt(timeout); | 
				
			|||
} | 
				
			|||
/*************************************************************************************************/ | 
				
			|||
bool PlxWrapper::deviceGetChipType(quint8 revision,quint16 chipType) | 
				
			|||
{ | 
				
			|||
    return PlxPci_9054_ChipTypeGet(revision,chipType); | 
				
			|||
} | 
				
			|||
					Loading…
					
					
				
		Reference in new issue