tx-gxx-linux/device/gxx-linux/deviceio/DevUtil.h

94 lines
2.7 KiB
C++

#pragma once
#include <string>
#include <fstream>
#include <memory>
#define G300
template <typename T>
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 PORTS
{
Start = 171,
Stop = 49,
Power = 5,
Fpga_Load = 70,
#ifndef G300
Power_12v_Off = 12,
#endif
MotorPower = 48,
CuoZhiMotor_Reset = 56,
CuoZhiMotor_Sleep = 57,
CuoZhiMotor_Enable = 58,
CuoZhiMotor_Direction = 62,
CuoZhiMotor_Decay = 63,
CuoZhiMotor_Home = 184,
CuoZhiMotor_Fault = 185,
CuoZhiMotor_Mode0 = 59,
CuoZhiMotor_Mode1 = 60,
CuoZhiMotor_Mode2 = 61,
Cover = 189, // 'GPIO6A5' opened:0 ; closed:1
Paper = 225, // 'GPIO7B1' has paper:0 ; no paper:1
Scan = 226, // 'GPIO7B2' no paper:0 ; has paper:1
PaperJam = 102,
Double_Paper = 219, // 'GPIO7A3' not doubled:0 ; doubled:1
SW_NOR_FLASH = 221,
Double_Enable = 250, // 'GPIO8A2' off: 0 ; on: 1
ZouZhiMotor_Reset = 64,
ZouZhiMotor_Sleep = 65,
ZouZhiMotor_Enable = 66,
ZouZhiMotor_Direction = 70,
ZouZhiMotor_Decay = 71,
ZouZhiMotor_Home = 187,
ZouZhiMotor_Fault = 188,
ZouZhiMotor_Mode0 = 67,
ZouZhiMotor_Mode1 = 68,
ZouZhiMotor_Mode2 = 69,
CIS_3v3_Off = 96,
CIS_5v_En = 98,
Fpga_InitDone = 99,
Image_In_Transfer = 101,
Fpga_Reset = 232
};
class DeviceExport
{
public:
DeviceExport();
private:
#ifndef G300
const int ports[38] = {Start, Stop, Power, Fpga_Load, Power_12v_Off, MotorPower, CuoZhiMotor_Reset, CuoZhiMotor_Sleep, CuoZhiMotor_Enable,
CuoZhiMotor_Direction, CuoZhiMotor_Decay, CuoZhiMotor_Home, CuoZhiMotor_Fault, CuoZhiMotor_Mode0,
CuoZhiMotor_Mode1, CuoZhiMotor_Mode2, Cover, Paper, Scan, PaperJam, Double_Paper, Double_Enable,
ZouZhiMotor_Reset, ZouZhiMotor_Sleep, ZouZhiMotor_Enable, ZouZhiMotor_Direction, ZouZhiMotor_Decay,
ZouZhiMotor_Home, ZouZhiMotor_Fault, ZouZhiMotor_Mode0, ZouZhiMotor_Mode1, ZouZhiMotor_Mode2,
CIS_3v3_Off, CIS_5v_En, Fpga_InitDone, Image_In_Transfer, Fpga_Reset, SW_NOR_FLASH};
#else
const int ports[36] = {Start, Stop, Power, Fpga_Load, MotorPower, CuoZhiMotor_Reset, CuoZhiMotor_Sleep, CuoZhiMotor_Enable,
CuoZhiMotor_Direction, CuoZhiMotor_Decay, CuoZhiMotor_Home, CuoZhiMotor_Fault, CuoZhiMotor_Mode0,
CuoZhiMotor_Mode1, CuoZhiMotor_Mode2, Cover, Paper, Scan, PaperJam, Double_Paper, Double_Enable,
ZouZhiMotor_Reset, ZouZhiMotor_Sleep, ZouZhiMotor_Enable, ZouZhiMotor_Direction, ZouZhiMotor_Decay,
ZouZhiMotor_Home, ZouZhiMotor_Fault, ZouZhiMotor_Mode0, ZouZhiMotor_Mode1, ZouZhiMotor_Mode2,
CIS_3v3_Off, CIS_5v_En, Fpga_InitDone, Image_In_Transfer, Fpga_Reset};
#endif
const int pwms[2] = {2, 3};
};