Browse Source

Z991239-914 #comment other: 添加一个模拟指纹适配器

翟俊伟80258120 5 years ago
parent
commit
32e1a65df5

+ 1 - 0
DevAdapter/cmbsz/CMakeLists.txt

@@ -15,6 +15,7 @@ set(VENDOR_CURRENT_BIN_DIR "${CMAKE_CURRENT_SOURCE_DIR}/bin/${DIFF_PLATFORM_SUB_
 add_subdirectory(deps)
 add_subdirectory(pinpad.1.1)
 add_subdirectory(cardswiper.1.1)
+add_subdirectory(FingerPrint.1.1)
 
 #  =-=-=-=-=-=-=-=-=-= {VendorName}/CMakeLists.txt 文件最后必须声明如下内容=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=
 rvc_aggereate_runtime_file()

+ 24 - 0
DevAdapter/cmbsz/FingerPrint.1.1/CMakeLists.txt

@@ -0,0 +1,24 @@
+# 声明模块名称的前缀和名称
+rvc_dev_define_module("FingerPrint")
+
+# rvc_dev_config_library 内需要使用这三个参数,用于拼接输出的适配器文件名称
+set(${MODULE_PREFIX}_VENDOR "cmbsz")
+set(${MODULE_PREFIX}_VERSION "1")
+set(${MODULE_PREFIX}_BATCH "1")
+
+# 包含要编译的实现文件,rvc_dev_config_library 内使用
+set(${MODULE_PREFIX}_SRCS SHARED
+	FingerPrint_Impl.cpp
+)
+
+# 适配器工程需要通过此宏替代 add_library
+rvc_dev_config_library(${MODULE_NAME} ${MODULE_PREFIX})
+
+# ${MODULE_FULL_NAME} 是 TAGET 名称,在 rvc_dev_config_library 中定义
+target_include_directories(${MODULE_FULL_NAME} PRIVATE "${VENDOR_CURRENT_INCLUDE_DIR}")
+target_link_directories(${MODULE_FULL_NAME} PRIVATE "${VENDOR_CURRENT_LIB_DIR}")
+
+target_link_libraries(${MODULE_FULL_NAME} demo)
+
+#  =-=-=-=-=-=-=-=-=-= {适配器工程}/CMakeLists.txt 文件最后必须声明如下内容=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=
+rvc_dev_target_install(${MODULE_FULL_NAME})

+ 73 - 0
DevAdapter/cmbsz/FingerPrint.1.1/FingerPrint_Impl.cpp

@@ -0,0 +1,73 @@
+/*
+ * Create by LocalUser on 2020/9/22
+*/
+
+#include "FingerPrint_Impl.h"
+
+FingerPrintImpl::FingerPrintImpl()
+{
+
+}
+
+FingerPrintImpl::~FingerPrintImpl()
+{
+
+}
+
+ErrorCodeEnum FingerPrintImpl::GetDevCategory(DevCategoryInfo& devCategory)
+{
+	ErrorCodeEnum err = Error_Succeed;
+	/*std::strcpy(devCategory.szModel, "szModel");
+	std::strcpy(devCategory.szType, "szCategory");
+	std::strcpy(devCategory.szVendor, "szVendor");*/
+	return err;
+}
+
+ErrorCodeEnum FingerPrintImpl::Reset()
+{
+	ErrorCodeEnum err = Error_Unexpect;
+	m_mode = 0;
+	return err;
+}
+
+ErrorCodeEnum FingerPrintImpl::DevOpen(DWORD dwPort, DWORD dwBaudRate)
+{
+	static int nums = 0;
+	ErrorCodeEnum err = Error_Succeed;
+	if (nums == 0) {
+		err = Error_Unexpect;
+		nums = 1;
+	}
+	return err;
+}
+
+ErrorCodeEnum FingerPrintImpl::Image2Feature(const char* imageName, LPBYTE lpbFeature, int& iLength)
+{
+	return Error_NotImpl;
+}
+
+ErrorCodeEnum FingerPrintImpl::Image2Template(const char* imagePath1, const char* imagePath2, const char* imagePath3, LPBYTE lpbTemplate, int& iLength)
+{
+	return Error_NotImpl;
+}
+
+ErrorCodeEnum FingerPrintImpl::Match(LPBYTE lpbTemplate[], int iTemplateLen[], int templateNum, LPBYTE lbpFeature, int& iFeatureLen, int level /* = 3 */)
+{
+	return Error_NotImpl;
+}
+
+ErrorCodeEnum FingerPrintImpl::Cancel()
+{
+	return Error_Succeed;
+}
+
+ErrorCodeEnum FingerPrintImpl::DevClose()
+{
+	ErrorCodeEnum err = Error_Succeed;
+	return err;
+}
+
+ErrorCodeEnum FingerPrintImpl::GetLastErr(DevErrorInfo& devErrInfo)
+{
+	return Error_Succeed;
+}

+ 35 - 0
DevAdapter/cmbsz/FingerPrint.1.1/FingerPrint_Impl.h

@@ -0,0 +1,35 @@
+/*
+ * Created by LocalUser on 2020/9/22	
+*/
+
+#ifndef LIBFRAMEWORK_FINGERPRINT_IMPL_H
+#define LIBFRAMEWORK_FINGERPRINT_IMPL_H
+
+#include "FingerPrintClass.h"
+
+class FingerPrintImpl : public FingerPrintClass
+{
+public:
+	FingerPrintImpl();
+	~FingerPrintImpl();
+
+	ErrorCodeEnum DevOpen(DWORD dwPort, DWORD dwBaudRate);
+
+	//DeviceBaseClass
+	ErrorCodeEnum GetDevCategory(DevCategoryInfo& devCategory);
+	ErrorCodeEnum Reset();
+	ErrorCodeEnum DevClose();
+	ErrorCodeEnum GetLastErr(DevErrorInfo& devErrInfo);
+
+	//FingerPrintClass
+	virtual ErrorCodeEnum Image2Feature(const char* imageName, LPBYTE lpbFeature, int& iLength);
+	virtual ErrorCodeEnum Image2Template(const char* imagePath1, const char* imagePath2, const char* imagePath3, LPBYTE lpbTemplate, int& iLength);
+	virtual ErrorCodeEnum Match(LPBYTE lpbTemplate[], int iTemplateLen[], int templateNum, LPBYTE lbpFeature, int& iFeatureLen, int level /* = 3 */);
+	virtual ErrorCodeEnum Cancel();
+
+private:
+	int m_mode;
+};
+
+
+#endif // LIBFRAMEWORK_FINGERPRINT_IMPL_H

+ 1 - 0
DevAdapter/include/DeviceBaseClass.h

@@ -58,6 +58,7 @@ const int MAX_DEV_ERROR_MSG_LEN = 256;
 #ifndef RVC_VENDOE_BUILDIN_TYPE
 #if (defined(_WIN32) || defined(_WIN64))
 typedef unsigned char BYTE;
+typedef BYTE  *LPBYTE;
 typedef unsigned short WORD;
 typedef unsigned long DWORD;
 typedef unsigned long* PDWORD;