#pragma once #include #include #include #include "scanservices_utils.h" template std::string string_format(const std::string& format, Args ... args) { size_t size = snprintf(nullptr, 0, format.c_str(), args ...) + 1; std::unique_ptr buf(new char[size]); snprintf(buf.get(), size, format.c_str(), args ...); return std::string(buf.get(), buf.get() + size - 1); } template void write_dev(std::string path, T value) { std::ofstream ofout(path); ofout << value; } extern int read_dev_i(std::string path); extern std::string read_dev_s(std::string path); enum PIN_PORT_7010 { //通道0-------------START SCAN_SENSOR = 0 + 1017, //扫描传感器 HAVE_OR_NO_PAPER = 3 + 1017, //有无纸(0:无纸,1:有纸) OPEN_COVER_SENSOR = 4 + 1017, //是否开盖(0:未开盖,1:开盖) WIDTH_DETECTION = 5 + 1017, SCREW_DETECTION = 6 + 1017, ULTRASONIC_SENSORS_OUT0 = 18 + 899, ULTRASONIC_SENSORS_OUT1 = 17 + 899, ULTRASONIC_SENSORS_ON = 20 + 899, ULTRASONIC_SENSORS_ADJ = 19 + 899, //通道0-------------END SENSOR_POWER = 66 + 1017, //通道1-------------START BUTTON_1_POWER = 21+1017, //按键1 电源 BUTTON_2 = 22+1017, //按键2 BUTTON_3 = 23+1017, //按键3 LED_0_GREEN = 24+899, LED_1_WHITE = 25+899, LED_2_RED = 26+899, //PWM0 电机1-START CUOZHI_PIN_DIR = 54+899, //方向(顺:0) CUOZHI_PIN_ENABEL = 55+899, //使能(有效:0) CUOZHI_PIN_RESET = 56+899, //重启 (1:电机转动,一般默认为1) CUOZHI_PIN_SLEEP = 57+899, //睡眠 (1:电机转动,一般默认为1) //PWM0 电机1-END //PWM1 电机2-START ZOUZHI_PIN_DIR = 59+899, //方向(顺:0) ZOUZHI_PIN_ENABEL = 60+899, //使能(有效:0) ZOUZHI_PIN_RESET = 61+899, //重启 (1:电机转动,一般默认为1) ZOUZHI_PIN_SLEEP = 62+899, //睡眠 (1:电机转动,一般默认为1) //PWM1 电机2-END //通道1-------------END MOTOR_POWER_1 = 64 + 899, //电机1 电源开关 MOTOR_POWER_2 = 65 + 899, //电机2 电源开关 test1 = 14 + 899, //test1 test2 = 15 + 899 //test1 }; class DeviceExport { public: DeviceExport(); private: const int ports[20] = { MOTOR_POWER_1, CUOZHI_PIN_RESET, CUOZHI_PIN_SLEEP,CUOZHI_PIN_ENABEL, CUOZHI_PIN_DIR, MOTOR_POWER_2, ZOUZHI_PIN_RESET, ZOUZHI_PIN_SLEEP,ZOUZHI_PIN_ENABEL, ZOUZHI_PIN_DIR, SCAN_SENSOR,HAVE_OR_NO_PAPER, OPEN_COVER_SENSOR,ULTRASONIC_SENSORS_OUT0,ULTRASONIC_SENSORS_OUT1,ULTRASONIC_SENSORS_ON, SCREW_DETECTION,WIDTH_DETECTION,LED_1_WHITE,LED_0_GREEN}; //const int pwms[3] = { 0, 1 ,2}; //2024 第二版 const int pwms[3] = {0,3}; };