104 lines
2.8 KiB
C#
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();
|
|
}
|