123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #pragma once
- #include "../OTSControl/OTSScanBase.h"
- #include "OTSOxfordImpl.h"
- namespace OTSController
- {
- const long RESOLUTION_OXFORD_ID_MIN = 0;
- const long RESOLUTION_OXFORD_ID_MAX = 6;
- // DWELL_TIME of OXFORD
- const long DWELLTIME_OXFORD_ID_MIN = 0;
- const long DWELLTIME_OXFORD_ID_MAX = 10;
- const long DWELLTIME_OXFORD_ID_DEFAULT = 4;
- const long DWELLTIME_OXFORD_VALUES[DWELLTIME_OXFORD_ID_MAX + 1] = { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 };
- const CString DWELLTIME_OXFORD_STRINGS[DWELLTIME_OXFORD_ID_MAX + 1] = { _T("1¦Ìs"), _T("2¦Ìs"), _T("4¦Ìs"), _T("8¦Ìs"), _T("16¦Ìs"),
- _T("32¦Ìs"), _T("64¦Ìs"), _T("128¦Ìs"), _T("256¦Ìs"), _T("512¦Ìs"), _T("1024¦Ìs") };
- class COTSScanOxford :public COTSScanBase
- {
- public:
- /// <summary>
- /// Creates a new IADOxford instance.
- /// </summary>
- COTSScanOxford();
- virtual ~COTSScanOxford();
- // initialization
- virtual BOOL Init() override;
-
- virtual ScanController::SCANNER_ID GetType() override { return ScanController::SCANNER_ID::OXFORD; }
- // Get matrix Size
- virtual CSize GetMatrixSize(int a_nMatrixIndex) override;
- // move beam to point
- virtual BOOL MoveBeamTo(CPoint& a_beamPos) override;
- // Set point Scan
- virtual BOOL SetPointScan(int /*a_nMatrixIndex*/) override { return true; }
- // Start Scan Table
- virtual BOOL StartScanTable(int a_nMatrixIndex, unsigned int nP, int* pnx, int* pny) override;
- // set Image Size
- virtual BOOL SetImageSize(long nImageSize,long nHeight) override;
- /// set dwell time
- virtual BOOL SetDwellTime(long nDwellTime) override;
- virtual CBSEImgPtr AcquireBSEImage(int a_nMatrixIndex, int nReads, int nDwell) override;
-
-
- virtual long GetDwellTimeByIndex(const long a_nIndex) override;
- virtual BOOL SetDwellTimeByIndex(const long a_nIndex) override;
- virtual BOOL SetScanFieldSize(const int a_nWidth, const int a_nHeight) override;
- virtual BOOL SetEMPosition(const int a_nPosX, const int a_nPosY) override;
- private:
- std::shared_ptr<OxfordImpl> m_oxfordImpl;
- };
- }
|