113 lines
3.4 KiB
Dart
113 lines
3.4 KiB
Dart
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,
|
||
];
|
||
}
|