Browse Source

#IQRV #comment [DevAdapter] cw/2021.0524.01

gifur 4 years ago
parent
commit
057e30a307

+ 1 - 1
DevAdapter/CMakeLists.txt

@@ -142,7 +142,7 @@ if(DEVADAPTER_USING_CONAN)
     set(KEBA_CONAN_LIB_NAME keba/2021.0520.01@LR04.02_VendorLib/testing)
 	set(NANTIAN_CONAN_LIB_NAME nantian/2021.0519.01@LR04.02_VendorLib/testing)
 	set(GRG_CONAN_LIB_NAME grg/2021.0519.01@LR04.02_VendorLib/testing)
-	set(CW_CONAN_LIB_NAME cw/2021.0521.01@LR04.02_VendorLib/testing)
+	set(CW_CONAN_LIB_NAME cw/2021.0524.01@LR04.02_VendorLib/testing)
     set(GWI_CONAN_LIB_NAME gwi/2021.0402.01@LR04.02_VendorLib/testing)
 endif(DEVADAPTER_USING_CONAN)
  

+ 60 - 58
DevAdapter/cw/cardissuer.1.1/cardissuerimpl.cpp

@@ -283,9 +283,11 @@ ErrorCodeEnum CardIssuerClassImpl::GetDevStatus(CardIssuerStatus& devStatus)
     }while(0);
 
     char outputParam[512] = { 0 };
+    char sInfo[5][64];
     sprintf(outputParam, "GetDevStatus cardstatus(%s) retainBinStatus(%s) hopper1Status(%s) hopper2Status(%s) hopper3Status(%s)",
-            FormatCardStatus(devStatus.eMedia), FormatRetainBinStatus(devStatus.eRetainBin), FormatCuBoxStatus(devStatus.eIssuerBin[0]),
-            FormatCuBoxStatus(devStatus.eIssuerBin[1]), FormatCuBoxStatus(devStatus.eIssuerBin[2]));
+            FormatCardStatus(devStatus.eMedia, sInfo[0]), FormatRetainBinStatus(devStatus.eRetainBin, sInfo[1]),
+            FormatCuBoxStatus(devStatus.eIssuerBin[0], sInfo[2]),
+            FormatCuBoxStatus(devStatus.eIssuerBin[1], sInfo[3]), FormatCuBoxStatus(devStatus.eIssuerBin[2], sInfo[4]));
     LOG4VTM(INFO, outputParam);
     return eRt;
 }
@@ -319,8 +321,8 @@ ErrorCodeEnum CardIssuerClassImpl::MoveCard(CardPosEnum eCardPos, int hopperNo)
     LOG4VTM_FUNCTION();
     if (!m_bIsOpen)
         return HandleDevError(DEVICE_NOT_OPEN, "MoveCard");
-    char inputParam[128] = { 0 };
-    sprintf(inputParam, "InputParam>> eCardPos(%s) hopperNo(%d)", FormatCardPosStatus(eCardPos), hopperNo);
+    char inputParam[128] = { 0 }, sInfo[64];
+    sprintf(inputParam, "InputParam>> eCardPos(%s) hopperNo(%d)", FormatCardPosStatus(eCardPos, sInfo), hopperNo);
     LOG4VTM(INFO, inputParam);
     ErrorCodeEnum eRt = Error_Succeed;
     int iRt = 0;
@@ -398,8 +400,8 @@ ErrorCodeEnum CardIssuerClassImpl::SetCardInType(CardInEnum eCardIn)
     if (!m_bIsOpen)
         return HandleDevError(DEVICE_NOT_OPEN, "SetCardInType");
     m_bCardRead = false;
-    char sTemp[128] = { 0 };
-    sprintf(sTemp, "SetCardInType eCardIn(%s)", FormatCardIn(eCardIn));
+    char sTemp[128] = { 0 }, sInfo[64];
+    sprintf(sTemp, "SetCardInType eCardIn(%s)", FormatCardIn(eCardIn, sInfo));
     LOG4VTM(INFO, sTemp);
     ErrorCodeEnum eRt = Error_Succeed;
     int iRt = 0;
@@ -479,8 +481,8 @@ ErrorCodeEnum CardIssuerClassImpl::MagRead(MagTracks& magTracks)
     LOG4VTM_FUNCTION();
     if (!m_bIsOpen)
         return HandleDevError(DEVICE_NOT_OPEN, "MagRead");
