自動校準
//零點校準
calibration = () => {
let network = new Networking();
network.callService(
"/gauss/calibrate_motors",
"gauss_msgs/SetInt",
{
value: 1
},
result => {
if (result.status === 200) {
let calibrationStatus = this.getCalibrationStatus(data => {
if (data.calibration_in_progress === false) {
if (data.calibration_needed === 1) {
this.setState({
calibrationTypeVisible: {
display: "block"
}
});
calibrationStatus.unsubscribe();
//日誌記錄
inputLog({
status: 4,
message: "Calibration failure"
});
this.openNotificationWithIcon(
"error",
"Calibration",
"Calibration failure"
);
} else {
this.setState({
calibrationTypeVisible: {
display: "none"
}
});
calibrationStatus.unsubscribe();
//日誌記錄
inputLog({
status: 1,
message: "Calibration success"
});
this.openNotificationWithIcon(
"success",
"Calibration",
"Calibration success"
);
}
}
});
result.status = 1;
inputLog(result);
}
}
);
};
手動校準
// 彈窗中的手動校準
manualCalibration = () => {
let network = new Networking();
network.callService(
"/gauss/calibrate_motors",
"gauss_msgs/SetInt",
{
value: 2
},
result => {
if (result.status === 200) {
let calibrationStatus = this.getCalibrationStatus(data => {
if (data.calibration_in_progress === false) {
if (data.calibration_needed === 1) {
this.setState({
calibrationTypeVisible: {
display: "block"
}
});
//日誌記錄
inputLog({
status: 4,
message: "Calibration failure"
});
this.openNotificationWithIcon(
"error",
"Calibration",
"Calibration failure"
);
} else {
this.setState({
calibrationTypeVisible: {
display: "none"
}
});
//日誌記錄
inputLog({
status: 1,
message: "Calibration success"
});
this.openNotificationWithIcon(
"success",
"Calibration",
"Calibration success"
);
}
calibrationStatus.unsubscribe();
// clearInterval(calibra);
}
});
result.status = 1;
inputLog(result);
}
}
);
};
重新校準
//重新校準
realignment = () => {
let network = new Networking();
network.callService(
"/gauss/request_new_calibration",
"gauss_msgs/SetInt",
{
value: 1
},
result => {
if (result.status === 200) {
this.setState({
teachStatus: true
});
result.status = 1;
inputLog(result);
}
}
);
};