Files
BQP/srcs/RobotNet10/Shared/RobotNet.VDA5050/State/StateMsg.cs
2026-07-13 09:25:40 +07:00

104 lines
2.8 KiB
C#

using RobotNet.VDA5050.Visualization;
using System.ComponentModel.DataAnnotations;
using System.Text.Json.Serialization;
namespace RobotNet.VDA5050.State;
public class StateMsg
{
[Required]
[JsonPropertyName("headerId")]
public uint HeaderId { get; set; }
[JsonConverter(typeof(DateTimeConverter))]
[JsonPropertyName("timestamp")]
public DateTime Timestamp { get; set; }
[Required]
[JsonPropertyName("version")]
public string Version { get; set; } = string.Empty;
[Required]
[JsonPropertyName("manufacturer")]
public string Manufacturer { get; set; } = string.Empty;
[Required]
[JsonPropertyName("serialNumber")]
public string SerialNumber { get; set; } = string.Empty;
[JsonPropertyName("maps")]
public Map[]? Maps { get; set; }
[Required]
[JsonPropertyName("orderId")]
public string OrderId { get; set; } = string.Empty;
[Required]
[JsonPropertyName("orderUpdateId")]
public int OrderUpdateId { get; set; }
[JsonPropertyName("zoneSetId")]
public string? ZoneSetId { get; set; }
[Required]
[JsonPropertyName("lastNodeId")]
public string LastNodeId { get; set; } = string.Empty;
[Required]
[JsonPropertyName("lastNodeSequenceId")]
public int LastNodeSequenceId { get; set; }
[Required]
[JsonPropertyName("driving")]
public bool Driving { get; set; }
[JsonPropertyName("paused")]
public bool Paused { get; set; }
[JsonPropertyName("newBaseRequest")]
public bool NewBaseRequest { get; set; }
[JsonPropertyName("distanceSinceLastNode")]
public double? DistanceSinceLastNode { get; set; }
[Required]
[JsonPropertyName("operatingMode")]
public string OperatingMode { get; set; } = string.Empty;
[Required]
[JsonPropertyName("nodeStates")]
public NodeState[] NodeStates { get; set; } = [];
[Required]
[JsonPropertyName("edgeStates")]
public EdgeState[] EdgeStates { get; set; } = [];
[JsonPropertyName("agvPosition")]
public AgvPosition AgvPosition { get; set; } = new();
[JsonPropertyName("velocity")]
public Velocity Velocity { get; set; } = new();
[JsonPropertyName("loads")]
public Load[] Loads { get; set; } = [];
[Required]
[JsonPropertyName("actionStates")]
public ActionState[] ActionStates { get; set; } = [];
[Required]
[JsonPropertyName("batteryState")]
public BatteryState BatteryState { get; set; } = new();
[Required]
[JsonPropertyName("errors")]
public Error[] Errors { get; set; } = [];
[JsonPropertyName("information")]
public Information[] Information { get; set; } = [];
[Required]
[JsonPropertyName("safetyState")]
public SafetyState SafetyState { get; set; } = new();
}