-    char sTemp[128] = { 0 };
-    sprintf(sTemp, "MagRead eRange(%s)", FormatTrackRange(magTracks.eRange));
+    char sTemp[128] = { 0 }, sInfo[64];
+    sprintf(sTemp, "MagRead eRange(%s)", FormatTrackRange(magTracks.eRange, sInfo));
     LOG4VTM(INFO, sTemp);
     ErrorCodeEnum eRt = Error_Succeed;
     if (!m_bCardRead)
@@ -508,8 +510,8 @@ ErrorCodeEnum CardIssuerClassImpl::MagWrite(MagTracks magTracks, MagWriteModeEnu
     LOG4VTM_FUNCTION();
     if (!m_bIsOpen)
         return HandleDevError(DEVICE_NOT_OPEN, "MagWrite");
-    char sTemp[512] = { 0 };
-    sprintf(sTemp, "MagWrite eRange(%s) track1[%d], track2[%d], track3[%d]", FormatTrackRange(magTracks.eRange),
+    char sTemp[512] = { 0 }, sInfo[64];
+    sprintf(sTemp, "MagWrite eRange(%s) track1[%d], track2[%d], track3[%d]", FormatTrackRange(magTracks.eRange, sInfo),
             magTracks.track[0].dwSize, magTracks.track[1].dwSize, magTracks.track[2].dwSize);
     LOG4VTM(INFO, sTemp);
     ErrorCodeEnum eRt = Error_Succeed;
@@ -713,148 +715,148 @@ ErrorCodeEnum CardIssuerClassImpl::GetLastErr(DevErrorInfo &devErrInfo)
     return Error_Succeed;
 }
 
-char* CardIssuerClassImpl::FormatRetainBinStatus(RtBinStatusEnum status)
+char* CardIssuerClassImpl::FormatRetainBinStatus(RtBinStatusEnum status, char* pformatStatus)
 {
-    memset(m_pformatStatus, 0, 64);
+    memset(pformatStatus, 0, 64);
     switch(status)
     {
     case CI_RETAINBIN_OK:
-        sprintf(m_pformatStatus, "CI_RETAINBIN_OK");
+        sprintf(pformatStatus, "CI_RETAINBIN_OK");
         break;
     case CI_RETAIN_NOTSUPP:
-        sprintf(m_pformatStatus, "CI_RETAIN_NOTSUPP");
+        sprintf(pformatStatus, "CI_RETAIN_NOTSUPP");
         break;
     case CI_RETAINBIN_FULL:
-        sprintf(m_pformatStatus, "CI_RETAINBIN_FULL");
+        sprintf(pformatStatus, "CI_RETAINBIN_FULL");
         break;
     case CI_RETAINBIN_HIGH:
-        sprintf(m_pformatStatus, "CI_RETAINBIN_HIGH");
+        sprintf(pformatStatus, "CI_RETAINBIN_HIGH");
         break;
     }
-    return m_pformatStatus;
+    return pformatStatus;
 }
 
-char* CardIssuerClassImpl::FormatCuBoxStatus(IssHopperStatusEnum status)
+char* CardIssuerClassImpl::FormatCuBoxStatus(IssHopperStatusEnum status, char* pformatStatus)
 {
-    memset(m_pformatStatus, 0, 64);
+    memset(pformatStatus, 0, 64);
     switch(status)
     {
     case CI_ISSUEHOPPER_OK:
-        sprintf(m_pformatStatus, "CI_ISSUEHOPPER_OK");
+        sprintf(pformatStatus, "CI_ISSUEHOPPER_OK");
         break;
     case CI_ISSUEHOPPER_NOTSUPP:
-        sprintf(m_pformatStatus, "CI_ISSUEHOPPER_NOTSUPP");
+        sprintf(pformatStatus, "CI_ISSUEHOPPER_NOTSUPP");
         break;
     case CI_ISSUEHOPPER_EMPTY:
-        sprintf(m_pformatStatus, "CI_ISSUEHOPPER_EMPTY");
+        sprintf(pformatStatus, "CI_ISSUEHOPPER_EMPTY");
         break;
     case CI_ISSUEHOPPER_LOW:
-        sprintf(m_pformatStatus, "CI_ISSUEHOPPER_LOW");
+        sprintf(pformatStatus, "CI_ISSUEHOPPER_LOW");
         break;
     }
-    return m_pformatStatus;
+    return pformatStatus;
 }
 
-char* CardIssuerClassImpl::FormatCardPosStatus(CardPosEnum status)
+char* CardIssuerClassImpl::FormatCardPosStatus(CardPosEnum status, char* pformatStatus)
 {
-    memset(m_pformatStatus, 0, 64);
+    memset(pformatStatus, 0, 64);
     switch(status)
     {
     case CI_MOVECARD_FRONT_GATE:
-        sprintf(m_pformatStatus, "CI_MOVECARD_FRONT_GATE");
+        sprintf(pformatStatus, "CI_MOVECARD_FRONT_GATE");
         break;
     case CI_MOVECARD_RF_POSITION:
-        sprintf(m_pformatStatus, "CI_MOVECARD_RF_POSITION");
+        sprintf(pformatStatus, "CI_MOVECARD_RF_POSITION");
         break;
     case CI_MOVECARD_IC_POSITION:
-        sprintf(m_pformatStatus, "CI_MOVECARD_IC_POSITION");
+        sprintf(pformatStatus, "CI_MOVECARD_IC_POSITION");
         break;
     case CI_MOVECARD_MAG_POSITION:
-        sprintf(m_pformatStatus, "CI_MOVECARD_MAG_POSITION");
+        sprintf(pformatStatus, "CI_MOVECARD_MAG_POSITION");
         break;
     case CI_MOVECARD_BACK_NOT_HOLD:
-        sprintf(m_pformatStatus, "CI_MOVECARD_BACK_NOT_HOLD");
+        sprintf(pformatStatus, "CI_MOVECARD_BACK_NOT_HOLD");
         break;
     case CI_MOVECARD_FROM_HOPPER:
-        sprintf(m_pformatStatus, "CI_MOVECARD_FROM_HOPPER");
+        sprintf(pformatStatus, "CI_MOVECARD_FROM_HOPPER");
         break;
     case CI_MOVECARD_RETRIEVE:
-        sprintf(m_pformatStatus, "CI_MOVECARD_RETRIEVE");
+        sprintf(pformatStatus, "CI_MOVECARD_RETRIEVE");
         break;
     }
-    return m_pformatStatus;
+    return pformatStatus;
 }
 
-char* CardIssuerClassImpl::FormatCardStatus(CardStatusEnum status)
+char* CardIssuerClassImpl::FormatCardStatus(CardStatusEnum status, char* pformatStatus)
 {
-    memset(m_pformatStatus, 0, 64);
+    memset(pformatStatus, 0, 64);
     switch(status)
     {
     case CI_MEDIA_NOTPRESENT:
-        sprintf(m_pformatStatus, "CI_MEDIA_NOTPRESENT");
+        sprintf(pformatStatus, "CI_MEDIA_NOTPRESENT");
         break;
     case CI_MEDIA_PRESENT:
-        sprintf(m_pformatStatus, "CI_MEDIA_PRESENT");
+        sprintf(pformatStatus, "CI_MEDIA_PRESENT");
         break;
     case CI_MEDIA_JAMMED:
-        sprintf(m_pformatStatus, "CI_MEDIA_JAMMED");
+        sprintf(pformatStatus, "CI_MEDIA_JAMMED");
         break;
     default:
-        sprintf(m_pformatStatus, "Unknown %d", status);
+        sprintf(pformatStatus, "Unknown %d", status);
         break;
     }
-    return m_pformatStatus;
+    return pformatStatus;
 }
 
-char* CardIssuerClassImpl::FormatCardIn(CardInEnum status)
+char* CardIssuerClassImpl::FormatCardIn(CardInEnum status, char* pformatStatus)
 {
-    memset(m_pformatStatus, 0, 64);
+    memset(pformatStatus, 0, 64);
     switch(status)
     {
     case CI_CARD_IN_TYPE_FORBIDDEN:
-        sprintf(m_pformatStatus, "CI_CARD_IN_TYPE_FORBIDDEN");
+        sprintf(pformatStatus, "CI_CARD_IN_TYPE_FORBIDDEN");
         break;
     case CI_CARD_IN_TYPE_MAG:
-        sprintf(m_pformatStatus, "CI_CARD_IN_TYPE_MAG");
+        sprintf(pformatStatus, "CI_CARD_IN_TYPE_MAG");
         break;
     case CI_CARD_IN_TYPE_ALL:
-        sprintf(m_pformatStatus, "CI_CARD_IN_TYPE_ALL");
+        sprintf(pformatStatus, "CI_CARD_IN_TYPE_ALL");
         break;
     }
-    return m_pformatStatus;
+    return pformatStatus;
 }
 
-char* CardIssuerClassImpl::FormatTrackRange(TrackRange status)
+char* CardIssuerClassImpl::FormatTrackRange(TrackRange status, char* pformatStatus)
 {
-    memset(m_pformatStatus, 0, 64);
+    memset(pformatStatus, 0, 64);
     switch(status)
     {
     case CI_TRACK_RANGE_1:
-        sprintf(m_pformatStatus, "CI_TRACK_RANGE_1");
+        sprintf(pformatStatus, "CI_TRACK_RANGE_1");
         break;
     case CI_TRACK_RANGE_2:
-        sprintf(m_pformatStatus, "CI_TRACK_RANGE_2");
+        sprintf(pformatStatus, "CI_TRACK_RANGE_2");
         break;
     case CI_TRACK_RANGE_3:
-        sprintf(m_pformatStatus, "CI_TRACK_RANGE_3");
+        sprintf(pformatStatus, "CI_TRACK_RANGE_3");
         break;
     case CI_TRACK_RANGE_1_2:
-        sprintf(m_pformatStatus, "CI_TRACK_RANGE_1_2");
+        sprintf(pformatStatus, "CI_TRACK_RANGE_1_2");
         break;
     case CI_TRACK_RANGE_2_3:
-        sprintf(m_pformatStatus, "CI_TRACK_RANGE_2_3");
+        sprintf(pformatStatus, "CI_TRACK_RANGE_2_3");
         break;
     case CI_TRACK_RANGE_1_3:
-        sprintf(m_pformatStatus, "CI_TRACK_RANGE_1_3");
+        sprintf(pformatStatus, "CI_TRACK_RANGE_1_3");
         break;
     case CI_TRACK_RANGE_1_2_3:
-        sprintf(m_pformatStatus, "CI_TRACK_RANGE_1_2_3");
+        sprintf(pformatStatus, "CI_TRACK_RANGE_1_2_3");
         break;
     default:
-        sprintf(m_pformatStatus, "CI_TRACK_RANGE_Unk");
+        sprintf(pformatStatus, "CI_TRACK_RANGE_Unk");
         break;
     }
-    return m_pformatStatus;
+    return pformatStatus;
 }
 
 ErrorCodeEnum CardIssuerClassImpl::HandleDevError(int nRt, LPCTSTR lpszFormat, ...)

+ 7 - 7
DevAdapter/cw/cardissuer.1.1/cardissuerimpl.h

@@ -265,12 +265,12 @@ public:
     virtual ErrorCodeEnum QuerySlotsStatus(SlotStatus& slots, const int slot, bool bFull = false) { return Error_NotImpl; }
 private:
     ErrorCodeEnum HandleDevError(int nRt, LPCTSTR lpszFormat, ...);
-    char* FormatRetainBinStatus(RtBinStatusEnum status);
-    char* FormatCuBoxStatus(IssHopperStatusEnum status);
-    char* FormatCardStatus(CardStatusEnum status);
-    char* FormatCardPosStatus(CardPosEnum status);
-    char* FormatCardIn(CardInEnum status);
-    char* FormatTrackRange(TrackRange status);
+    char* FormatRetainBinStatus(RtBinStatusEnum status, char* pformatStatus);
+    char* FormatCuBoxStatus(IssHopperStatusEnum status, char* pformatStatus);
+    char* FormatCardStatus(CardStatusEnum status, char* pformatStatus);
+    char* FormatCardPosStatus(CardPosEnum status, char* pformatStatus);
+    char* FormatCardIn(CardInEnum status, char* pformatStatus);
+    char* FormatTrackRange(TrackRange status, char* pformatStatus);
 private:
     bool            m_bIsOpen;
     int             m_mode;
@@ -282,7 +282,7 @@ private:
     void            ReadMagData();
     char            m_saMagData[3][512];
 
-    char            m_pformatStatus[64];
+//    char            m_pformatStatus[64];
     bool            m_T;
 };
 

