123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #include "stdafx.h"
- #include "PC.h"
- CPC::CPC()
- {
- init_config.Filter = 0; //µ¥Â˲¨
- init_config.Mode = 0; //Õý³£Ä£Ê½
- init_config.Reserved = 0;
- }
- CPC::~CPC()
- {
- }
- BOOL CPC::LoadDLL()
- {
- if (m_wrapper.Init("CAN_TO_USB.dll"))
- return TRUE;
- else
- return FALSE;
- }
- BOOL CPC::OpenDevice(DWORD devInd)
- {
- if (m_wrapper.VCI_OpenDevice(devInd) != STATUS_OK)
- return FALSE;
- return TRUE;
- }
- void CPC::CloseDevice(DWORD devInd)
- {
- m_wrapper.VCI_CloseDevice(devInd);
- }
- BOOL CPC::InitCAN(DWORD devInd, DWORD CANInd, PVCI_INIT_CONFIG pInitConfig)
- {
- init_config.AccCode = pInitConfig->AccCode;
- init_config.AccMask = pInitConfig->AccMask;
- init_config.Timing0 = pInitConfig->Timing0;
- init_config.Timing1 = pInitConfig->Timing1;
- if (m_wrapper.VCI_InitCan(devInd, CANInd, &init_config) != STATUS_OK)
- return FALSE;
- return TRUE;
- }
- BOOL CPC::StartCAN(DWORD devInd, DWORD CANInd)
- {
- return TRUE;
- }
- BOOL CPC::ResetCAN(DWORD devInd, DWORD CANInd)
- {
- if (m_wrapper.VCI_ResetCan(devInd, CANInd) != STATUS_OK)
- return FALSE;
- return TRUE;
- }
- BOOL CPC::ClearBuffer(DWORD devInd, DWORD CANInd)
- {
- if (m_wrapper.VCI_ClearBuffer(devInd, CANInd) != STATUS_OK)
- return FALSE;
- return TRUE;
- }
- void CPC::ReadErrInfo(DWORD devInd, DWORD CANInd, PVCI_ERR_INFO pErrInfo)
- {
- }
- ULONG CPC::GetReceiveNum(DWORD devInd, DWORD CANInd)
- {
- ULONG len = m_wrapper.VCI_GetReceiveNum(devInd, CANInd);
- return len;
- }
- ULONG CPC::Transmit(DWORD devInd, DWORD CANInd, PVCI_CAN_OBJ pSend,ULONG Len)
- {
- ULONG len;
- VCI_CAN_OBJ_PC frameinfo;
- frameinfo.ID = pSend->ID;
- frameinfo.DataLen = pSend->DataLen;
- frameinfo.SendType = 0;
- frameinfo.ExternFlag = pSend->ExternFlag;
- frameinfo.RemoteFlag = pSend->RemoteFlag;
- memcpy(frameinfo.Data, pSend->Data, 8);
- len = m_wrapper.VCI_Transmit(devInd, CANInd, &frameinfo);
- return len;
- }
- ULONG CPC::Receive(DWORD devInd, DWORD CANInd, PVCI_CAN_OBJ pReceive,ULONG Len, INT WaitTime/* =1 */)
- {
- ULONG len;
- VCI_CAN_OBJ_PC frameinfo[100];
- len = m_wrapper.VCI_Receive(devInd, CANInd, frameinfo, Len, 1);
- if (len > 0)
- {
- for (int i=0;i<len;i++)
- {
- pReceive[i].ID = frameinfo[i].ID;
- pReceive[i].DataLen = frameinfo[i].DataLen;
- pReceive[i].SendType = frameinfo[i].SendType;
- memcpy(pReceive[i].Data, frameinfo[i].Data, 8);
- }
- }
- return len;
- }
|