GrpcPrint/PrintS/ScannerCtrl/RTC5Scanner.h
2024-03-26 10:33:00 +08:00

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;
};