123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- // CCOS.Dev.FPD.DEMO.cpp : 定义 DLL 应用程序的导出函数。
- //
- #include "CCOS.Dev.FPDDeviceMould.hpp"
- #include "Log4CPP.h"
- using namespace CCOS::Dev;
- using namespace CCOS::Dev::Detail::Detector;
- namespace nsFPD = CCOS::Dev::Detail::Detector;
- //extern Log4CPP::Logger* //gLogger;
- //-----------------------------------------------------------------------------
- // SyncUnit
- //-----------------------------------------------------------------------------
- nsFPD::SyncUnit::SyncUnit()
- {
- m_strReady4EXP = "";
- m_strXwindowStatus = "";
- m_strXrayON = "";
- m_strConnectStatus = "";
- m_strImageReadingStatus = "";
- m_strSupportSyncMode = "";
- }
- nsFPD::SyncUnit:: ~SyncUnit()
- {
- }
- void OEM_IF nsFPD::SyncUnit::SetEventCenter(std::shared_ptr <CCOS::Dev::IOEventCenter> EventCenter)
- {
- m_EventCenter = EventCenter;
- }
- RET_STATUS nsFPD::SyncUnit::JSSetXwindowSize(std::string in, std::string & out)
- {
- //FINFO("JSSetXwindowSize. {$}",in.c_str());
- ResDataObject json;
- json.decode(in.c_str());
- string strXwindow = (string)json[0];
- float XwindowSize = stof(strXwindow.c_str());
- return SetXwindow(XwindowSize);
- }
- RET_STATUS nsFPD::SyncUnit::JSSetFrameRate(std::string in, std::string& out)
- {
- //FINFO("JSSetFrameRate. {$}",in.c_str());
- ResDataObject json;
- json.decode(in.c_str());
- string strFrameRate = (string)json[0];
- float FrameRate = stof(strFrameRate.c_str());
- return SetFrameRate(FrameRate);
- }
- RET_STATUS nsFPD::SyncUnit::JSSetSyncMode(std::string in, std::string & out)
- {
- //FINFO("JSSetSyncMode. {$}",in.c_str());
- ResDataObject json;
- json.decode(in.c_str());
- int mode = json[0];
- int trigger = json[1];
- SYNC_MODE syncMode;
- HARDWARE_TRIGGER_MODE HWtrigger;
-
- if (mode == SYNC_SOFTWARE)
- {
- syncMode = SYNC_SOFTWARE;
- }
- else if (mode == SYNC_HARDWARE)
- {
- syncMode = SYNC_HARDWARE;
- }
- else if (mode == SYNC_AED)
- {
- syncMode = SYNC_AED;
- }
- else if (mode == SYNC_HARDWARE_DIRECT)
- {
- syncMode = SYNC_HARDWARE_DIRECT;
- }
- else
- {
- return RET_STATUS::RET_INVALID;
- }
- if (trigger == HW_TRIGGER_NONE || trigger == HW_TRIGGER_MAX)
- {
- if (mode == SYNC_HARDWARE)
- {
- return RET_STATUS::RET_INVALID;
- }
- HWtrigger = HW_TRIGGER_NONE;
- }
- else if (trigger == HW_TRIGGER_INTERNAL)
- {
- HWtrigger = HW_TRIGGER_INTERNAL;
- }
- else if (trigger == HW_TRIGGER_EXTERNAL)
- {
- HWtrigger = HW_TRIGGER_EXTERNAL;
- }
- else
- {
- return RET_STATUS::RET_INVALID;
- }
-
- return SetSyncMode(syncMode, HWtrigger);
- }
- RET_STATUS nsFPD::SyncUnit::JSGetSyncMode(std::string& out)
- {
- SYNC_MODE syncMode = SYNC_MAX;
- GetSyncMode(syncMode);
- auto str = std::to_string(syncMode);
- out = str;
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSPrepareAcquisition(std::string in, std::string& out)
- {
- //FINFO("JSPrepareAcquisition.");
- return PrepareAcquisition();
- }
- RET_STATUS nsFPD::SyncUnit::JSStartAcquisition(std::string in, std::string& out)
- {
- //FINFO("JSStartAcquisition.");
- ResDataObject json;
- json.decode(in.c_str());
- if (json.GetFirstOf("P0") >= 0)
- {
- string strAcqMode = (string)json["P0"];
- return StartAcquisition(strAcqMode);
- }
- else
- {
- //FINFO("JSStartAcquisition param in is null but it's not error!");
- return StartAcquisition();
- }
- }
- RET_STATUS nsFPD::SyncUnit::JSStopAcquisition(std::string in, std::string& out)
- {
- //FINFO("JSStopAcquisition.");
- return StopAcquisition();
- }
- RET_STATUS nsFPD::SyncUnit::JSGetFPDReady(std::string & out)
- {
- out = m_strReady4EXP;
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSSetFPDReady(std::string in)
- {
- //FINFO("JSSetFPDReady in:{$}", in);
- if (in == "")
- {
- return RET_STATUS::RET_FAILED;
- }
- m_strReady4EXP = in;
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSGetConnectStatus(std::string& out)
- {
- out = m_strConnectStatus;
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSGetXrayON(std::string& out)
- {
- out = m_strXrayON;
- return RET_STATUS::RET_SUCCEED;
- }
- void OEM_NOTIFY nsFPD::SyncUnit::FPDReadyNotify(bool bReady)
- {
- if (bReady)
- {
- m_strReady4EXP = "1";
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::FPDReadyStatus, m_strReady4EXP);
- }
- else
- {
- m_strReady4EXP = "0";
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::FPDReadyStatus, m_strReady4EXP);
- }
- }
- void OEM_NOTIFY nsFPD::SyncUnit::FPDConnectStatusNotify(bool bConnect)
- {
- if (bConnect)
- {
- m_strConnectStatus = "2";
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::DetectorConnectStatus, m_strConnectStatus);
- }
- else
- {
- m_strConnectStatus = "0";
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::DetectorConnectStatus, m_strConnectStatus);
- }
- }
- RET_STATUS nsFPD::SyncUnit::JSGetXWindowStatus(std::string & out)
- {
- out = m_strXwindowStatus;
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSSetXWindowStatus(std::string in)
- {
- //FINFO("JSSetXWindowStatus in:{$}", in);
- if (in == "")
- {
- return RET_STATUS::RET_FAILED;
- }
- m_strXwindowStatus = in;
- return RET_STATUS::RET_SUCCEED;
- }
- void OEM_NOTIFY nsFPD::SyncUnit::XWindowOnNotify()
- {
- //FINFO("XWindowOnNotify");
- auto szFDinfo = std::to_string(XWINDOW_ON);
- m_strXwindowStatus = szFDinfo;
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::XwindowStatus, m_strXwindowStatus);
- }
- void OEM_NOTIFY nsFPD::SyncUnit::XWindowOffNotify()
- {
- //FINFO("XWindowOffNotify");
- auto szFDinfo = std::to_string(XWINDOW_OFF);
- m_strXwindowStatus = szFDinfo;
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::XwindowStatus, m_strXwindowStatus);
- }
- void OEM_NOTIFY nsFPD::SyncUnit::FakeEIPONNotify()
- {
- m_EventCenter->OnNotify((int)ATTRACTION_SET, "FakeEIPON", "1");
- }
- void OEM_NOTIFY nsFPD::SyncUnit::XrayOnNotify()
- {
- m_strXrayON = "1";
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::XrayON, "1");
- }
- void OEM_NOTIFY nsFPD::SyncUnit::XrayOffNotify()
- {
- m_strXrayON = "0";
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::XrayON, "0");
- }
- RET_STATUS nsFPD::SyncUnit::JSGetImageReadingStatus(std::string & out)
- {
- out = m_strImageReadingStatus;
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSSetImageReadingStatus(std::string in)
- {
- //FINFO("JSSetImageReadingStatus in:{$}", in);
- if (in == "")
- {
- return RET_STATUS::RET_FAILED;
- }
- m_strImageReadingStatus = in;
- return RET_STATUS::RET_SUCCEED;
- }
- void OEM_NOTIFY nsFPD::SyncUnit::ImageReadingNotify()
- {
- std::string str = "0";
- m_EventCenter->OnNotify((int)ATTRACTION_SET, AttrKey::ImageReadingStatus, str);
- }
- RET_STATUS nsFPD::SyncUnit::GetSyncMode(SYNC_MODE& nSyncMode)
- {
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSGetExpReadyStatus(std::string& out)
- {
- out = m_strFPDExpReady;
- //FINFO("JSGetExpReadyStatus {$}", out);
- return RET_STATUS::RET_SUCCEED;
- }
- void OEM_NOTIFY nsFPD::SyncUnit::ExpReadyNotify(int nMillisecond)
- {
- auto szFDinfo = std::to_string(nMillisecond);
- m_strFPDExpReady = szFDinfo;
- m_EventCenter->OnNotify((int)ATTRACTION_MSG, AttrKey::FPDExpReady, m_strFPDExpReady);
- }
- RET_STATUS nsFPD::SyncUnit::SetFrameRate(float fFrameRate)
- {
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSGetSupportSyncMode(std::string& out)
- {
- out = m_strSupportSyncMode;
- //FINFO("JSGetSupportSyncMode {$}", out);
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSUpdateGENERATORSYNCSTATE(std::string in, std::string& out)
- {
- cout << "JSUpdateGENERATORSYNCSTATE: " << in << endl;
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::SetSupportSyncMode(string in)
- {
- //FINFO("SetSupportSyncMode {$}", in);
- m_strSupportSyncMode = in;
- return RET_STATUS::RET_SUCCEED;
- }
- RET_STATUS nsFPD::SyncUnit::JSActiveSyncMode(std::string in, std::string& out)
- {
- //FINFO("JSActiveSyncMode in:{$}", in);
- ResDataObject json;
- json.decode(in.c_str());
- if (json.GetFirstOf("SyncMode") >= 0)
- {
- string strSyncMode = json["SyncMode"].encode();
- int nSyncMode = 1;
- if (strSyncMode == "CMD")
- {
- nSyncMode = 1;
- }
- else if (strSyncMode == "HWS")
- {
- nSyncMode = 2;
- }
- else if (strSyncMode == "AED")
- {
- nSyncMode = 3;
- }
- else
- {
- //FERROR("not support this sync mode!");
- return RET_STATUS::RET_FAILED;
- }
- //FINFO("nSyncMode:{$}", nSyncMode);
- return ActiveSyncMode(nSyncMode);
- }
- else
- {
- //FERROR("JSActiveSyncMode param is invalid!");
- return RET_STATUS::RET_FAILED;
- }
- }
- RET_STATUS nsFPD::SyncUnit::ActiveSyncMode(int nSyncMode)
- {
- return RET_STATUS::RET_SUCCEED;
- }
|