2023-04-08 00:56:20 +00:00
|
|
|
#pragma once
|
2023-04-23 03:50:17 +00:00
|
|
|
#include "iscanner.h"
|
2023-04-08 00:56:20 +00:00
|
|
|
|
|
|
|
enum MotorVersion : uint{
|
|
|
|
Motor_old,
|
|
|
|
Motor_mltop,
|
|
|
|
Motor_paperout,
|
|
|
|
};
|
|
|
|
|
2023-04-23 03:50:17 +00:00
|
|
|
class Scanner : public IScanner
|
2023-04-08 00:56:20 +00:00
|
|
|
{
|
|
|
|
public:
|
2023-04-23 03:50:17 +00:00
|
|
|
Scanner(std::shared_ptr<ICapturer> capturer, std::shared_ptr<IMotorBoard> mb, std::shared_ptr<WakeUp> wake);
|
|
|
|
virtual ~Scanner();
|
|
|
|
virtual void start_scan() override;
|
|
|
|
virtual void stop_scan() override;
|
|
|
|
virtual int count() override;
|
|
|
|
virtual int mode() override;
|
|
|
|
virtual int getmbstatus() override;
|
|
|
|
virtual bool getpaperon() override;
|
|
|
|
virtual void runScan() override;
|
2023-04-08 00:56:20 +00:00
|
|
|
private:
|
|
|
|
void scanold();
|
|
|
|
void scanpaperout();
|
|
|
|
volatile int done_scan = 0;
|
|
|
|
volatile bool is_ml_top = 0;
|
|
|
|
volatile bool handstop = 0;
|
2023-04-23 03:50:17 +00:00
|
|
|
volatile int mb_error_code = 0;
|
2023-04-08 00:56:20 +00:00
|
|
|
MotorVersion m_mbver;
|
2023-04-23 03:50:17 +00:00
|
|
|
|
2023-04-08 00:56:20 +00:00
|
|
|
};
|