#ifndef MYPRINTER_H
#define MYPRINTER_H
#include <stdio.h>
#include <tchar.h>
#include <time.h>
#include <fstream>
#include <iostream>
#include <vector>
// Main include file
#include "A3200.h"

class MyPrt {
	// idx
	const int x_idx = 0;
	const int y_idx = 1;
	int z_idx = 2;
	int zz_idx = 3;
	int axisNum = 4; // axis number to be init

	// Masks
	const AXISMASK x_mask = AXISMASK_00;
	const AXISMASK y_mask = AXISMASK_02;
	const AXISMASK z_mask = AXISMASK_03;
	const AXISMASK zz_mask = AXISMASK_04;
	const AXISINDEX x_id = AXISINDEX_00;
	const AXISINDEX y_id = AXISINDEX_02;
	const AXISINDEX z_id = AXISINDEX_03;
	const AXISINDEX zz_id = AXISINDEX_04;
	AXISMASK axisMask;
	AXISINDEX axisIdArray[4];

	A3200Handle handle = NULL;

public:
	MyPrt(int axisAct);
	~MyPrt();

	std::vector<DOUBLE> posData = std::vector<DOUBLE>(3);

	int InitPrt(bool home_f);
	int MoveAbs(std::vector<DOUBLE>* posCmd, std::vector<DOUBLE>* velCmd, bool wait);
	int MoveInc(std::vector<DOUBLE>* distCmd, std::vector<DOUBLE>* velCmd, bool wait);
	int GetPos();
	//int Dispense();

	void PrintError();
};


#endif
