123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- #pragma once
- #include "CppSQLite3.h"
- #include "dt.h"
- #include <string>
- #include <windows.h>
- #include <mutex>
- #include "CDataBaseOperate.h"
- #ifdef HARDWARE_DLL
- #define DLL_HARDWARE_API __declspec(dllexport)
- #else
- #define DLL_HARDWARE_API
- #endif
- namespace ns_db
- {
- using namespace std;
- #define HARDWARE_DATABASE_NAME ROOT_PATH##"\\db\\Hardware.db"
- #define CAMERA_LIST_TABLE_NAME "CameraList"
- #define MODULE_LIST_TABLE_NAME "ModuleList"
- #define AXIS_LIST_TABLE_NAME "AxisList"
- #define DIGIT_IO_LIST_TABLE_NAME "DigitIoList"
- typedef struct _CAMERA_LIST_STRUCT : TABLE_INFO_BASE
- {
- string CameraName;
- INT CameraType;
- string Describe;
- INT LampType;
- string RedAddrs;
- INT RedLight;
- string GreenAddrs;
- INT GreenLight;
- string BlueAddrs;
- INT BlueLight;
- string PointAddrs;
- INT PointLight;
- } CAMERA_LIST_STRUCT;
- typedef struct _MODULE_LIST_STRUCT : TABLE_INFO_BASE
- {
- string ModuleType;
- string ModuleName;
- bool Enable;
- }MODULE_LIST_STRUCT;
- #pragma region Axis_XXX
-
- enum AXIS_USE { DISABLE = 0, SLAVE = 1, MASTER = 2 };
- typedef struct _AXIS_LIST_STRUCT : TABLE_INFO_BASE
- {
- string ModuleType;
- string AxisType;
- string AxisName;
- AXIS_USE Use;
- bool EnaDiag;
- UINT HomePriority;
- UINT HomeTime;
- UINT FastTime;
- UINT MediumTime;
- UINT SlowTime;
- string strDescribe;
- _AXIS_LIST_STRUCT()
- {
- ModuleType = "";
- AxisName = "";
- Use = AXIS_USE::DISABLE;
- AxisType = "";
- EnaDiag = true;
- HomePriority = 0;
- HomeTime = 0;
- FastTime = 0;
- MediumTime = 0;
- SlowTime = 0;
- strDescribe = "";
- }
- }AXIS_LIST_STRUCT;
- #pragma endregion
- #pragma region IO_XXX
- enum IO_TYPE { DI = 0, DO,DIS, DOS, AI, AO };
- enum DIGIT_IO_LEVEL { LOW = 0, HIGH = 1, NUL };
- typedef struct _IO_CONFIG_STRUCT : TABLE_INFO_BASE
- {
- string IoName;
- bool Use;
- string Describe;
- string ModuleType;
- string IoUtility;
- IO_TYPE IoType;
- DIGIT_IO_LEVEL StartingState;
- } IO_CONFIG_STRUCT;
- #pragma endregion
- class DLL_HARDWARE_API CHardware : public CDataBaseOperate
- {
- public:
- CHardware();
- private:
- LONG SaveDB() override;
- LONG LoadDB() override;
- LONG SaveAxisConfig(string strTableName, std::vector<AXIS_LIST_STRUCT>* vecAxisConfig);
- LONG SaveIOConfig(string strTableName, std::vector<IO_CONFIG_STRUCT>* vecIOConfig);
- #pragma region IoList
- private:
- std::vector<IO_CONFIG_STRUCT> m_vecIoList;
- LONG LoadIoList();
- public:
- std::vector<IO_CONFIG_STRUCT> GetIoList() { return m_vecIoList; };
- #pragma endregion
- #pragma region AxisList
- private:
- std::vector<AXIS_LIST_STRUCT> m_vecAxisList;
- LONG LoadAxisList();
- public:
- std::vector<AXIS_LIST_STRUCT> GetAxisList() { return m_vecAxisList; };
- #pragma endregion
- #pragma region CameraList
- private:
- std::vector<CAMERA_LIST_STRUCT> m_vecCameraList;
- LONG LoadCameraList();
- public:
- std::vector<CAMERA_LIST_STRUCT> GetCameraList() {return m_vecCameraList;};
-
- #pragma endregion
- #pragma region ModuleList
- private:
- std::vector<MODULE_LIST_STRUCT> m_vecModuleList;
- LONG LoadModuleList();
- public:
- std::vector<MODULE_LIST_STRUCT> GetModuleList() { return m_vecModuleList; };
- LONG GetModuleByName(string strModuleName, MODULE_LIST_STRUCT& stModule);
- #pragma endregion
- private:
- std::vector<IO_CONFIG_STRUCT> m_vecIOConfig_Ejector;
- public:
- LONG GetIOEjectorConfig(std::vector<IO_CONFIG_STRUCT>& vecIOConfig);
- LONG SetIOEjectorConfig(std::vector<IO_CONFIG_STRUCT>* vecIOConfig);
- LONG GetIOEjectorConfig(const char* InteriorName, IO_CONFIG_STRUCT& stIOConfig);
- LONG SetIOEjectorConfig(const char* InteriorName, IO_CONFIG_STRUCT& stIOConfig);
-
-
- };
- }
|