|
@@ -1,6 +1,10 @@
|
|
|
#include "gpio_impl.h"
|
|
|
+#include "gpio_httpans.h"
|
|
|
#include<cstring>
|
|
|
#include <cstdio>
|
|
|
+#include "log4vendor.h"
|
|
|
+#include <path.h>
|
|
|
+
|
|
|
GPIOClassImpl::GPIOClassImpl()
|
|
|
:m_mode(0)
|
|
|
{
|
|
@@ -16,16 +20,31 @@ ErrorCodeEnum GPIOClassImpl::GetDevCategory(DevCategoryInfo &devCategory)
|
|
|
{
|
|
|
|
|
|
ErrorCodeEnum err = Error_Succeed;
|
|
|
- std::strcpy(devCategory.szModel, "szModel");
|
|
|
- std::strcpy(devCategory.szType, "szCategory");
|
|
|
- std::strcpy(devCategory.szVendor, "szVendor");
|
|
|
+ SimulatorDevCategoryAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "GetDevCategory", ans);
|
|
|
+ LOG4VTM(INFO, "GetDevCategory err = " << err);
|
|
|
+
|
|
|
+ strcpy(devCategory.szType, ans.szType.c_str());
|
|
|
+ strcpy(devCategory.szModel, ans.szModel.c_str());
|
|
|
+ strcpy(devCategory.szVendor, ans.szVendor.c_str());
|
|
|
+ devCategory.eState = (DevStateEnum)ans.eState;
|
|
|
+ devCategory.version.wMajor = ans.version.wMajor;
|
|
|
+ devCategory.version.wMinor = ans.version.wMinor;
|
|
|
+ devCategory.version.wRevision = ans.version.wRevision;
|
|
|
+ devCategory.version.wBuild = ans.version.wBuild;
|
|
|
+
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
ErrorCodeEnum GPIOClassImpl::Reset()
|
|
|
{
|
|
|
ErrorCodeEnum err = Error_Succeed;
|
|
|
- m_mode = 0;
|
|
|
+ SimulatorCommonAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "Reset", ans);
|
|
|
+ LOG4VTM(INFO, "Reset err = " << err);
|
|
|
+
|
|
|
return err;
|
|
|
}
|
|
|
|
|
@@ -33,28 +52,107 @@ ErrorCodeEnum GPIOClassImpl::Reset()
|
|
|
ErrorCodeEnum GPIOClassImpl::DevClose()
|
|
|
{
|
|
|
ErrorCodeEnum err = Error_Succeed;
|
|
|
+ SimulatorCommonAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "DevClose", ans);
|
|
|
+ LOG4VTM(INFO, "DevClose err = " << err);
|
|
|
+
|
|
|
return err;
|
|
|
}
|
|
|
|
|
|
ErrorCodeEnum GPIOClassImpl::GetLastErr(DevErrorInfo &devErrInfo)
|
|
|
{
|
|
|
- static int times = 0;
|
|
|
- char szMessage[128];
|
|
|
- char szSubMessage[64];
|
|
|
- sprintf(szSubMessage, "%d", ++times);
|
|
|
- sprintf(szMessage, "{\"ErrCode\":9555, \"Description\":\"Func:%s,Line:%d,Msg:%s\"}", __FUNCTION__, __LINE__, szSubMessage);
|
|
|
- devErrInfo.dwErrMsgLen = strlen(szMessage);
|
|
|
- return Error_Succeed;
|
|
|
+ ErrorCodeEnum err = Error_Succeed;
|
|
|
+ SimulatorDevErrInfoAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "GetLastErr", ans);
|
|
|
+ LOG4VTM(INFO, "GetLastErr err = " << err);
|
|
|
+
|
|
|
+ devErrInfo.dwErrMsgLen = ans.dwErrMsgLen;
|
|
|
+ strcpy(devErrInfo.szErrMsg, ans.szErrMsg.c_str());
|
|
|
+
|
|
|
+ return err;
|
|
|
}
|
|
|
|
|
|
+ErrorCodeEnum GPIOClassImpl::DevOpen(GpioInitParam initParam)
|
|
|
+{
|
|
|
+ ErrorCodeEnum err = Error_Succeed;
|
|
|
+ SimulatorCommonAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "DevOpen", ans);
|
|
|
+ LOG4VTM(INFO, "DevOpen err = " << err);
|
|
|
+
|
|
|
+ return err;
|
|
|
+}
|
|
|
+
|
|
|
+ErrorCodeEnum GPIOClassImpl::WritePort(DWORD dwPort, BYTE btData)
|
|
|
+{
|
|
|
+ ErrorCodeEnum err = Error_Succeed;
|
|
|
+ SimulatorCommonAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "WritePort", ans);
|
|
|
+ LOG4VTM(INFO, "WritePort err = " << err);
|
|
|
+
|
|
|
+ return err;
|
|
|
+}
|
|
|
+
|
|
|
+ErrorCodeEnum GPIOClassImpl::ReadPort(DWORD dwPort, BYTE& btStatus)
|
|
|
+{
|
|
|
+ ErrorCodeEnum err = Error_Succeed;
|
|
|
+ ReadPortAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "ReadPort", ans);
|
|
|
+ LOG4VTM(INFO, "ReadPort err = " << err);
|
|
|
+
|
|
|
+ btStatus = (BYTE)ans.btStatus;
|
|
|
+
|
|
|
+ return err;
|
|
|
+}
|
|
|
+
|
|
|
+#ifndef _MSC_VER
|
|
|
+ErrorCodeEnum GPIOClassImpl::SetStatus(DWORD dwReq, DWORD dwMode)
|
|
|
+{
|
|
|
+ ErrorCodeEnum err = Error_Succeed;
|
|
|
+ SimulatorCommonAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "SetStatus", ans);
|
|
|
+ LOG4VTM(INFO, "SetStatus err = " << err);
|
|
|
+
|
|
|
+ return err;
|
|
|
+}
|
|
|
+
|
|
|
+ErrorCodeEnum GPIOClassImpl::DetectStatus(DWORD dwReq, DWORD& dwMode)
|
|
|
+{
|
|
|
+ ErrorCodeEnum err = Error_Succeed;
|
|
|
+ DetectStatusAns ans;
|
|
|
+
|
|
|
+ err = SimulatorHttpFunction(EntityName, "ReadPort", ans);
|
|
|
+ LOG4VTM(INFO, "ReadPort err = " << err);
|
|
|
+
|
|
|
+ dwMode = (BYTE)ans.dwMode;
|
|
|
+
|
|
|
+ return err;
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
DEVICEBASE_API ErrorCodeEnum CreateDevComponent(DeviceBaseClass *&baseObj)
|
|
|
{
|
|
|
baseObj = new GPIOClassImpl();
|
|
|
if(baseObj == NULL) {
|
|
|
return Error_Resource;
|
|
|
- } else {
|
|
|
+ }
|
|
|
+
|
|
|
+ cmb::log_init_config config;
|
|
|
+ config.dev_name = "vendor_Gpio";
|
|
|
+#ifdef _MSC_VER
|
|
|
+ config.log_dir = ("D:\\rvc\\dbg\\");
|
|
|
+#else
|
|
|
+ config.log_dir = ("/opt/rvc/dbg/");
|
|
|
+#endif
|
|
|
+ std::string str;
|
|
|
+ cmb::log4vendor::init(config, str);
|
|
|
+
|
|
|
return Error_Succeed;
|
|
|
- }
|
|
|
}
|
|
|
DEVICEBASE_API ErrorCodeEnum ReleaseDevComponent(DeviceBaseClass *&pBaseObj)
|
|
|
{
|