Files
vince/vincecontrol.h

185 lines
6.1 KiB
C
Raw Normal View History

/******************************************************
2020-08-11 18:02:24 +08:00
* : vincecontrol.h
* :
* :
* : xin
* : renlixin@iris-rs.cn
* : 2020-8-5
********************************************************
* *
* _ooOoo_ *
* o8888888o *
* 88" . "88 *
* (| -_- |) *
* O\ = /O *
* ____/`---'\____ *
* .' \\| |// `. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' | | *
* \ .-\__ `-` ___/-. / *
* ___`. .' /--.--\ `. . __ *
* ."" '< `.___\_<|>_/___.' >'"". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `-. \_ __\ /__ _/ .-` / / *
* ======`-.____`-.___\_____/___.-`____.-'====== *
* `=---=' *
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *
2020-08-11 18:02:24 +08:00
* *
* *
********************************************************/
2020-08-05 17:04:25 +08:00
#ifndef VINCECONTROL_H
#define VINCECONTROL_H
#include "vincecontrol_global.h"
2020-08-05 17:33:45 +08:00
#include "QString"
#include <QSerialPort>
enum ProTools
{
RS232 = 0,
RS485 = 1
};
/********************************************************************
2020-08-11 18:02:24 +08:00
*
* 使
* 1 Vince规定的
* 2485 id 0
* 3) serialconnect
* 4使
* 2020-8-5
*******************************************************************/
2020-08-05 17:04:25 +08:00
class VINCECONTROL_EXPORT VinceControl
{
public:
//************************************
// Method: VinceControl
// FullName: VinceControl::VinceControl
// Access: public
// Returns:
// Qualifier:
2020-08-11 18:02:24 +08:00
// Parameter: ProTools 通讯协议 RS485 或者 RS232
//************************************
VinceControl(ProTools proto);
2020-08-05 17:04:25 +08:00
~VinceControl();
//************************************
// Method: serialconnect
// FullName: VinceControl::serialconnect
// Access: public
// Returns: bool
// Qualifier:
2020-08-11 18:02:24 +08:00
// Parameter: QString comname 串口名称
// Parameter: QString bandrate 串口波特率
//************************************
bool serialconnect(QString comname,QString bandrate);
//************************************
// Method: SetRS485ID
// FullName: VinceControl::SetRS485ID
// Access: public
// Returns: void
// Qualifier:
// Parameter: QString id RS485 id
//************************************
void SetRS485ID(QString id);
//************************************
2020-08-11 18:02:24 +08:00
// Method: 电机使能
// FullName: VinceControl::EnableMotro
// Access: public
// Returns: void
// Qualifier:
//************************************
void EnableMotro();
//************************************
2020-08-11 18:02:24 +08:00
// Method: 取消使能
// FullName: VinceControl::DisableMotro
// Access: public
// Returns: void
// Qualifier:
//************************************
void DisableMotro();
//************************************
// Method: SendCommandtoSerial
// FullName: VinceControl::SendCommandtoSerial
// Access: public
// Returns: void
// Qualifier:
2020-08-11 18:02:24 +08:00
// Parameter: QString str 命令 不包含id
//************************************
void SendCommandtoSerial(QString str);
//************************************
2020-08-11 18:02:24 +08:00
// Method: MoveSetDistance 电机左移/右移 一定数量(不是距离)
// FullName: VinceControl::MoveSetDistance
// Access: public
// Returns: void
// Qualifier:
// Parameter: long distance
//************************************
void MoveSetDistance(long distance);
//************************************
2020-08-11 18:02:24 +08:00
// Method: MoveModar 电机左移/右移 direction是方向
// FullName: VinceControl::MoveModar
// Access: public
// Returns: void
// Qualifier:
2020-08-11 18:02:24 +08:00
// Parameter: bool direction 方向
//************************************
void MoveMotar(bool direction);
//************************************
2020-08-11 18:02:24 +08:00
// Method: SettingSpeed 设置速度
// FullName: VinceControl::SettingSpeed
// Access: public
// Returns: void
// Qualifier:
2020-08-11 18:02:24 +08:00
// Parameter: unsigned long Speed 速度 无方向
//************************************
void SettingSpeed(unsigned long Speed);
//************************************
2020-08-11 18:02:24 +08:00
// Method: MovetoZero 归零
// FullName: VinceControl::MovetoZero
// Access: public
// Returns: void
// Qualifier:
//************************************
void MovetoZero();
//************************************
2020-08-11 18:02:24 +08:00
// Method: GetLocationNow 获取当前至0点位置
// FullName: VinceControl::GetLocationNow
// Access: public
2020-08-11 18:02:24 +08:00
// Returns: long 位置
// Qualifier:
//************************************
long GetLocationNow();
//************************************
2020-08-11 18:02:24 +08:00
// Method: MoveToLocation 移动到某位置据0点
// FullName: VinceControl::MoveToLocation
// Access: public
// Returns: void
// Qualifier:
2020-08-11 18:02:24 +08:00
// Parameter: long Location 距离零点的位置
//************************************
void MoveToLocation(long Location);
//************************************
2020-08-11 18:02:24 +08:00
// Method: SettingUpandDownSpeed 设置加减速度
// FullName: VinceControl::SettingUpandDownSpeed
// Access: public
// Returns: void
// Qualifier:
2020-08-11 18:02:24 +08:00
// Parameter: int addspeed 加速度
// Parameter: int downspeed 减速度
//************************************
void SettingUpandDownSpeed(int addspeed, int downspeed);
2020-08-05 17:04:25 +08:00
private:
QSerialPort *serial;
bool IsMotorInit;
ProTools protools;
QString RS485ID;
unsigned long speed;
2020-08-05 17:04:25 +08:00
};
#endif // VINCECONTROL_H