public static bool SupportsEncryption(this PacketType packetType)
        {
            if (packetType.HasFlag(PacketType.Encrypted))
            {
                return(true);
            }
            switch (packetType)
            {
            case PacketType.FirmwareUpload:
            case PacketType.StatusRequest:
            case PacketType.StatusResponse:
            case PacketType.TrackRequest:
            case PacketType.TrackResponse:
            case PacketType.SystemLogRequest:
            case PacketType.SystemLogResponse:
            case PacketType.FirmwareUpdateStatusRequest:
            case PacketType.FirmwareUpdateStatusResponse:
            case PacketType.FirmwareUploadEncoded:
            case PacketType.StatusRequestEncoded:
            case PacketType.StatusResponseEncoded:
            case PacketType.TrackRequestEncoded:
            case PacketType.TrackResponseEncoded:
            case PacketType.SystemLogRequestEncoded:
            case PacketType.SystemLogResponseEncoded:
            case PacketType.FirmwareUpdateStatusRequestEncoded:
            case PacketType.FirmwareUpdateStatusResponseEncoded:
                return(true);

            default:
                return(false);
            }
        }
 public static bool IsEncrypted(this PacketType packetType) => packetType.HasFlag(PacketType.Encrypted);