78 lines
2.3 KiB
C++
78 lines
2.3 KiB
C++
#pragma once
|
|
#include "Scanner.h"
|
|
|
|
class RTC5Scanner : public Scanner
|
|
{
|
|
public:
|
|
RTC5Scanner(ScannerControlCfg* cfg);
|
|
~RTC5Scanner();
|
|
bool Init();
|
|
bool StopWork();
|
|
static bool PreInit(unsigned int &card_count);
|
|
static void Uninit();
|
|
void SetK(double k) {
|
|
if (!m_CorrectParamCfg->m_IsCorrectFile3D) {
|
|
m_kfactor = k;
|
|
m_xfactor = m_kfactor*m_CorrectParamCfg->m_xcorrect;
|
|
m_yfactor = m_kfactor*m_CorrectParamCfg->m_ycorrect;
|
|
|
|
m_XOffsetAssist = m_CorrectParamCfg->m_xposfix *m_xfactor;
|
|
m_YOffsetAssist = m_CorrectParamCfg->m_yposfix *m_yfactor;
|
|
}
|
|
}
|
|
|
|
void UpdateScanParamByCfg(ScanParamCfg* cfg);
|
|
protected:
|
|
void HeatingScannerRun();
|
|
void ScannerInfoRun();
|
|
void UpdateScannerInfo();
|
|
void CheckAlarm();
|
|
private:
|
|
void LoadList(unsigned int listid, bool wait);
|
|
void EndList();
|
|
void ListExecute(unsigned int listid, bool wait);
|
|
void AutoChangeList();
|
|
void WaitListFree();
|
|
|
|
void SetScanSpeed(double value);
|
|
void SetPower(double watt);
|
|
void SetDefocus(float value);
|
|
void ResetDefocus();
|
|
void AddVector(double startx, double starty, double endx, double endy);
|
|
void ListNop();
|
|
void JumpAbs(double x, double y);
|
|
void MarkAbs(double x, double y);
|
|
|
|
unsigned int GetMemorySize() { return m_list_memory; }
|
|
void ScanDebug();
|
|
void UpdateSetting();
|
|
void SetXyOffset(float x, float y);
|
|
void SetAngle(double angle);
|
|
void UpdateSkyWriting(bool islist);
|
|
void GetInfo(vector<string> &ins);
|
|
void SetSkyWritingEnable(bool benable, bool islist);
|
|
|
|
void ScanTestProc();
|
|
|
|
private:
|
|
|
|
const uint32_t ScanStatusAddr = 0x0500;
|
|
const uint32_t ActualPositionAddr = 0x0501;
|
|
const uint32_t SetPositionAddr = 0x0502;
|
|
const uint32_t PositionErrorAddr = 0x0503;
|
|
const uint32_t ActualCurrentAddr = 0x0504;
|
|
const uint32_t ActualVelocityAddr = 0x0506;
|
|
const uint32_t GalvanometerScannerTempAddr = 0x0514;
|
|
const uint32_t ServoBoardTempAddr = 0x0515;
|
|
const uint32_t PDSupplyVoltageAddr = 0x0516;
|
|
const uint32_t DSPCoreSupplyVoltageAddr = 0x0517;
|
|
const uint32_t DSPIOVoltageAddr = 0x0518;
|
|
const uint32_t AnalogSectionVoltageAddr = 0x0519;
|
|
const uint32_t ADConverterSupplyVoltageAddr = 0x051A;
|
|
const uint32_t PDSupplyCurrentAddr = 0x051B;
|
|
const uint32_t FirmwareVersionAddr = 0x0522;
|
|
const uint32_t CurrentOperationStateLowAddr = 0x0528;
|
|
const uint32_t CurrentOperationStateHighAddr = 0x0529;
|
|
const uint32_t StopEventCode = 0x052A;
|
|
};
|