+ 5 - 1
DevAdapter/cw/contactlesscard.1.1/contactlessimpl.cpp

@@ -200,13 +200,14 @@ ErrorCodeEnum ContactlessCardImpl::GetDevStatus(RFICReaderStatus& devStatus)
     int iRet = m_PcscCall.GetState(iType);
     if (iRet < 0)
         return GetErrorInfo(PCSC_HARDWARE_ERROR, "GetDevStatus %s", m_PcscCall.GetErrInfo());
-
+    char    sOut[256];
     if (iRet > 0)
     {
         switch(iType)
         {
         case 13:
             devStatus.eMediaPos = CI_MEDIA_IDCARD;
+            sprintf(sOut, "GetDevStatus CI_MEDIA_IDCARD");
             break;
         //测试7,19都可以读出IC
 //        case 19:
@@ -214,6 +215,7 @@ ErrorCodeEnum ContactlessCardImpl::GetDevStatus(RFICReaderStatus& devStatus)
 //            break;
         default:
             devStatus.eMediaPos = CI_MEDIA_RF;
+            sprintf(sOut, "GetDevStatus CI_MEDIA_RF");
 //            devStatus.eMediaPos = CI_MEDIA_NOTPRESENT;
 //            m_bCardConn = false;
         }
@@ -221,8 +223,10 @@ ErrorCodeEnum ContactlessCardImpl::GetDevStatus(RFICReaderStatus& devStatus)
     else
     {
         devStatus.eMediaPos = CI_MEDIA_NOTPRESENT;
+        sprintf(sOut, "GetDevStatus CI_MEDIA_NOTPRESENT");
         m_bCardConn = false;
     }
+    LOG4VTM(INFO, sOut);
     return Error_Succeed;
 }
 //

