Files
flutterApp/lib/features/remote_control/domain/entities/running_status_entity.dart
2026-01-27 18:44:49 +08:00

113 lines
3.4 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:equatable/equatable.dart';
import '../../../../core/network/enums/control_mode.dart';
import '../../data/models/running_status_model.dart';
class RunningStatusEntity extends Equatable {
final double voltage; //电压
final int leftTargetSpeed; //左目标速度
final int rightTargetSpeed; //右目标速度
final int leftMeasureSpeed; //左测速
final int rightMeasureSpeed; //右测速
final double leftCurrent; //左电流
final double rightCurrent; //右电流
final double leftMotorTemp; //左电机温度
final double rightMotorTemp; //右电机温度
final double chipTemp; //芯片温度
final double yaw; //偏航角
final double pitch; //俯仰角
final double roll; //滚转角
final int satelliteCnt; //卫星数量
final int qual; //定位质量: 0:无效 1:GPS单点定位 2:DGPS 3:RTK固定解 4:RTK浮点解 5.手动输入模式
final int headingStatus; //航向角状态: 0:未完成, 1:完成
final double latitude; //纬度
final double longitude; //经度
final String time; //时间
final int knifeCuttingSpeed; //割刀速度
final ControlMode controlMode; //控制模式: 0.无控制 1.本地控制 2.蓝牙 3.TCP 4.其他接口
final double battery; //电池电量
final double workingArea; //作业面积
final int obstacleFlag; //障碍物标志位 0:无 1:有
RunningStatusEntity({
this.voltage = 0.0,
this.leftTargetSpeed = 0,
this.rightTargetSpeed = 0,
this.leftMeasureSpeed = 0,
this.rightMeasureSpeed = 0,
this.leftCurrent = 0.0,
this.rightCurrent = 0.0,
this.leftMotorTemp = 0.0,
this.rightMotorTemp = 0.0,
this.chipTemp = 0.0,
this.yaw = 0.0,
this.pitch = 0.0,
this.roll = 0.0,
this.satelliteCnt = 0,
this.qual = 0,
this.headingStatus = 0,
this.latitude = 0.0,
this.longitude = 0.0,
this.time = '',
this.knifeCuttingSpeed = 0,
this.controlMode = ControlMode.NONE,
this.workingArea = 0.0,
this.battery = 0.0,
this.obstacleFlag = 0,
});
factory RunningStatusEntity.fromModel(RunningStatusModel model) {
return RunningStatusEntity(
voltage: model.voltage,
leftTargetSpeed: model.leftTargetSpeed,
rightTargetSpeed: model.rightTargetSpeed,
leftMeasureSpeed: model.leftMeasureSpeed,
rightMeasureSpeed: model.rightMeasureSpeed,
leftCurrent: model.leftCurrent,
rightCurrent: model.rightCurrent,
leftMotorTemp: model.leftMotorTemp,
rightMotorTemp: model.rightMotorTemp,
chipTemp: model.chipTemp,
yaw: model.yaw,
pitch: model.pitch,
roll: model.roll,
satelliteCnt: model.satelliteCnt,
qual: model.qual,
headingStatus: model.headingStatus,
latitude: model.latitude,
longitude: model.longitude,
time: model.time,
knifeCuttingSpeed: model.knifeCuttingSpeed,
controlMode: model.controlMode,
workingArea: model.workingArea,
battery: model.battery,
obstacleFlag: model.obstacleFlag,
);
}
@override
List<Object?> get props => [
voltage,
leftTargetSpeed,
rightTargetSpeed,
leftMeasureSpeed,
rightMeasureSpeed,
leftCurrent,
rightCurrent,
leftMotorTemp,
rightMotorTemp,
chipTemp,
yaw,
pitch,
roll,
satelliteCnt,
qual,
headingStatus,
latitude,
longitude,
time,
knifeCuttingSpeed,
controlMode,
];
}