| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- #pragma once
- #include "CCOS.Dev.MouldDefine.hpp"
- //#include "Definitions.h"
- namespace nsDetail = CCOS::Dev::Detail;
- namespace CCOS::Dev::Detail::Generator
- {
- class _CCOS_GEN_IDETEC_Almax_API CGEN_DEV_IDETEC_Almax
- {
- public:
- CGEN_DEV_IDETEC_Almax(string configfile);
- ~CGEN_DEV_IDETEC_Almax();
- //������ģ��ͨ��
- std::string GetGUID(); //�ṩGUID
- std::string GetResource(); //�ṩDevice����Ľӿڡ�����
- void GetUnitHWValueFromCFG(); //��ȡ�����ļ��趨ֵ
- RET_STATUS SetWS(const std::string value); //���ù���λ
- RET_STATUS SetExpSYN(EnSYNMode value); //�����ع�ͬ��
- RET_STATUS SetExpEnable(); //�ع�ʹ��
- RET_STATUS SetExpDisable();
- RET_STATUS Reset(); //���÷���������
- RET_STATUS RefreshData(); //ˢ�²�������
- RET_STATUS SetGenSynState(int value); //���÷������ع�״̬
- RET_STATUS SetGenState(int value); //���÷������豸״̬
- RET_STATUS Clear_DAP(); //���DAP
- RET_STATUS GetValue_DAP(float& value); //��ȡDAP
- RET_STATUS SetDetectorWindow(bool value); //����TIC
- RET_STATUS SetExposurePermit(bool value); //����EXO
- //ָ��ͽӿ�
- RET_STATUS HWSend(const char* strCommand, int lengh, bool reSend = false, int nTimeOut = TIMEOUTVALUE);
- void SetNotifyCallBack(callBackFun fun); //������Ϣ�ϱ��ص�
- //������֧�ֵ�ͨ�õ�Ƭ����
- RET_STATUS IncRadKV(); //��ƬKV����
- RET_STATUS DecRadKV();
- RET_STATUS SetRadKV(float value);
- RET_STATUS IncRadMA(); //��ƬMA����
- RET_STATUS DecRadMA();
- RET_STATUS SetRadMA(float value);
- RET_STATUS IncRadMS(); //��ƬMS����
- RET_STATUS DecRadMS();
- RET_STATUS SetRadMS(float value);
- RET_STATUS IncRadMAS(); //��ƬMAS����
- RET_STATUS DecRadMAS();
- RET_STATUS SetRadMAS(float value);
- RET_STATUS SetFocus(int value); //���ý���
- RET_STATUS SetTechmode(int value); //���ü���ģʽ:1point,2point,3point
- RET_STATUS SetAECDensity(int value); //����AECŨ��
- RET_STATUS SetAECField(int value); //����AECȡ������
- RET_STATUS SetAECFilm(int value); //����AEC��Ƭ
- RET_STATUS SetAPR(const _tAPRArgs& t); //һ�������õ�Ƭ����
- RET_STATUS QueryPostKV(float& value); //��ѯ�ع�����ʵ����
- RET_STATUS QueryPostMA(float& value);
- RET_STATUS QueryPostMS(float& value);
- RET_STATUS QueryPostMAS(float& value);
- RET_STATUS SetRadFrameRate(float frameRate); //�������е�Ƭ֡��
- RET_STATUS SetExpMode(std::string value); //�����ع�ģʽ:��֡�����С�˫��
- RET_STATUS SetEXAMMode(std::string value); //���ü��ģʽ:�ֶ����Զ�
- //������֧�ֵ�ͨ��������
- RET_STATUS IncFluKV(); //��KV����
- RET_STATUS DecFluKV();
- RET_STATUS SetFluKV(float value);
- RET_STATUS IncFluMA(); //��MA����
- RET_STATUS DecFluMA();
- RET_STATUS SetFluMA(float value);
- RET_STATUS IncFluMS(); //��MS����
- RET_STATUS DecFluMS();
- RET_STATUS SetFluMS(float value);
- RET_STATUS IncFluMAS(); //��MAS����
- RET_STATUS DecFluMAS();
- RET_STATUS SetFluMAS(float value);
- RET_STATUS SetPPS(float frameRate); //������֡�ʵ���
- RET_STATUS GetPPS();
- RET_STATUS INCPPS();
- RET_STATUS DECPPS();
- RET_STATUS SetPluseWidth(float fplusewidth); //��������
- RET_STATUS SetABSMode(int nMode); //�����Զ����ȵ��ڣ�ABS��ģʽ
- RET_STATUS SetABSCurve(); //ABS���ߵ���
- RET_STATUS IncABSCurve();
- RET_STATUS DecABSCurve();
- RET_STATUS SetABSValue(float fABSValue);
- RET_STATUS SetABSTargetEXI(float fEXIValue);
- RET_STATUS SetAPF(const _tAPFArgs& t); //һ���������Ӳ���
- RET_STATUS GetFluIntTimer(); //��ȡ������ʱ��
- RET_STATUS GetFluAccTimer(); //��ȡ���ع��ۼ�ʱ��
- RET_STATUS ResetFluTimer(int ntype); //������ع��ۼ�ʱ��
- RET_STATUS SetFluPre(int bPrepare); //������Ԥ����ʹ��
- RET_STATUS SetFluEXP(int bPrepare); //�������ع��ʹ��
- RET_STATUS SetFluMode(std::string value); //������ģʽ
- RET_STATUS SetFluMAG(int nsize); //����MG:0 to 3 - sets Mag size, ASCII character for 255 - Mag selection disabled
- RET_STATUS DisableMAG();
- RET_STATUS SetFluDoseLever(int nlever); //�����Ӽ����ȼ�( 0,1,2 )
- RET_STATUS SetHalfDose(int nlever); //�����Ӱ�ۼ���
- RET_STATUS TransferRadCurve(int ncurve); //��ƬKV������,0-3 Set curve 0:disable
- //Almax����ָ��
- RET_STATUS SetPanelField(int value); //������ͻ��������ƽ���������ѡ���ܵĶ�Ӧ
- RET_STATUS SetShutDown(int value); //�ڿͻ�����̨���¹ػ���ť��DFOC�յ���SSD1�����˳�����
- RET_STATUS SetExamView(int value); //ʹ�ø����DFOC Profile ��ͻ���������ϵļ�鲿λ��Ӧ����
- RET_STATUS SetDSA(int value); //����Ѫ�ܡ��������Ӱģʽ
- RET_STATUS SetRoadMap(int value); //����Road Map
- RET_STATUS EnterExam(int value); //��ʶ������
- public:
- ResDataObject m_GenConfig; //�����ļ�
- string m_pDevicePath; //Container��Ҫ���豸·��
- static CcosAttrKey::UNIT_CTRL_TYPE m_nNotifyType; //��Ϣ�ϱ���ʽ
- //�̱߳���������
- static atomic<int> m_iLoopTime; //ѭ�����ʱ�䣨���룩��ѯ�߳�ʹ��
- atomic<int> m_iHeartBeats; //����ͳ��
- atomic<bool> m_bConnectFlag; //���ӱ��
- //Ӳ������
- std::unique_ptr<StringMould> m_TubeInfo; //�����������Ϊ�ͺ�
- std::unique_ptr<StringMould> m_TubeTargetMaterial; //�����в�
- std::unique_ptr<IntMould> m_TubeAngle; //��ܽǶȣ��еķ���������ʱ����
- std::unique_ptr<FloatMould> m_TubeHE; //����¶�
- std::unique_ptr<FloatMould> m_GenHE; //���������ѹװ�ã��¶�
- std::unique_ptr<IntMould> m_BatteryChargeState; //���״̬����硢δ��硢δ��װ
- std::unique_ptr<IntMould> m_BatteryPowerState; //��ص���
- std::unique_ptr<IntMould> m_GenSynState; //�������ع�״̬��������ת������������ѹ�����ߡ�ֹͣ��ת��ѹ
- std::unique_ptr<IntMould> m_GenState; //�������豸״̬���ϵ硢���ߡ���ʼ�����������ع��С���ȴ���д���
- std::unique_ptr<IntMould> m_Handswitch; //��բ״̬��һ�����¡��������¡�һ���ɿ��������ɿ�
- std::unique_ptr<IntMould> m_Footswitch; //��բ״̬�����¡�̧��
- map<cfgWorkStationKey, cfgWorkStationData> m_arrWSMap; //����λ�������ұ�
- cfgWorkStationKey m_strCurrentWSName; //��ǰ����λ����; //����λ��վλ����λ
- float m_fAirKerm{ 0 }; //
- float AirKermRate{ 0 }; //
- //��Ƭ����
- std::unique_ptr<FloatMould> m_RadKV; //������ѹ
- std::unique_ptr<FloatMould> m_RadMA; //��������
- std::unique_ptr<FloatMould> m_RadMS; //��ѹʱ��
- std::unique_ptr<FloatMould> m_RadMAS; //����ʱ���
- std::unique_ptr<IntMould> m_RadTechmode; //��������ģʽ��һ�㡢���㡢����
- std::unique_ptr<IntMould> m_RadFocus; //��������
- std::unique_ptr<IntMould> m_RadAECField; //AECȡ������
- std::unique_ptr<IntMould> m_RadAECFilm; //AEC��Ƭ
- std::unique_ptr<FloatMould> m_RadAECDensity; //AECŨ��
- std::unique_ptr<IntMould> m_RadFrameRate; //���е�Ƭ֡��
- std::unique_ptr<FloatMould> m_PostKV; //�ع�ʵ�ʵ�ѹ
- std::unique_ptr<FloatMould> m_PostMA; //�ع�ʵ�ʵ���
- std::unique_ptr<FloatMould> m_PostMS; //�ع�ʵ��ʱ��
- std::unique_ptr<FloatMould> m_PostMAS; //�ع�ʵ�ʵ���ʱ���
- std::unique_ptr<StringMould> m_ExpMode; //�ع�ģʽ����Ƭ�����е�Ƭ��˫��
- std::unique_ptr<StringMould> m_EXAMMode; //���ģʽ���ֶ����Զ�
- float m_FocusSmall{ 0 }; //С��˿�ߴ磨�����ļ���ȡ��
- float m_FocusLarge{ 1 }; //���˿�ߴ磨�����ļ���ȡ��
- //�Ӳ���
- std::unique_ptr<FloatMould> m_FluKV; //������ѹ(��̬��������Ƭ���ӵ�KVҪ�ֱ�����)
- std::unique_ptr<FloatMould> m_FluMA; //��������(��̬��������Ƭ���ӵ�MAҪ�ֱ�����)
- std::unique_ptr<FloatMould> m_FluMS; //��ѹʱ�䣨�ӹ����еĵ������ڡ�������
- std::unique_ptr<FloatMould> m_FluMAS; //����ʱ���(��̬��������Ƭ���ӵ�MASҪ�ֱ�����)
- std::unique_ptr<IntMould> m_FluPPS; //֡�ʣ�����Ƶ��,�����е�Ƭ��һ����
- std::unique_ptr<IntMould> m_FluABSStatus; //�Զ����ȵ��ڿ���
- std::unique_ptr<IntMould> m_FluDoseLever; //�����ȼ�
- std::unique_ptr<IntMould> m_FluFMode; //��ģʽ�����������塢������������������
- std::unique_ptr<FloatMould> m_FluIntTime; //������ʱ��:�����ع�ʱ��+������һ���ع�ļ��ʱ��
- std::unique_ptr<FloatMould> m_FluAccTime; //���ۼ�ʱ��:�����ӹ����У�����X-ray���ۼ�ʱ��
- private:
- RET_STATUS HWSendWaittimeCMD(char* strCommand, int lengh, int headLengh = 3); //����"ָ������1"ָ��
- RET_STATUS HWSendHBCMD(char* strCommand, int lengh, int headLengh = 3); //����"ָ������2"ָ��
- RET_STATUS HWSendWaitACKCMD(char* strCommand, int lengh, int headLengh = 3); //����"ָ������3"ָ��
- void OnCallBack(); //����ָ��ص�����
- bool StartHardwareStatusThread(); //������ѯ�߳�
- static void HardwareStatusThread(CGEN_DEV_IDETEC_Almax* pParam); //��ʱ��ѯ״̬��Ϣ
- void FireNotify(std::string key, const int context); //���ϲ��ϱ�������Ϣ
- void FireNotify(std::string key, const float context); //���ϲ��ϱ���������Ϣ
- void FireNotify(std::string key, const std::string context); //���ϲ��ϱ��ַ�������Ϣ
- void FireErrorMessage(const bool Act, const int Code, const char* ResInfo = ""); //�ϱ�������Ϣ
- void FireWarnMessage(const bool Act, const int Code, const char* ResInfo = ""); //�ϱ��澯��Ϣ
- private:
- callBackFun m_funV2DynamicCallBackFun{ nullptr };//V2��̬��Ϣ�����ص�
- std::thread m_pHardwareStatusThread; //��ѯ�߳̾��
- atomic<bool> m_bExpEnable; //�ع�ʹ��
- EnSYNMode m_bExpSYN{ EnSYNMode::EXPOSURE_SYNMODE_HARDWARE_SYNBOX }; //�ع�ͬ��:����Ӳ
- atomic<bool> m_bSoftExpPermit{ 0 }; //���ع�ȷ��
- std::unique_ptr<nsDetail::MSGUnit> m_MSGUnit; //������Ϣ������
- std::unique_ptr <IOEventCenter> m_EventCenter; //������Ϣ�ϱ�Center
- int m_IPM{ 0 };
- int m_IPF{ 0 };
- int m_IPL{ 0 };
- };
- }
|