+ 2 - 1
DevAdapter/cw/deps/cw.baseio/serial.cpp

@@ -207,7 +207,8 @@ void SSerial::Flush()
 //	Return:		  -1: 发送失败 >0:已经发送的字节
 int SSerial::SendOnce(const char *sData, int iLen, int timeout )
 {
-//    SetTimeout(timeout);
+    if (m_cFlow != Flow_NO)
+        SetTimeout(timeout);
     return write( m_hCom, sData, iLen); //实际写入的长度
 }
 

+ 5 - 2
DevAdapter/cw/ups.1.1/deviceconnect.cpp

@@ -5,6 +5,7 @@
 DeviceConnect::DeviceConnect()
 {
     m_pSerial = new SSerial();
+    m_pSerial->SetCtrl(8,1,Parity_NO, Flow_DSR);
 }
 
 DeviceConnect::~DeviceConnect()
@@ -119,10 +120,12 @@ int DeviceConnect::Execute(BYTE* pData, int iLength, BYTE* pOut, int* pOutLen, i
     iLength++;
 
     int iSend = m_pSerial->Send((const char*)sData, iLength, iTimeOut);
-    if (iSend < iLength)    return UPS_TIMEOUT;
+    if (iSend < iLength)
+        return UPS_TIMEOUT;
 
     iSend = m_pSerial->Receive((char*)sData, 2, iTimeOut);
-    if (iSend < 2)  return UPS_TIMEOUT;
+    if (iSend < 2)
+        return UPS_TIMEOUT;
     iSend += m_pSerial->Receive((char*)sData + 2, 1000, 100);
 
     if (sData[0] != 0x40)

+ 2 - 2
DevAdapter/cw/ups.1.1/deviceconnect.h

@@ -33,8 +33,8 @@ public:
 protected:
     SSerial*    m_pSerial;
     BYTE    CalBcc(BYTE* pData, BYTE iCount);
-    int     Execute(BYTE* pData, int iLength, BYTE* pOut, int* pOutLen, int iTimeOut = 200);
-    int     Execute(BYTE* pData, int iLength, int iTimeOut = 200);
+    int     Execute(BYTE* pData, int iLength, BYTE* pOut, int* pOutLen, int iTimeOut = 300);
+    int     Execute(BYTE* pData, int iLength, int iTimeOut = 300);
 
 };
 

+ 1 - 1
DevAdapter/cw/ups.1.1/upsdev.cpp

@@ -29,7 +29,7 @@ DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass *&baseObj)
 
         cmb::log_init_config config;
         config.log_level=CMB_LOG_LEVEL_ALL;
-        config.dev_name = "Gpio";
+        config.dev_name = "UPS";
     #if defined(_MSC_VER)
         config.log_dir = ("C:\\rvc\\dbg\\");
     #else

+ 7 - 0
DevAdapter/cw/ups.1.1/upsimpl.cpp

@@ -104,6 +104,13 @@ ErrorCodeEnum UpsClassImpl::GetDevStatus(UpsStatusEnum& eStatus)
         eStatus = UPS_STATUS_ERROR_TO_GET_STATUS;
     int i1,i2;
     iRet = m_pDevice->GetVoltage(i1, i2);
+    if (iRet == 0)
+    {
+        char sVOut[128];
+        sprintf(sVOut, "GetDevStatus GetVoltage UPS供电 %s 电压 %d 电量 %d%%",
+                bUps ? "是" : "否", i1, i2);
+        LOG4VTM(INFO, sVOut);
+    }
     return GetErrorInfo(iRet, "GetDevStatus");
 }