123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487 |
- #pragma once
- // 下列 ifdef 块是创建使从 DLL 导出更简单的
- // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 US_MODEL_DEF_EXPORTS
- // 符号编译的。在使用此 DLL 的
- // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
- // US_MODEL_DEF_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
- // 符号视为是被导出的。
- #ifdef US_MODEL_DEF_EXPORTS
- #define US_MODEL_DEF_API __declspec(dllexport)
- #define US_MODEL_DEF_C_API extern "C" __declspec(dllexport)
- #else
- #define US_MODEL_DEF_API __declspec(dllimport)
- #define US_MODEL_DEF_C_API extern "C" __declspec(dllimport)
- #endif
- #ifndef US_MODEL_DEF_EXPORTS
- #ifdef _WIN64
- #ifdef _DEBUG
- #pragma comment(lib, "US_Model_DefX64D.lib")
- #else
- #pragma comment(lib, "US_Model_DefX64.lib")
- #endif
- #else
- #ifdef _DEBUG
- #pragma comment(lib, "US_Model_DefD.lib")
- #else
- #pragma comment(lib, "US_Model_Def.lib")
- #endif
- #endif
- #endif
- #include "DiosLock.h"
- #include "ResDataObject.h"
- #define US_BeanFormer ("BEANFORMER")
- //整数:32,64,128,256,512
- #define BfChannels ("BFCHANNELS")
- #define TrChannels ("TRCHANNELS")
- #define MaxTrChannels ("MAXTRCHANNELS")
- //工作模式
- #define US_SelectedTr ("SELECTEDTR")
- typedef enum _Us_TrSelectStatus {
- US_TR_SELECT_NULL,
- US_TR_SELECT_OK,
- US_TR_SELECT_MAX,
- }USTRSELECTSTATUS;
- #define US_TrList ("TRLIST")
- #define US_BfModeList ("BFMODELIST")
- #define US_CurBfMode ("CURBFMODELIST")
- #define BfMode ("BFMODE")
- typedef enum _Bf_Mode {
- BF_B_MODE,
- BF_B_THI_MODE,
- BF_COLOR_MODE,
- BF_CW_MODE,
- BF_PW_MODE,
- BF_M_MODE,
- BF_MODE_MAX
- }BF_MODE;
- //设备状态,WORK状态下选定工作模式的一种.
- #define BfStatus ("BFSTATUS")
- typedef enum _Bf_Status {
- BF_STATUS_SHUTDOWN,
- BF_STATUS_INIT,//start machine
- BF_STATUS_SLEEP,//fpga shutdown&&dios cpu sleep.
- BF_STATUS_WAKEUP,//fpga shutdown
- BF_STATUS_STANDBY,//all ready
- BF_STATUS_WORK,
- BF_STATUS_ERROR,
- BF_STATUS_MAX
- }BF_STATUS;
- //Work状态下的工作状态
- #define BfReadyStatus ("BFREADYSTATUS")
- typedef enum _Bf_WorkStatus {
- BF_WORKSTATUS_PREP,
- BF_WORKSTATUS_READY,
- BF_WORKSTATUS_MAX,
- }BFWORKSTATUS;
- //US 手闸状态:On,Off
- #define Us_Xmit ("USXMIT")
- typedef enum _Us_XmitStatus {
- US_STOPXMIT,
- US_STARTXMIT,
- US_XMIT_MAX,
- }USXMITSTATUS;
- //US 冻结状态:On,Off
- #define Us_Freeze ("USFREEZE")
- typedef enum _Us_FreezeStatus {
- US_UNFREEZE,
- US_FREEZE,
- US_FREEZE_MAX,
- }USFREEZESTATUS;
- #define US_TrName ("TRNAME")
- #define US_TrConnectStatus ("TRCONNECTSTATUS")
- #define US_TrExamType ("TREXAMTYPE")
- #define US_TrType ("TRTYPE")
- typedef enum _Tr_Type {
- TR_TYPE_LINNEAR,
- TR_TYPE_CURVE,
- TR_TYPE_PHASE,
- TR_TYPE_MAX,
- }TRTYPE;
- //发射焦点深度
- #define US_FrameRate ("FRAMERATE")
- //正整数 > 0
- #define US_FOCUS ("FOCUS")
- //正整数 > 0
- #define US_FOCUSZONE ("FOCUSZONE")
- //正整数 0 - 100
- #define US_GAIN ("GAIN")
- //正整数 0 - 255
- //uchar[8],使用UINT64
- #define US_TGC ("TGC")
- //uchar[2],使用USHORT
- #define US_LGC ("LGC")
- //浮点,3.5Mhz,6Mhz...
- #define US_FREQUENCY ("FREQUENCY")
- //正数,0开始
- #define US_PULSEDELAY ("PULSEDELAY")
- //正数
- #define US_POWER ("POWER")
- //正数
- #define US_PulseWidth ("PULSEWIDTH")
- //浮点数:物理参数
- #define US_View_LineAngle ("LINEANGLE")
- #define US_View_LeftMargin ("LEFTLINEMARGIN")
- #define US_View_RightMargin ("RIGHTLINEMARGIN")
- #define US_View_AngleStep ("LINEANGLESTEP")
- #define US_View_InnerDepth ("INNERDEPTH")
- #define US_View_OuterDepth ("OUTERDEPTH")
- #define US_Roi_LineHigh ("ROILINEHIGH")
- #define US_Roi_LineLow ("ROILINELOW")
- #define US_Roi_LineLeft ("ROILINELEFT")
- #define US_Roi_LineRight ("ROILINERIGHT")
- #define US_LineDensity ("LINEDENSITY")
- typedef enum _Us_LineDensity {
- US_LINEDENSITY_LOW,
- US_LINEDENSITY_MID,
- US_LINEDENSITY_HIGH,
- US_LINEDENSITY_MAX
- }US_LINEDENSITY;
- //浮点:正数
- #define US_ScanLineAngle ("SCANLINEANGLE")
- //正整数
- #define US_MultiLine ("MULTILINE")
- //正浮点数(米为单位)
- #define US_ReceiveDepth ("RECEIVEDEPTH")
- //bool值
- #define US_Harmonic ("HARMONIC")
- //正数 1-5,0-4
- #define US_Fusion ("FUSION")
- //正数
- #define US_Compress ("COMPRESS")
- //正数
- #define US_Packet ("PACKET")
- //正浮点数
- #define US_GateStartDepth ("GATESTARTDEPTH")
- //正浮点数
- #define US_GateLength ("GATELENGTH")
- #define US_ModeActiveStatus ("MODEACTIVESTATUS")
- #define US_ROI_Area ("USROIAREA")
- #define US_ROI_Type ("USROITYPE")
- typedef enum _Us_RoiType {
- US_ROI_TYPE_FANTYPE,
- US_ROI_TYPE_PARALLELOGRAM,
- US_ROI_TYPE_MAX
- }US_ROITYPE;
- #define US_ElementWidth ("ELEMENTWIDTH")
- #define US_ElementSpace ("ELEMENTSPACE")
- #define US_XmtLensFocus ("XMTLENSFOCUS")
- #define US_Elevation ("ELEVATION")
- #define US_LensThickness ("LENSTHICKNESS")
- //正数
- #define US_Dynamic ("DYNAMIC")
- //正数
- #define US_DwallFilter ("DWALLFILTER")
- //正数
- #define US_CwallFilter ("CWALLFILTER")
- //正数
- #define US_Smooth ("SMOOTH")
- #define US_BModeInf ("BModeInfo")
- #define US_CModeInf ("CModeInfo")
- #define US_PWModeInf ("PWModeInfo")
- #define US_BModeXmit ("BXmit")
- #define US_BModeRecv ("BRecv")
- #define US_CModeXmit ("CXmit")
- #define US_CModeRecv ("CRecv")
- #define US_DModeXmit ("DXmit")
- #define US_DModeRecv ("DRecv")
- class US_MODEL_DEF_API UsRoiArea : public ExJsonDataObject
- {
- //key:UsRoiArea
- public:
- UsRoiArea(US_ROITYPE RoiType);
- virtual ~UsRoiArea();
- };
- class US_MODEL_DEF_API BModeXmit : public ExJsonDataObject
- {
- //key:BModeXmit
- public:
- BModeXmit();
- virtual ~BModeXmit();
- };
- class US_MODEL_DEF_API BModeReceive : public ExJsonDataObject
- {
- //key:BModeReceive
- public:
- BModeReceive();
- virtual ~BModeReceive();
- };
- class US_MODEL_DEF_API BModeInfo : public ExJsonDataObject
- {
- //key:BModeInfo
- public:
- BModeInfo();
- virtual ~BModeInfo();
- };
- class US_MODEL_DEF_API CModeXmit : public ExJsonDataObject
- {
- //key:CModeXmit
- public:
- CModeXmit();
- virtual ~CModeXmit();
- };
- class US_MODEL_DEF_API CModeReceive : public ExJsonDataObject
- {
- //key:CModeReceive
- public:
- CModeReceive();
- virtual ~CModeReceive();
- };
- class US_MODEL_DEF_API CModeInfo : public ExJsonDataObject
- {
- //key:CModeInfo
- public:
- CModeInfo();
- virtual ~CModeInfo();
- };
- class US_MODEL_DEF_API PWModeXmit : public ExJsonDataObject
- {
- //key:PWModeXmit
- public:
- PWModeXmit();
- virtual ~PWModeXmit();
- };
- class US_MODEL_DEF_API PWModeReceive : public ExJsonDataObject
- {
- //key:PWModeReceive
- public:
- PWModeReceive();
- virtual ~PWModeReceive();
- };
- class US_MODEL_DEF_API PWModeInfo : public ExJsonDataObject
- {
- //key:PWModeInfo
- public:
- PWModeInfo();
- virtual ~PWModeInfo();
- };
- class US_MODEL_DEF_API ModelTranducer : public ExJsonDataObject
- {
- //key:Tranducer
- //US_BfModeList
- //US_TrType
- public:
- ModelTranducer();
- virtual ~ModelTranducer();
- };
- class US_MODEL_DEF_API ModelBeanFormer : public ExJsonDataObject
- {
- //key:BeanFormer
- //B Mode
- BModeInfo m_BMode;
- //C Mode
- CModeInfo m_CMode;
- //PW Mode
- PWModeInfo m_PwMode;
- //BfStatus
- //BfReadyStatus
-
- //TR表
- //激活的TR
- public:
- ModelBeanFormer();
- virtual ~ModelBeanFormer();
- bool SelectTR(const char *pTRName);
- bool StartAcq();
- bool StopAcq();
- //rule No1.只要激活状态,B模式 always on Active.
- //rule No2.Active B,C,D情况下,三个都有激活
- //rule No3.再次Active已激活的模式的话,会Deactive 所有其他模式
- void ActiveMode(BF_MODE Mode);
- //设置参数
- //设置单独的参数
- //设置一个Mode的参数
- ResDataObject &operator [](const char *pKey);
- //设置全部参数
- bool SetFullModeParams(ResDataObject &Res);
-
- };
- class US_MODEL_DEF_API ModelSignalProcess : public ExJsonDataObject
- {
- //key:SignalProcess
- public:
- ModelSignalProcess();
- virtual ~ModelSignalProcess();
- };
- #define Us_DiosImageInfo ("UsImageInfo")
- #define Us_ImageBmodeInfo ("UsImageBModeInfo")
- #define Us_ImageCmodeInfo ("UsImageBModeInfo")
- #define Us_ImageDmodeInfo ("UsImageBModeInfo")
- #define Us_DiosImageType ("USIMAGETYPE")
- #define Us_DiosImageViewTypeSupprt ("USIMAGETYPESUPPORT")
- #define Us_DiosImageHeight ("USIMAGEHEIGHT")
- #define Us_DiosImageWidth ("USIMAGEWIDTH")
- #define Us_DiosImageBits ("USIMAGEBITS")
- typedef enum _Us_ImageType {
- US_IMAGETYPE_BMODE,
- US_IMAGETYPE_CMODE,
- US_IMAGETYPE_DMODE,
- US_IMAGETYPE_MAX
- }USIMAGETYPE;
- class US_MODEL_DEF_API UsImageBModeInfo : public ExJsonDataObject
- {
- //key:UsImageBModeInfo
- public:
- UsImageBModeInfo();
- virtual ~UsImageBModeInfo();
- };
- class US_MODEL_DEF_API UsImageCModeInfo : public ExJsonDataObject
- {
- //key:UsImageCModeInfo
- public:
- UsImageCModeInfo();
- virtual ~UsImageCModeInfo();
- };
- class US_MODEL_DEF_API UsImageDModeInfo : public ExJsonDataObject
- {
- //key:UsImageDModeInfo
- public:
- UsImageDModeInfo();
- virtual ~UsImageDModeInfo();
- };
- class US_MODEL_DEF_API ModelAcousticProcess : public ExJsonDataObject
- {
- //key:AcousticProcess
- UsImageBModeInfo m_BImageMode;
- UsImageCModeInfo m_CImageMode;
- UsImageDModeInfo m_DImageMode;
- public:
- ModelAcousticProcess();
- virtual ~ModelAcousticProcess();
- };
|