12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577 |
- #pragma once
- #include "CCOS.Dev.Generator.Mould.hpp"
- #include "DAP.BasicMoulds.hpp"
- #include "CCOS.Dev.MSGMould.hpp"
- #include "CCOS.Dev.UIClient.Mould.hpp"
- #include "CCOS.Dev.FPD2OtherDevice.hpp"
- #include "AXIMDataParam.h"
- #include "CCOS.Dev.Collimator.Mould.hpp"
- #include "gbl\axnclientifcreator.h"
- #include "gbl\AxnClientIFCreator.h"
- #include "gbl\libclientrecv.h"
- #include "gbl\axcs_flrad_enum.h"
- #include <queue>
- #include <sstream>
- #include <vector>
- #include "Base64.h"
- #include "SystemLogger.h"
- #define GEN_SiemensSalmon_CMD_LEN 64
- #define GEN_SiemensSalmon_FUN_LEN 12
- #define VALUEMAX 100
- #define FDC_MESSAGE_NUM (18) //FDC功能报文的个数
- #define XCS_MESSAGE_NUM (60) //XCS需要解析报文的个数
- #define Clientmode (0x01) /* mode */
- #define Clienttarget (0xF0) //XCU报文节点
- #define Clientgroup_index (0x01) //报文直接发送
- #define Clientsender (0xF3) //FLC发送节点,在这里指DROC节点
- #define ClientPMS (0x61) //PMS节点
- #define SFServer (0x65) //PMS节点
- #define Gentarget (0x50) //切换工作模式的目标节点
- #define TUI_IFtarget (0x5D) //TUI报文节点(Patient Size)
- #define TUItarget (0x5A) //TUI报文节点(Patient Name/ID)
- #define FDC_Controlsender (0xF4) //just test 临时测试使用
- //#define PAT_SIZE_SELECTION_ECOM (150) //Siemens 协议定义病人体型
- //系统信息
- #define ALLVERSIONIN (0) //All system information
- #define VERSIONINFOR_SOFTWARE (1) //Software Version Information
- #define HOSTPCID (2) //HostID
- #define SOFTWAREDONGLEID (3) //Software Dongle ID
- #define FREESPACEOFHARDDISK (4) //Free Space of Hard Disk
- #define FREESPACEOFMEMORY (5) //Free Space of Memory
- #define CONFIGFILEISSUE (6) //configuration file issue
- //软件版本信息
- #define VERSIONINFOR_SOFTWARE (1) //Software Version Information
- #define VERSIONINFOR_PIXRAD (2) //Pixrad Version Information
- #define VERSIONINFOR_VISUALIZOR (3) //Visualizor Version Information
- #define MODULENAME_SOFTWARE ("droc") //Software name
- #define MODULENAME_PIXRAD ("Pixrad") //Pixrad Version name
- #define MODULENAME_VISUALIZOR ("Visualizor") //Visualizor Version name
- #ifdef CCOSDEVGENDEMO_EXPORTS
- #define _CCOSDEVGENDEMO_API __declspec(dllexport)
- #else
- #define _CCOSDEVGENDEMO_API __declspec(dllimport)
- #endif
- namespace CCOS::Dev::Detail::Generator
- {
- static const int TIMEOUTVALUE = 100;
- //-----------------------------------------------------------------------------
- // SMZ Salmon Device
- //-----------------------------------------------------------------------------
- namespace nDev = CCOS::Dev;
- namespace DevDAP = CCOS::Dev::Detail::DAP;
- namespace DevUIClient = CCOS::Dev::Detail::UIClient;
- namespace DevFPDClient = CCOS::Dev::Detail::Detector;
- namespace DevCollimator = CCOS::Dev::Detail::Collimator;
- class _CCOSDEVGENDEMO_API SMZDevice : public IODeviceDetail,public GeneratorMould, public DevUIClient::UIClientMould,public DevCollimator::ColliamtorMould/*,public DevFPDClient::CFPDCommunicateWithOtherDevice*/
- {
- using super = IODeviceDetail;
- using superGen = GeneratorMould;
- using superUIClient = UIClientMould;
- using superCollimatorClient = ColliamtorMould;
- //using superFPDClient = CFPDCommunicateWithOtherDevice;
-
- public:
- SMZDevice (std::shared_ptr <IOEventCenter> center, string ConfigPath);
- ~SMZDevice ();
- virtual std::string GetGUID() const override;
- virtual bool Prepare() override;
- acs_obj_header_t m_stGenCommand; //the telegram header
- axn_byte* m_pBuffer;
- CAxnClientIF* m_pAxnClient; //the pointer to the Axn Client
- CRITICAL_SECTION m_csXCUData;
- deque<axn_byte*> m_sCallbackData;
- APRpram AprParamBackup;
- string m_strConfigPath;
- ResDataObject m_GenConfig;
-
- void* m_pGenNotify;
- void* m_pGenDataDealNotify;
- HANDLE m_hBeginConnect;
- HANDLE m_hConnection;
- HANDLE m_hXCUToggleEvent;
- HANDLE m_hXCUDataRevThread; //XCU数据接收线程
- HANDLE m_hXCUDataRevEvent; //XCU接收线程
- HANDLE m_hXCUDataRevExitEvent; //退出XCU接收线程
- HANDLE m_hXCUDataThread; //XCU数据处理线程
- HANDLE m_hXCUDataEvent; //XCU数据处理事件
- HANDLE m_hXCUDataExitEvent; //退出XCU数据处理线程
- HANDLE m_hFDCDataRevThread; //FDC数据接收线程
- HANDLE m_hFDCDataRevEvent; //FDC接收线程
- HANDLE m_hFDCDataRevExitEvent; //退出FDC接收线程
- HANDLE m_hFDCDataDealThread; //FDC数据处理线程
- HANDLE m_hFDCDataDealEvent; //FDC数据处理事件
- HANDLE m_hFDCDataDealExitEvent; //FDC退出数据处理线程
- HANDLE m_hOGPWorkThread; //workThread instead of Timer
- HANDLE m_hGenSelectOGPEvent; //select OGP
- HANDLE m_hWaitForDummyThread; //workThread instead of Timer
- HANDLE m_hDUMMYEvent; //check Dummy
- HANDLE m_hWaitForDapThread; //workThread instead of Timer
- HANDLE m_hWaitForDapEvent; //check Dummy
- ACS_WORD m_wHeaderLength; //Length of the telegram header.
- bool m_bExited;
- bool m_bExitXCUThread;
- bool m_bIdentStatus;
- bool m_bReGetTurnOn; //20171012 recover the communication with XCU
- bool m_bCalibMode; //校正模式
- bool m_bSelectORG; //选择OGP view
- bool m_bExposureStatus; //曝光过程
- bool m_bInExam; //是否在检查界面
- bool m_bSetAPR; //设置APR参数
- bool m_bGetIGENANZ; //m_bGetIGENANZ,可以设置enable指令
- bool m_bSetEnable; //设置Enable
- int m_nStatus;
- int m_nLostConnectNumber; //XCU节点断线次数
- int m_nTimeoutCount; //XCU节点超时次数 配置文件
- int m_nCurrentViewNumber;
- int m_nTargetViewNumber;
- int m_nLastErrorCount; //记录上次关机时记录的Error数目;
- int m_nErrorCount; //记录当前的Error数目;
- int m_nSettingWS;
- int m_bGenService; //在服务模式下,当处于Exam界面时,需要在设置APR时,需要同时设置到PMS中; True:是; False:不是
- int m_nGenSTMode; //当前所处的模式(set the mode of the system)目前仅判断是否为ACS_SERVICE(2)
- int m_nScreenSaver; //记录屏保状态
- int m_nIdfrstatus; //记录当前系统状态
- int m_nDAPUnit; //DAP unit 0:uGym2,1:mGycm2
- int m_nSetViewNumber; //预设View值
- int m_nSelectOGPWaitingTime; //Select OGP time; ms
- int m_nAPRCommandSynFlag; //0,nothing, 1, Slect Org, 2 APR command request arrive(from XCS) 3, APR command arrive,
- int m_nBackup_Restre_Identifier; //(backup or restore) Identifier of data transfer
- int m_nTUICOMMANDSENDWAITTIME;
- vector<int> g_KV_List;
- vector<int> g_MAS_List;
- vector<int> g_MS_List;
- vector<int> g_AECDensity_List;
- vector<int> g_AECDOSE_List;
- vector<int> g_AECFILM_List;
- vector<int> g_FILTER_List;
- ResDataObject* m_KVList;
- ResDataObject* m_MASList;
- float m_fKVmax;
- float m_fKVmin;
- float m_fMASmax;
- float m_fMASmin;
- float m_fMSmax;
- float m_fMSmin;
- float m_fAECDensitymax;
- float m_fAECDensitymin;
- float m_fAECDOSEmax;
- float m_fAECDOSEmin;
- float m_fAECFILMmax;
- float m_fAECFILMmin;
- float m_fFILTERmax;
- float m_fFILTERmin;
- string m_strPanelSN;
- bool m_bAutoHandSwitch; //校正下 自动手闸
- ACS_DWORD m_nExposureIndex; //曝光次数
- //=======================================与FDC 通讯相关参数================================================================
- acs_obj_header_t m_stGenCommandFDC; //the telegram header for PMS
- CAxnClientIF* m_pFDCAxnClient;
- axn_byte* m_pFDCBuffer;
- deque<axn_byte*> m_sFDCCallbackData;
- CRITICAL_SECTION m_csFDCData;
- HANDLE m_hFDCToggleEvent;
- HANDLE m_hFDCDataThread;
- HANDLE m_hFDCDataEvent;
- void* m_pFDCNotify;
- void* m_pFDCDataDealNotify;
- bool m_bFDCIdentStatus;
- bool m_bExitFDCThread;
- int m_nFDCLostConnectNumber; //FDC节点断线次数
- int m_nFDCTimeoutCount; //FDC节点超时次数 配置文件
- DWORD m_tmDetectorStart; //探测器开窗时间
- unsigned int m_nXwindowTime; //从开窗到允许曝光之间间隔时间 默认100ms
- HANDLE m_hExposureThread;
- DWORD m_ExposureThreadID;
- static DWORD WINAPI ExposureThread(LPVOID pParam);
- HANDLE m_hEventExposure;
- HANDLE m_hEventExitExposureThread;
- HANDLE m_hExposureEventArray[2];
- bool m_bAlreadyExposure;
- //==============================================公共参数================================================================
- CRITICAL_SECTION m_csStatus;
- private:
- std::unique_ptr<DevDAP::DOSEMould> m_DAP;
- std::unique_ptr<nsDetail::MSGUnit> m_MSGUnit;
- //std::unique_ptr<DevUIClient::UIClientMould> m_UIClientUnit;
- std::unique_ptr<DevFPDClient::CFPDCommunicateWithOtherDevice > m_FPDGUnit;
-
- // class CGenSiemensSalmon_Dose* m_pGenDose;
- // class CGenSiemensSalmon_FPDCommunicatie* m_pFPDCommunication;
- // class CGenSiemensSalmon_DAP* m_pGenSiemensSalmon_DAP;
- // class CGenSiemensSalmon_UIClientUnitLogic* m_pGenSiemensSalmon_UI;
- // class CGenSiemensSalmon_Mech* m_pGenSiemensSalmon_Mech;
- // class CGenSiemensSalmon_Battery* m_pGenSiemensSalmon_Battery;
- private:
- void Register();
- public:
- virtual RET_STATUS IncKV() override;
- virtual RET_STATUS DecKV() override;
- virtual RET_STATUS SetKV(float value) override;
- virtual RET_STATUS IncMA() override;
- virtual RET_STATUS DecMA() override;
- virtual RET_STATUS SetMA(float value) override;
- virtual RET_STATUS IncMS() override;
- virtual RET_STATUS DecMS() override;
- virtual RET_STATUS SetMS(float value) override;
- virtual RET_STATUS IncMAS() override;
- virtual RET_STATUS DecMAS() override;
- virtual RET_STATUS SetMAS(float value) override;
- virtual RET_STATUS SetTechmode(int value) override;
- virtual RET_STATUS SetFocus(int value) override;
- virtual RET_STATUS SetAECDensity(int value) override;
- virtual RET_STATUS SetAECField(int value) override;
- virtual RET_STATUS SetAECFilm(int value) override;
- virtual RET_STATUS SetWS(const std::string value) override;
- virtual RET_STATUS SetAPR(const _tAPRArgs& t) override;
- virtual RET_STATUS QueryHE(int& value) override;
- virtual RET_STATUS QueryPostKV(float& value) override;
- virtual RET_STATUS QueryPostMA(float& value) override;
- virtual RET_STATUS QueryPostMS(float& value) override;
- virtual RET_STATUS QueryPostMAS(float& value) override;
- virtual RET_STATUS SetGenSynState(int value) override;
- virtual RET_STATUS SetGenState(int value) override;
- virtual RET_STATUS SetExpEnable() override;
- virtual RET_STATUS SetExpDisable()override;
- virtual RET_STATUS Reset()override;
- virtual RET_STATUS SetExpMode(std::string value) override;
- virtual RET_STATUS SetFrameRate(FLOAT frameRate) override;
- virtual RET_STATUS SetFLFMode(std::string value) override;
- virtual RET_STATUS SetEXAMMode(std::string value) override;
-
- virtual RET_STATUS SetHET(); //模拟测试热容量
- virtual RET_STATUS SetSHO(bool state);//设置检查名称是否正确
- virtual RET_STATUS SetSTA(int state);//设置软件状态
- virtual RET_STATUS SetPIM(const char* viewname);//设置当前view名称到TUI
- virtual RET_STATUS SetSSI(const char* key, const char* value);//设置系统信息
- virtual RET_STATUS SetSMV(const char* key, const char* value);//设置组件版本信息
- virtual RET_STATUS SetCFM(const char* key, const char* value);//设置处理配置文件结果
- virtual RET_STATUS SetBRM(int state);//设置backup结果
- virtual RET_STATUS SetERA(int state);//检查最后错误数目
- virtual RET_STATUS SetPNS(int state);//病人属性
- virtual RET_STATUS SetScreenLockState(int state);//1锁屏,0解锁
- virtual RET_STATUS SetFDSerialNumber(const char* key, const char* value);//设置处理配置文件结果
- virtual RET_STATUS SetUIDoing(void);//设置界面操作
- virtual RET_STATUS SetCollimatorSize(unsigned short xsize, unsigned short ysize);
- virtual RET_STATUS SetCollimatorSID(unsigned short sid);
- virtual RET_STATUS SetCollimatorFilter(unsigned short pParams);
- virtual RET_STATUS SetCollimatorAngle(float pParams);
- virtual RET_STATUS SetCollimatorMode(unsigned short pParams);
- virtual RET_STATUS SetCollimatorLight(unsigned short pParams);
- RET_STATUS JSSetFPDCalibrationStatus(std::string in, std::string& out);
- RET_STATUS JSSetPanelSN(std::string in, std::string& out);
- RET_STATUS JSSendFPDError(std::string in, std::string& out);
- RET_STATUS JSClearFPDError(std::string in, std::string& out);
- RET_STATUS JSSendFPDWarn(std::string in, std::string& out);
- RET_STATUS JSSendFPDStatus(std::string in, std::string& out);
- RET_STATUS JSFPDXWindowOpen(std::string in, std::string& out);
-
- RET_STATUS Clear_DAP();
- RET_STATUS GetValue_DAP(float& value);
- RET_STATUS EnterExam();
- RET_STATUS ExitExam();
- RET_STATUS RefreshParameterList(const char* ParamType, float* List, int ListCount, float maxvalue, float minvalue);
- RET_STATUS AuditMessage(const char* strTime, const char* strMessage); //Send AuditMessage
- //=====================================================XCU实现================================================================================
- /////*********************************************************************************
- //函数名称:SerialPortOpen
- //功能描述:建立通讯(AXIM 与FDC)
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SerialPortOpen();
-
- ///*********************************************************************************
- //函数名称:SerialPortClose
- //功能描述:关闭通讯(AXIM 与FDC)
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SerialPortClose();
-
- ///*********************************************************************************
- //函数名称:ConnectXCS
- //功能描述:连接XCS服务器
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool ConnectXCS(void);
-
- ///*********************************************************************************
- //函数名称:DisconnectAxn
- //功能描述:断开XCS服务器
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- void DisconnectAxn();
-
- ///*********************************************************************************
- //函数名称:XCUDataThread
- //功能描述: FLC报文接收线程函数
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- static DWORD __stdcall ReveiveXCUData(LPVOID pParam);
- ///*********************************************************************************
- //函数名称:XCUDataThread
- //功能描述: FLC报文接收线程函数
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- static DWORD __stdcall XCUDataThread(LPVOID pParam);
- /*********************************************************************************
- 函数名称:SendList
- 功能描述:设置DROC端需要从SCU端接收的报文清单
- 修改记录:
- 2021-04-22 创建
- *******************************************************************************/
- bool SendList(void);
- /*********************************************************************************
- 函数名称:SendiISTWERTE
- 功能描述:设置ISTWERTE状态-- 初始化流程
- 修改记录:
- 2021-04-20 创建
- *******************************************************************************/
- bool SendiISTWERTE(void);
- //*********************************************************************************
- //函数名称:SendTelegramLog
- //功能描述: 设置SendTelegramLog
- //修改记录:
- //2017-06-26 创建
- //*******************************************************************************/
- //void SendTelegramLog(const char* strTelegramKey, const char* strTelegramLog = "", int nMode = 1, const char* strTelegramType = "Telegram");
- void SendTelegramLog(const char* strTelegramKey, const char* strTelegramLog = "", int nSender = 0xF0, int nMode = 1, int strTelegramType = SYS_LOG_LEVEL_Telegram, const char* nCode = "");
- //*********************************************************************************
- //函数名称:SendIdent
- //功能描述:设置与XCU交互的第一条报文
- //
- //修改记录:
- //2015-04-20 创建
- //*******************************************************************************/
- bool SendIdent(void);
- ///*********************************************************************************
- //函数名称:SendDate
- //功能描述:设置当前时间到XCU端,保持时间同步
-
- //修改记录:
- //2021-04-22 创建
- //*******************************************************************************/
- bool SendDate(void);
-
- ///*********************************************************************************
- //函数名称:SendErrorLog
- //功能描述:设置当前DROC保存的错误个数到XCU端
-
- //修改记录:
- //2021-04-21 创建
- //*******************************************************************************/
- bool SendErrorLog(void);
- ///*********************************************************************************
- //函数名称:QueryExposureNumber
- //功能描述: 查询当前曝光的次数(ASERVBETRIEB )
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool QueryExposureNumber();
-
- ///*********************************************************************************
- //函数名称:SendIfeStatus
- //功能描述:设置组件状态
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SendIfeStatus(int IfStatusValue);
- ///*********************************************************************************
- //函数名称:SetSH_Mode
- //功能描述: 返回SH_mode报文,对应ST_mode
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool SetSH_Mode(int nMode);
- ///*********************************************************************************
- //函数名称:SendIdfrnahbed
- //功能描述:对iDfrBed报文的确认
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SendIdfrnahbed(int nCode, int nData);
- ///*********************************************************************************
- //函数名称:SendAdjust
- //功能描述:发送AP的读写结果到PMS
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool SendAdjust(int);
- ///*********************************************************************************
- //函数名称:SetSystemStatusInformation
- //功能描述:设置当前软件系统的状态信息
- //参数描述:
- //nStatusIndex:
- //VERSIONINFOR_SOFTWARE (1) //Software Version Information
- //HOSTID (2) //HostID
- //SOFTWAREDONGLEID (3) //Software Dongle ID
- //FREESPACEOFHARDDISK (4) //Free Space of Hard Disk
- //FREESPACEOFMEMORY (5) //Free Space of Memory
- //CONFIGFILEISSUE (6) //configuration file issue
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool SetSystemStatusInformation(int nStatusIndex, const char* strInforint, ACS_ENUM nDealStatus = ACS_DIAG_COMPLETED);
- ///*********************************************************************************
- //函数名称:SelectORG
- //功能描述:设置当前UI端选中的view到UI端
-
- //修改记录:
- //2021-04-22 创建
- //*******************************************************************************/
- bool SelectORG(int nCode, int nParam, int nNeedOGP = true);
- ///*********************************************************************************
- //函数名称:TurnOffRequest
- //功能描述: 设置FLC关闭请求确认到XCU端
-
- //修改记录:
- //2015-04-20 创建
- //*******************************************************************************/
- void TurnOffRequest();
- ///*********************************************************************************
- //函数名称:TimeOutWaring
- //功能描述: 连接超时判断
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool TimeOutWaring(void);
- /*********************************************************************************
- 函数名称:SendIdfrStatus
- 功能描述:设置当前系统曝光状态到XCU端
-
- 修改记录:
- 2015-04-20 创建
- *******************************************************************************/
- bool SendIdfrStatus(int nDRStatus, int nRFStatus, int bSaveParm = 1);
- ///*********************************************************************************
- //函数名称:EnableExposure
- //功能描述:接收到DROC允许曝光消息,通知XCU
-
- //修改记录:
- //2015-04-20 创建
- //2017-01-04 改进代码风格
- //*******************************************************************************/
- bool EnableExposure(int nEnable); //enable the exposure function; 0:disable; 1:enable
- ///*********************************************************************************
- //函数名称:mb2wc
- //功能描述: 字符转换函数:宽字符转多字节
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- string wc2mb(const wchar_t* pwcstr);
- ///*********************************************************************************
- //函数名称:SwitchLogLevel
- //功能描述:切换日志属性类型
- //对应需求:
-
- //修改记录:
- //2021-4-23 创建
- //*******************************************************************************/
- string SwitchCategory2Str(ACS_ENUM nCatrgoryNumber);
- int SwitchCategory2ECOM(ACS_ENUM nCatrgoryNumber); //将AXIM的错误属性转换成IS属性
-
- ///*********************************************************************************
- //函数名称:SendTUIButton
- //功能描述:设置TUI上Button按钮状态
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SendTUIButtonStatus(int nButtonType, int nStatus = NORMAL);
- ///*********************************************************************************
- //函数名称:SetPatientStatus
- //功能描述:进入检查时通知XCU进入检查;退出时,通知XCU退出检查;
- //nExamStatus:
- ///* ACS_NO_INFORMATION 0 */
- ///* ACS_EMERGENCY_PAT 1 patient registered in an emergency mode */
- ///* ACS_PAT_EXAM 2 patient has been registered for examination */
- ///* ACS_PAT_CLOSED 3 patient has been closed */
- ///* ACS_PAT_SERVICE 4 service patient has been opened for examination
-
- //修改记录:
- //2021-04-25 创建 bug7206
- //*******************************************************************************/
- bool SetPatientStatus(int nPatientStatus);
- ///*********************************************************************************
- //函数名称:WSGen2UI
- //功能描述:切换workstations从UI到XCU,用于映射对应的workstation值
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- void WSGen2UI(int nGenWS, int& nUIWS);
- /*********************************************************************************
- 函数名称:OGPWorkThread
- 功能描述: 等待OGP(VIEW)确认返回线程
-
- 修改记录:
- 2021-04-23 创建
- *******************************************************************************/
- static DWORD __stdcall OGPWorkThread(LPVOID pParam);
- ///*********************************************************************************
- //函数名称:TurnOffFDCRequest
- //功能描述: 确认探测器Turnoff请求
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- void TurnOffFDCRequest();
- ///*********************************************************************************
- //函数名称:SendIasuStatus
- //功能描述:设置当前系统状态到XCU端
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SendIasuStatus(int nDRStatus, int nRFStatus);
- /*********************************************************************************
- 函数名称:SendSAUSLBED
- 功能描述:设置手闸状态模式(主要设置到自动校正)
- 对应需求:IS_Service_xrayrelease
-
- 修改记录:
- 2015-04-20 创建
- 2017-01-04 改进代码风格
- *******************************************************************************/
- bool SendSAUSLBED(bool bEnable);
-
- ///*********************************************************************************
- //函数名称:SendIDETEKTORSTATUS
- //功能描述: 设置探测器Ready状态到XCU
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SendIDETEKTORSTATUS(int nDetectorStatus);//Detector ready to generator 20150929
- ///*********************************************************************************
- //函数名称:SetProgramList
- //功能描述:设置view到XCU端
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SetProgramList(int nCount, int nOrganIndex, string& OrginName, int nDefaultWS);
- ///*********************************************************************************
- //函数名称:SetOrgNameStatus
- //功能描述:设置OrgName状态
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SetOrgNameStatus(float fOrgStatus);
- ///*********************************************************************************
- //函数名称:SetVersionInfor
- //功能描述:设置版本信息
- //参数描述:
- //nModuleIndex:
- //VERSIONINFOR_VISUALIZOR (1)
- //VERSIONINFOR_PIXRAD (2)
- //VERSIONINFOR_SOFTWARE (3)
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SetVersionInfor(const char* strModuleName, const char* strVersionInfor);
- ///*********************************************************************************
- //函数名称:SetSH_DATA_TRANS
- //功能描述:设置配置文件Backup/Resort状态
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SetSH_DATA_TRANS(float fResult,int nIdent);
- /*********************************************************************************
- 函数名称:SetSatetySwitch
- 功能描述:设置当前工作模式(主要设置到自动校正)
-
- 修改记录:
- 2021-04-22 创建
- *******************************************************************************/
- bool SetSatetySwitch();
-
- /*********************************************************************************
- 函数名称:SendIDFRABSCHALTUNG
- 功能描述:通知SCU当前view结束
-
- 修改记录:
- 2021-04-22 创建
- *******************************************************************************/
- bool SendIDFRABSCHALTUNG();
-
- /*********************************************************************************
- 函数名称:GetSwitchState
- 功能描述:获取当前工作模式
-
- 修改记录:
- 2021-04-22 创建
- *******************************************************************************/
- bool GetSwitchState();//TODO: AutoCalibration
-
- ///*********************************************************************************
- //函数名称:SetErrorCode
- //功能描述:设置ErrorCode
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SetFDErrorCode(int nErrorCode, int nErrorType, string& strSN);
-
- ///*********************************************************************************
- //函数名称:SendPatientSize
- //功能描述: 设置病人体型到XCU
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SendPatientSize(int nPatientSize); //set Patient Size to XCU
-
- ///*********************************************************************************
- //函数名称:SendPositionImageName
- //功能描述: 设置当前选中的View的缩略图名称到TUI
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SendPositionImageName(string& strPatientPositionImageName); //Position Image Name
-
- ///*********************************************************************************
- //函数名称:SendPatientInfor
- //功能描述: 设置病人名及病人ID
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SendPatientInfor(wstring& wstrPatientName, wstring& wstrPatientID); //set Patient Information to XCU
-
- ///*********************************************************************************
- //函数名称:SendFPDSerialNumber
- //功能描述: 设置探测器序列号到PMS端
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SendFPDSerialNumber(int nFPDType, const char* strFPDNumber);
-
-
- ///*********************************************************************************
- //函数名称:TubeHeatTest
- //功能描述: 模拟测试球管热容量
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool TubeHeatTest(void); //TubeHeat Test
-
- ///*********************************************************************************
- //函数名称:SetSHCONFIG
- //功能描述:配置文件结果处理,对应ST_CONFIG
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SetSHCONFIG(float fResult);
-
-
- ///*********************************************************************************
- //函数名称:SetPanelRotate
- //功能描述:设置探测器旋转方向
-
- //修改记录:
- //2021-04-25 创建
- //*******************************************************************************/
- bool SetPanelRotate(int nPanelRotate);
-
- ///*********************************************************************************
- //函数名称:SetST_SYSTEM_STATE
- //功能描述:设置ST_SYSTEM_STATE报文
-
- //修改记录:
- //2021-07-21 创建
- //*******************************************************************************/
- bool SetST_SYSTEM_STATE(int nStatus);
-
- ///*********************************************************************************
- //函数名称:SetScreenSaver
- //功能描述:控制锁屏功能(1:锁屏启动;0:锁屏关闭)
- //对应需求:
-
- //修改记录:
- //2021-4-25 创建
- //*******************************************************************************/
- bool SetScreenSaver(int nScreenSaver);
-
- ///*********************************************************************************
- //函数名称:GetLastErrorAmount
- //功能描述:获取当前的错误数量
- //对应需求:
-
- //修改记录:
- //2021-4-25 创建
- //*******************************************************************************/
- bool GetLastErrorAmount(void);
-
- ///*********************************************************************************
- //函数名称:SendOrthoLocalParam
- //功能描述:本地设置拼接协议,包括曝光参数及位置信息
-
- //修改记录:
- //2021-4-21 创建
- //*******************************************************************************/
- bool SendOrthoLocalParam(int nWS, float fKV, float fMA, float fMS, float fMAS, int nFO, int nET, int nAECFieldSel, int nAECFilmSel,
- float fAECDensity, ACS_BYTE nTarget = Clienttarget,float fCollimatorWidth = 43.0f, float fCollimatorHeight = 43.0f, float fAECDose = 2.5f, int nFilter = 0,
- int nTubeLoad = 0, int nGridType = 0, int nOrthoType = ACS_ORTHO_RANGE_TUBE_ANGLE, float fRelativePosition = 0, float fSID = 150, float fBeamAngle = 0, int nOrthoDir = ACS_HEAD_TO_FEET, int nPartialCP = ACS_CP_NORMAL,
- int nPatientSize = PAT_THN_M, int nOperationMode = OPM_NORMAL, int nAlignmentMode = ACS_ALIGNMENT_TOP,
- int nTracking = ACS_TRACK_NOT_ACTIVE, int nSidTracking = ACS_TRACK_NOT_ACTIVE);
- ///*********************************************************************************
- //函数名称:SendGenData
- //功能描述:调节参数指令(增加或减少)
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SendGenData(int interfaceType, int AdjustMode, int nFunctionID, int nGenData, int nUnitChange = 0);
-
- ///*********************************************************************************
- //函数名称:SendsBEDSP
- //功能描述:调节参数指令(增加或减少)for Dose
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SendsBEDSP(int interfaceType, int AdjustMode, int nFunctionID, int nGenData); //adjust parameter
- ///*********************************************************************************
- //函数名称:SetTubeLoad
- //功能描述:设置TubeLoad参数
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool SetTubeLoad(int nTubeLoad);
- ///*********************************************************************************
- //函数名称:SetFilter
- //功能描述:设置Filter参数
-
- //修改记录:
- //2021-04-21 创建
- //*******************************************************************************/
- bool SetFilter(int nFilterType);
- /*********************************************************************************
- 函数名称:WaitForDummyThread
- 功能描述: 等待Dummy线程
- 修改记录:
- 2021-04-23 创建
- *******************************************************************************/
- static DWORD __stdcall WaitForDummyThread(LPVOID pParam);
- /*********************************************************************************
- 函数名称:WaitForDapThread
- 功能描述: 等待DAP返回线程
- 修改记录:
- 2022-10-11 创建
- *******************************************************************************/
- static DWORD __stdcall WaitForDapThread(LPVOID pParam);
- //======================================================================================公用函数==========================================================================
- ///*********************************************************************************
- //函数名称:WSUI2TUI
- //功能描述:切换workstations从UI到XCU,用于映射对应的workstation值
-
- //修改记录:
- //20121-04-22 创建
- //*******************************************************************************/
- void WSUI2TUI(int nUIWS, int& nGenWS);
-
- ///*********************************************************************************
- //函数名称:mb2wc
- //功能描述: 字符转换函数
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- wstring mb2wc(const char* pszStr);
- /*********************************************************************************
- 函数名称:DecodeBase64
- 功能描述:对收到的信息进行解码
-
- 修改记录:
- 2021-5-11 创建
- *******************************************************************************/
- void DecodeBase64(string strMessageIn, wstring& strMessageOut);
- wstring GetWString(vector<unsigned char>& listdata);
- /*********************************************************************************
- 函数名称:OrthoWSUI2Gen
- 功能描述:Ortho切换workstations从UI到XCU,用于映射对应的workstation值
- 修改记录:
- 2021-04-21 创建
- *******************************************************************************/
- void OrthoWSUI2Gen(int nUIWS, int& nGenWS);
- /*********************************************************************************
- 函数名称:SwitchGridFocusECOM2SIEMENSORTHO
- 功能描述:切换ORTHO GridType 从ECOM版本切换到siemens版本
- nECOMGridType:ECOM版本的Grid Type定义
- nWS:ECOM版本的workstations类型;
- 函数输出;输出Siemens版本的GridType;
- 修改记录:
- 2021-4-21 创建
- *******************************************************************************/
- int SwitchGridFocusECOM2SIEMENSORTHO(int nWS, int nECOMGridType);
- ///*********************************************************************************
- //函数名称:GetFacKvValue
- //功能描述:将设置的KV值映射到当前KV参数列表的位置
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- int GetFacKvValue(int& nkv);
-
- ///*********************************************************************************
- //函数名称:GetFacmASValue
- //功能描述:将设置的MAS值映射到当前MA参数列表的位置
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- int GetFacmAsValue(int& nmAs);
-
- ///*********************************************************************************
- //函数名称:GetFacmSValue
- //功能描述:将设置的MS值映射到当前MS参数列表的位置
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- int GetFacmSValue(int& nms);
-
- ///*********************************************************************************
- //函数名称:GetFacDensityValue
- //功能描述:将设置的AECDensity值映射到当前AECDensity参数列表的位置
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- int GetFacDensityValue(int& nDensity);
-
- ///*********************************************************************************
- //函数名称:GetFacAECDoseValue
- //功能描述:将设置的AECDOSE值映射到当前AECDOSE参数列表的位置
- //参数内容:实际值*100
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- int GetFacAECDoseValue(int& nAECDose);
-
- ///*********************************************************************************
- //函数名称:GetFacFilterValue
- //功能描述:将设置的Filter值映射到当前Filter参数列表的位置
- //参数内容:实际值*10
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- int GetFacFilterValue(int& nFilter);
- //======================================================================================XCU通讯报文处理==========================================================================
- ///*********************************************************************************
- //函数名称:CallbackXCU
- //功能描述:对XCU报文进行反馈处理
-
- //修改记录:
- //2021-4-20 创建
- //*******************************************************************************/
- bool CallbackXCU(const acs_obj_header_t* pCommand);
- ///*********************************************************************************
- //函数名称:CallbackTurnOn
- //功能描述:对TurnOn消息进行反馈处理
-
- //修改记录:
- //2021-4-20 创建
- //*******************************************************************************/
- bool CallbackTurnOn(ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallBackTurnOff
- //功能描述: 解析当前关闭状态信息(turn off message)
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallBackTurnOff(ACS_BYTE* pCommand); //code 20140312 for version of all component
- ///*********************************************************************************
- //函数名称:CallbackGenParam
- //功能描述: 解析当前系统的曝光参数
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- int CallbackGenParam(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallbackIFILTERANZParam
- //功能描述: 解析现场的Filter信息
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallbackIFILTERANZParam(ACS_BYTE* pCommand); //for filter
- ///*********************************************************************************
- //函数名称:CallbackErrorParam
- //功能描述: 解析错误信息,目前仅用作记录
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallbackErrorParam(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallbackWorkstationFromXCU
- //功能描述: 解析当前workstation设置状态(是否成功,from XCU)
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallbackWorkstationFromXCU(ACS_BYTE* pCommand); //for OGP
- ///*********************************************************************************
- //函数名称:CallbackAufnAusl
- //功能描述: 解析当前的手闸状态信息
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallbackAufnAusl(ACS_BYTE* pCommand); //saufnausl_t1_tag
- ///*********************************************************************************
- //函数名称:CallbackSBILD
- //功能描述: image display on imaging system, sent from XCU to DFR or camera
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallbackSBILD(ACS_BYTE* pCommand); //saufnausl_t1_tag
- /*********************************************************************************
- 函数名称:CallbackSORGANSELECT
- 功能描述: 解析当前SORGANSELECT报文,当前选中view
-
- 修改记录:
- 2021-04-20 创建
- *******************************************************************************/
- bool CallbackSORGANSELECT(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackShowList
- //功能描述: 解析当前的参数范围信息
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallBackShowList(const ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallbackGetField
- //功能描述: 解析AEC Field信息
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallbackGetField(const ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallbackPostGenParam
- //功能描述: 解析曝光Post参数
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- int CallbackPostGenParam(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackIdrallganz2
- //功能描述: 解析错误信息,并发给UI进行显示
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackIdrallganz2(const ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackIfehleranz2
- //功能描述: 获取当前的错误信息,并发给UI进行显示
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackIfehleranz2(const ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackIINFOCOMP
- //功能描述: 收集当前组件的版本信息(collected SW/FW-versions of all components)
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackIINFOCOMP(ACS_BYTE* pCommand); //code 20130903 for version of all component
- ///*********************************************************************************
- //函数名称:CallBackST_MODE
- //功能描述: 解析当前的工作模式(Use or service)
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackST_MODE(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackSDFRNAHBED2
- //功能描述: 解析当前的病人信息(体型)
-
- //修改记录:
- //2021-04-21 创建
- //*******************************************************************************/
- bool CallBackSDFRNAHBED2(ACS_BYTE* pCommand);
- /*********************************************************************************
- 函数名称:CallBackST_ORGAN_PROG
- 功能描述: 返回当前使用的view名称
-
- 修改记录:
- 2021-04-23 创建
- *******************************************************************************/
- bool CallBackST_ORGAN_PROG(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackSRESETFEHLER
- //功能描述: reset当前DROC错误状态
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackSRESETFEHLER(ACS_BYTE* pCommand); //reset error //此报文可能不会使用
- ///*********************************************************************************
- //函数名称:CallBackSID
- //功能描述: 解析SID信息
-
- //修改记录:
- //2015-04-20 创建
- //*******************************************************************************/
- bool CallBackSID(ACS_BYTE* pCommand); //receive SID "IFFA", unit: mm
- ///*********************************************************************************
- //函数名称:CallBackWorkStationFromTUI
- //功能描述:获取当前探测器对应的Workstation信息 from TUI
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallBackWorkStationFromTUI(ACS_BYTE* pCommand); //receive System workstation
- ///*********************************************************************************
- //函数名称:CallBackCollimator
- //功能描述: 获取遮光器尺寸信息
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackCollimator(ACS_BYTE* pCommand); //receive collimator "IBLENDEANZ"
- //
- ///*********************************************************************************
- //函数名称:CallBackGrid
- //功能描述: 获取滤线栅信息
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackGrid(ACS_BYTE* pCommand); //receive Grid
- ///*********************************************************************************
- //函数名称:CallBackRQ_FDR_DATA
- //功能描述: 获取对应探测器的workstation信息
-
- //修改记录:
- //2023-04-23 创建
- //*******************************************************************************/
- bool CallBackRQ_FDR_DATA(ACS_BYTE* pCommand); //Request FPD serial Number
- /////*********************************************************************************
- //函数名称:CallBackAdjust
- //功能描述: PMS请求AP的读取或写入信息
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackAdjust(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackIGGANZ2
- //功能描述: 获取遮光器平移和探测器旋转状态
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackIGGANZ2(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackTubeHeat
- //功能描述: 获取当前设备热容量
-
- //修改记录:
- //2021-04-22 创建
- //*******************************************************************************/
- bool CallBackTubeHeat(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackSHDIAG
- //功能描述: 接受当前系统需要查询的内容
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackSTDIAG(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackRQOBJECT
- //功能描述: 接受当前系统需要查询的版本内容
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackRQOBJECT(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackDoorStatus
- //功能描述: 解析门的开关状态
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackDoorStatus(ACS_BYTE* pCommand); //System Status
- ///*********************************************************************************
- //函数名称:CallBackSTCONFIG
- //功能描述: 获取并解析ST_CONFIG报文
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackSTCONFIG(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackST_DATA_TRANS
- //功能描述: 获取并解析ST_DATA_TRANS报文
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackST_DATA_TRANS(ACS_BYTE* pCommand);
- /*********************************************************************************
- 函数名称:CallbackST_PWR_OFF
- 功能描述:接收到关机报文
- 参数:Full_image_size、image_size、overlap、Image number
- 修改记录:
- 2021-4-21 创建
- *******************************************************************************/
- bool CallbackST_PWR_OFF(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackSystemStatus
- //功能描述: 获取当前PMS状态
- //修改记录:
- //2021-04-21 创建
- //*******************************************************************************/
- bool CallBackPMSSystemStatus(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallbackIXRAY
- //功能描述:对IXRAY消息进行反馈处理
- //修改记录:
- //2021-10-16 创建
- //*******************************************************************************/
- bool CallbackIXRAY(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackIANLBEREIT
- //功能描述: 解析发生器状态是否ready
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackIANLBEREIT(ACS_BYTE* pCommand); //System Status
- ///*********************************************************************************
- //函数名称:CallbackIWATERVALACQ
- //功能描述: 解析DAP报文(IWATERVALACQ)
-
- //修改记录:
- //2021-09-25 创建
- //*******************************************************************************/
- bool CallbackIWATERVALACQ(ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallbackExposureNumber
- //功能描述: 解析曝光的次数报文(ISERVBETRIEB)
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallbackExposureNumber(ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallBackSOD
- //功能描述: 解析SOD信息
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackSOD(ACS_BYTE* pCommand); //receive S0D "ISOD", unit: mm
-
- ///*********************************************************************************
- //函数名称:CallbackIACSS
- //功能描述: 解析IACSS报文(硬裁剪条件)
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallbackIACSS(ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallBackSFANZLOESCHEN
- //功能描述: 获取SFANZLOESCHEN报文,表示错误被清除
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallBackSFANZLOESCHEN(ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallbackIERWALLGANZ
- //功能描述:对IERWALLGANZ消息进行反馈处理,获取在屏保状态下的按下手闸的状态,用于激活屏保登录框;
-
- //修改记录:
- //2021-4-23 创建
- //*******************************************************************************/
- bool CallbackIERWALLGANZ(ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallBackSORTHO
- //功能描述:接收到拼接图像信息
- //参数:Full_image_size、image_size、overlap、Image number
-
- //修改记录:
- //2021-04-23 创建
- //*******************************************************************************/
- bool CallbackSORTHO(ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallbackSH_STPAR_REP
- //功能描述:接收到拼接图像信息
- //参数:Full_image_size、image_size、overlap、Image number
-
- //修改记录:
- //2021-4-23 创建
- //*******************************************************************************/
- bool CallbackSH_STPAR_RFP(ACS_BYTE* pCommand);
- //====================================================================================FDC 通讯报文处理======================================================================
- /*********************************************************************************
- 函数名称:SendListFDC
- 功能描述:设置DROC端需要从PMS端接收的报文清单
- 修改记录:
- 2021-04-20 创建
- *******************************************************************************/
- bool SendListFDC(void);
- /*********************************************************************************
- 函数名称:SendIdentFDC
- 功能描述: 设置PMS状态
- 修改记录:
- 2021-04-20 创建
- *******************************************************************************/
- bool SendIdentFDC(void);
- ///*********************************************************************************
- //函数名称:CallBackSHRA
- //功能描述: 记录状态信息,仅为记录( confirm start/stop of xray,
- //released by software and hands free movement controlled by software )
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallBackSHRA(ACS_BYTE* pCommand);
- //*******************************************************************************/
- //函数名称:FDCDataThread
- //功能描述:FDC数据处理线程
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- //static DWORD __stdcall FDCDataThread(LPVOID pParam);
- static DWORD __stdcall FDCDataThread(LPVOID pParam);
-
- ///*********************************************************************************
- //函数名称:FDCConnectXCS
- //功能描述: FDC节点连接到XCU节点
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool FDCConnectXCS();
-
- ///*********************************************************************************
- //函数名称:DisconnectFDCAxn
- //功能描述: 断开FDC节点连接
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- void DisconnectFDCAxn();
- ///*********************************************************************************
- //函数名称:XCUDataThread
- //功能描述: FLC报文接收线程函数
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- static DWORD __stdcall ReveiveFDCData(LPVOID pParam);
- //*******************************************************************************/
- //函数名称:FDCCallback
- //功能描述:FDC报文解析
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool FDCCallback(const acs_obj_header_t* pCommand);
- /*********************************************************************************
- 函数名称:CallbackFDCTurnOn
- 功能描述:对FDC TurnOn消息进行反馈处理
-
- 修改记录:
- 2021-4-19 创建
- *******************************************************************************/
- bool CallbackFDCTurnOn(ACS_BYTE* pCommand);
-
- ///*********************************************************************************
- //函数名称:CallBackFDCTurnOff
- //功能描述: 解析当前F4节点关闭状态信息(turn off message)
-
- //修改记录:
- //2021-04-20 创建
- //*******************************************************************************/
- bool CallBackFDCTurnOff(ACS_BYTE* pCommand);
- ///*********************************************************************************
- //函数名称:CallBackSHSS
- //功能描述: 用来切换DROC当前是否要处于服务模式;
-
- //修改记录:
- //2020-04-20 创建
- //*******************************************************************************/
- bool CallBackSHSS(ACS_BYTE* pCommand);
- /*********************************************************************************
- 函数名称:DoExposure()
- 功能描述:响应探测器的开窗(FRM 2)指令,辅助GEN的FRM 1处理曝光流程
- 修改记录:
- 2020-11-03 创建
- *******************************************************************************/
- bool DoExposure(void); //应对ebus超时影响曝光
- protected:
- RET_STATUS RefreshData ();
- private:
- void FireNotify (std::string key, std::string context);
- void FireDataNotify (std::string key, std::string context);
- HANDLE m_hGenPostEvent;
- HANDLE m_hGenPostDAPEvent;
- };
- }
- //-----------------------------------------------------------------------------
- // SDCDriver
- //-----------------------------------------------------------------------------
- namespace CCOS::Dev::Detail::Generator
- {
- class _CCOSDEVGENDEMO_API SMZDriver : public DriverMould
- {
- using super = /*IODriverWithSCF <*/DriverMould;
- ResDataObject m_DeviceConfig;
- public:
- SMZDriver ();
- virtual ~SMZDriver ();
- public:
- virtual void Prepare () override;
- virtual bool DATA_ACTION Connect () override;
- virtual void Disconnect() override;
- virtual bool isConnected() const override;
- virtual void Dequeue (const char * Packet, DWORD Length) /*override*/;
- virtual void FireNotify (int code, std::string key, std::string content) /*override*/;
- virtual auto CreateDevice (int index)->std::unique_ptr <IODevice> override;
- virtual std::string DriverProbe () override;
- virtual std::string GetResource () override;
- virtual std::string DeviceProbe () override;
- virtual bool GetDeviceConfig(std::string& Cfg) override;
- private:
- //static PACKET_RET callbackPackageProcess (const char* RecData, DWORD nLength, DWORD& PacketLength);
- int m_nLastErrorCount; //记录上次关机时记录的Error数目;
- int m_nSelectOGPWaitingTime; //记录当前的Error数目;
- bool m_bConnect;
- };
- }
|