fix crash bug
This commit is contained in:
@@ -239,6 +239,8 @@ Java_com_uns_maincar_cpp_1interface_ColoredQRDecoder_GetSpecColorQR(JNIEnv *env,
|
|||||||
{
|
{
|
||||||
cv::Mat next = global_colored_qr_decoder.GetCodeByColor(
|
cv::Mat next = global_colored_qr_decoder.GetCodeByColor(
|
||||||
(uns::QRCode::Color) color).GetBinaryImage();
|
(uns::QRCode::Color) color).GetBinaryImage();
|
||||||
|
if (next.empty())
|
||||||
|
return nullptr;
|
||||||
jobject bmp = GenerateBitmap(env, next.cols, next.rows);
|
jobject bmp = GenerateBitmap(env, next.cols, next.rows);
|
||||||
MatToBitmap(env, next, bmp);
|
MatToBitmap(env, next, bmp);
|
||||||
return bmp;
|
return bmp;
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ import android.widget.Toast;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
import com.uns.maincar.R;
|
import com.uns.maincar.R;
|
||||||
import com.uns.maincar.communication.CommandDecoder;
|
import com.uns.maincar.communication.CommandDecoder;
|
||||||
import com.uns.maincar.communication.CommandEncoder;
|
import com.uns.maincar.communication.CommandEncoder;
|
||||||
@@ -58,8 +60,11 @@ import com.uns.maincar.tools.TextFilter;
|
|||||||
import com.uns.maincar.tools.camera.CameraOperator;
|
import com.uns.maincar.tools.camera.CameraOperator;
|
||||||
import com.uns.maincar.tools.camera.CameraSearcher;
|
import com.uns.maincar.tools.camera.CameraSearcher;
|
||||||
|
|
||||||
|
import org.tensorflow.lite.examples.detection.tflite.Classifier;
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity
|
public class MainActivity extends AppCompatActivity
|
||||||
@@ -208,8 +213,10 @@ public class MainActivity extends AppCompatActivity
|
|||||||
case Commands.RECEIVE_TEXT_OCR:
|
case Commands.RECEIVE_TEXT_OCR:
|
||||||
OCRRecognizeText();
|
OCRRecognizeText();
|
||||||
break;
|
break;
|
||||||
|
//收到车型识别指令,开始识别车型,回传识别成功的数据
|
||||||
case Commands.RECEIVE_VEHICLE:
|
case Commands.RECEIVE_VEHICLE:
|
||||||
dtc_client.Send(RecognizeVehicle());
|
dtc_client.Send(RecognizeVehicle());
|
||||||
|
break;
|
||||||
//收到未知指令,回传异常指令,表示无法解析当前指令
|
//收到未知指令,回传异常指令,表示无法解析当前指令
|
||||||
default:
|
default:
|
||||||
CommandEncoder error = new CommandEncoder();
|
CommandEncoder error = new CommandEncoder();
|
||||||
@@ -300,8 +307,12 @@ public class MainActivity extends AppCompatActivity
|
|||||||
if (!success)
|
if (!success)
|
||||||
success = ColoredQRDecoder.BeginQRDecode(currImage, true);
|
success = ColoredQRDecoder.BeginQRDecode(currImage, true);
|
||||||
if (!success)
|
if (!success)
|
||||||
|
{
|
||||||
|
ToastLog("QR Decoder: Init Failure.", false, true);
|
||||||
return encoder.GenerateCommand(Commands.QR_FAILED, (byte) 0, (byte) 0, (byte) 0);
|
return encoder.GenerateCommand(Commands.QR_FAILED, (byte) 0, (byte) 0, (byte) 0);
|
||||||
|
}
|
||||||
String result = ColoredQRDecoder.DecodeSpecColorQR(target_color);
|
String result = ColoredQRDecoder.DecodeSpecColorQR(target_color);
|
||||||
|
ToastLog("QR Decoder Result: " + result, false, true);
|
||||||
if (Objects.equals(result, ERR_COLOR_INVALIDATE) || Objects.equals(result, ERR_IMAGE_GENERATOR_FAILED) || Objects.equals(result, ERR_DECODE_FAILED))
|
if (Objects.equals(result, ERR_COLOR_INVALIDATE) || Objects.equals(result, ERR_IMAGE_GENERATOR_FAILED) || Objects.equals(result, ERR_DECODE_FAILED))
|
||||||
return encoder.GenerateCommand(Commands.QR_FAILED, (byte) 0, (byte) 0, (byte) 0);
|
return encoder.GenerateCommand(Commands.QR_FAILED, (byte) 0, (byte) 0, (byte) 0);
|
||||||
else
|
else
|
||||||
@@ -432,10 +443,61 @@ public class MainActivity extends AppCompatActivity
|
|||||||
return encoder.GenerateCommand();
|
return encoder.GenerateCommand();
|
||||||
}*/
|
}*/
|
||||||
//交通标志改用开源AI模型识别
|
//交通标志改用开源AI模型识别
|
||||||
|
Gson json = new Gson();
|
||||||
String result = TS_Detector.processImage(currImage);
|
String result = TS_Detector.processImage(currImage);
|
||||||
ToastLog("Traffic Sign: " + result, false, true);
|
ToastLog("Traffic Sign: " + result, false, true);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
List<Classifier.Recognition> data = json.fromJson(result, new TypeToken<List<Classifier.Recognition>>()
|
||||||
|
{
|
||||||
|
}.getType());
|
||||||
|
if (data.size() <= 0)
|
||||||
|
return encoder.GenerateCommand(Commands.TRAFFIC_SIGN_FAILED, (byte) 0x00, (byte) 0x00, (byte) 0x00);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int max_index = 0;
|
||||||
|
double max_confidence = 0.0;
|
||||||
|
for (int i = 0; i < data.size(); i++)
|
||||||
|
{
|
||||||
|
if ((data.get(i) != null) && (data.get(i).getConfidence() > max_confidence))
|
||||||
|
{
|
||||||
|
max_index = i;
|
||||||
|
max_confidence = ((Classifier.Recognition) data.get(i)).getConfidence();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
encoder.AddMainCommand(Commands.TRAFFIC_SIGN_SUCCESS);
|
||||||
|
switch (data.get(max_index).getTitle())
|
||||||
|
{
|
||||||
|
case "go_straight":
|
||||||
|
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_STRAIGHT, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "no_turn":
|
||||||
|
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_NO_ENTRY, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "turn_around":
|
||||||
|
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_U_TURN, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "turn_left":
|
||||||
|
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_TURN_LEFT, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "turn_right":
|
||||||
|
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_TURN_RIGHT, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "no_straight":
|
||||||
|
encoder.AddData(Commands.TRAFFIC_SIGN_TYPE_NO_STRAIGHT, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
encoder.AddMainCommand(Commands.TRAFFIC_SIGN_FAILED);
|
||||||
|
break;
|
||||||
|
}
|
||||||
return encoder.GenerateCommand();
|
return encoder.GenerateCommand();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return encoder.GenerateCommand(Commands.TRAFFIC_SIGN_FAILED, (byte) 0x00, (byte) 0x00, (byte) 0x00);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//识别静态文本
|
//识别静态文本
|
||||||
private void OCRRecognizeText()
|
private void OCRRecognizeText()
|
||||||
@@ -478,10 +540,61 @@ public class MainActivity extends AppCompatActivity
|
|||||||
{
|
{
|
||||||
CommandEncoder encoder = new CommandEncoder();
|
CommandEncoder encoder = new CommandEncoder();
|
||||||
//使用开源AI模型识别车型
|
//使用开源AI模型识别车型
|
||||||
|
Gson json = new Gson();
|
||||||
String result = VID_Detector.processImage(currImage);
|
String result = VID_Detector.processImage(currImage);
|
||||||
ToastLog("Vehicle: " + result, false, true);
|
ToastLog("Vehicle: " + result, false, true);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
List<Classifier.Recognition> data = json.fromJson(result, new TypeToken<List<Classifier.Recognition>>()
|
||||||
|
{
|
||||||
|
}.getType());
|
||||||
|
if (data.size() <= 0)
|
||||||
|
return encoder.GenerateCommand(Commands.VEHICLE_FAILURE, (byte) 0x00, (byte) 0x00, (byte) 0x00);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int max_index = 0;
|
||||||
|
double max_confidence = 0.0;
|
||||||
|
for (int i = 0; i < data.size(); i++)
|
||||||
|
{
|
||||||
|
if ((data.get(i) != null) && (data.get(i).getConfidence() > max_confidence))
|
||||||
|
{
|
||||||
|
max_index = i;
|
||||||
|
max_confidence = ((Classifier.Recognition) data.get(i)).getConfidence();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
encoder.AddMainCommand(Commands.VEHICLE_SUCCESS);
|
||||||
|
switch (data.get(max_index).getTitle())
|
||||||
|
{
|
||||||
|
case "bike":
|
||||||
|
encoder.AddData(Commands.VEHICLE_TYPE_BIKE, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "motor":
|
||||||
|
encoder.AddData(Commands.VEHICLE_TYPE_MOTOR, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "car":
|
||||||
|
encoder.AddData(Commands.VEHICLE_TYPE_CAR, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "truck":
|
||||||
|
encoder.AddData(Commands.VEHICLE_TYPE_TRUCK, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "van":
|
||||||
|
encoder.AddData(Commands.VEHICLE_TYPE_VAN, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
case "bus":
|
||||||
|
encoder.AddData(Commands.VEHICLE_TYPE_BUS, (byte) 0x00, (byte) 0x00);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
encoder.AddMainCommand(Commands.VEHICLE_FAILURE);
|
||||||
|
break;
|
||||||
|
}
|
||||||
return encoder.GenerateCommand();
|
return encoder.GenerateCommand();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return encoder.GenerateCommand(Commands.VEHICLE_FAILURE, (byte) 0x00, (byte) 0x00, (byte) 0x00);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//数组转字符串,仅用于调试输出
|
//数组转字符串,仅用于调试输出
|
||||||
private String ByteArray2String(byte[] arr)
|
private String ByteArray2String(byte[] arr)
|
||||||
@@ -657,7 +770,6 @@ public class MainActivity extends AppCompatActivity
|
|||||||
CommandEncoder encoder = new CommandEncoder();
|
CommandEncoder encoder = new CommandEncoder();
|
||||||
dtc_client.ThreadSend(encoder.GenerateCommand(Commands.TFT_PAGE_DOWN, (byte) 0, (byte) 0, (byte) 0));
|
dtc_client.ThreadSend(encoder.GenerateCommand(Commands.TFT_PAGE_DOWN, (byte) 0, (byte) 0, (byte) 0));
|
||||||
ToastLog("TFT Page Down Command Send.", false, true);
|
ToastLog("TFT Page Down Command Send.", false, true);
|
||||||
context.finish();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
context.findViewById(R.id.btn_movement_control).setOnClickListener(view -> startActivity(new Intent(this, MovementController.class)));
|
context.findViewById(R.id.btn_movement_control).setOnClickListener(view -> startActivity(new Intent(this, MovementController.class)));
|
||||||
@@ -688,7 +800,7 @@ public class MainActivity extends AppCompatActivity
|
|||||||
|
|
||||||
context.findViewById(R.id.btn_os_vehicle).setOnClickListener(view ->
|
context.findViewById(R.id.btn_os_vehicle).setOnClickListener(view ->
|
||||||
{
|
{
|
||||||
String res = TS_Detector.processImage(currImage);
|
String res = VID_Detector.processImage(currImage);
|
||||||
ToastLog("Vehicle Result: " + res, false, false);
|
ToastLog("Vehicle Result: " + res, false, false);
|
||||||
context.finish();
|
context.finish();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -36,6 +36,11 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class ShapeDetector
|
public class ShapeDetector
|
||||||
{
|
{
|
||||||
|
static
|
||||||
|
{
|
||||||
|
System.loadLibrary("opencv_java4");
|
||||||
|
}
|
||||||
|
|
||||||
//目标类的简写名称
|
//目标类的简写名称
|
||||||
private static final String TAG = ShapeDetector.class.getSimpleName();
|
private static final String TAG = ShapeDetector.class.getSimpleName();
|
||||||
//轮廓绘制/轮廓统计
|
//轮廓绘制/轮廓统计
|
||||||
@@ -114,7 +119,8 @@ public class ShapeDetector
|
|||||||
*/
|
*/
|
||||||
public void shapePicProcess(Bitmap inputBitmap)
|
public void shapePicProcess(Bitmap inputBitmap)
|
||||||
{
|
{
|
||||||
if (inputBitmap == null) return;
|
if (inputBitmap == null)
|
||||||
|
return;
|
||||||
/* openCV创建用来存储图像信息的内存对象 */
|
/* openCV创建用来存储图像信息的内存对象 */
|
||||||
Mat srcMat = new Mat();
|
Mat srcMat = new Mat();
|
||||||
/* 转化为Mat对象 */
|
/* 转化为Mat对象 */
|
||||||
@@ -133,6 +139,7 @@ public class ShapeDetector
|
|||||||
return;
|
return;
|
||||||
ColorCounts.clear();
|
ColorCounts.clear();
|
||||||
/* 保存用 */
|
/* 保存用 */
|
||||||
|
BitmapProcess.getInstance();
|
||||||
BitmapProcess.saveBitmap("TFTAutoCutter", srcMat);
|
BitmapProcess.saveBitmap("TFTAutoCutter", srcMat);
|
||||||
/* 颜色形状分析 */
|
/* 颜色形状分析 */
|
||||||
Identify(srcMat, ColorHSV.yellowHSV1, "黄色");
|
Identify(srcMat, ColorHSV.yellowHSV1, "黄色");
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ import java.util.Locale;
|
|||||||
|
|
||||||
public class BitmapProcess
|
public class BitmapProcess
|
||||||
{
|
{
|
||||||
|
static
|
||||||
|
{
|
||||||
|
System.loadLibrary("opencv_java4");
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressLint("StaticFieldLeak")
|
@SuppressLint("StaticFieldLeak")
|
||||||
private static BitmapProcess mInstance;
|
private static BitmapProcess mInstance;
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
@@ -82,7 +87,8 @@ public class BitmapProcess
|
|||||||
*/
|
*/
|
||||||
public static String saveBitmap(String name, Bitmap bm)
|
public static String saveBitmap(String name, Bitmap bm)
|
||||||
{
|
{
|
||||||
if (bm == null) return "错误,没有图片!";
|
if (bm == null)
|
||||||
|
return "错误,没有图片!";
|
||||||
return Build.VERSION.SDK_INT < 29 ? saveImageOld(name, bm) : mInstance.saveImageNew(name, bm);
|
return Build.VERSION.SDK_INT < 29 ? saveImageOld(name, bm) : mInstance.saveImageNew(name, bm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,79 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2023. UnknownNetworkService Group
|
||||||
|
* This file is created by UnknownObject at 2023 - 6 - 17
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.uns.maincar.tools;
|
||||||
|
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
import android.os.Environment;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
|
||||||
|
public class ImageSaver
|
||||||
|
{
|
||||||
|
private final String main_storage_path = Environment.getExternalStorageDirectory().getPath() + File.separator + "MainCar";
|
||||||
|
private final String storage_path = main_storage_path + File.separator + "Temp_OCR_Image";
|
||||||
|
private String saved_file;
|
||||||
|
|
||||||
|
private boolean PrepareDirectory()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File main_dir = new File(main_storage_path);
|
||||||
|
File cl_dir = new File(storage_path);
|
||||||
|
if (!main_dir.exists())
|
||||||
|
if (!main_dir.mkdirs())
|
||||||
|
return false;
|
||||||
|
if (!cl_dir.exists())
|
||||||
|
if (!cl_dir.mkdirs())
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean CopyImage(Bitmap img, String storage_path, String file_name)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
saved_file = storage_path + File.separator + file_name;
|
||||||
|
File dir = new File(storage_path);
|
||||||
|
File file = new File(saved_file);
|
||||||
|
if (!dir.exists())
|
||||||
|
{
|
||||||
|
if (!dir.mkdirs())
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (file.exists())
|
||||||
|
if (!file.delete())
|
||||||
|
return false;
|
||||||
|
FileOutputStream fos = new FileOutputStream(saved_file);
|
||||||
|
img.compress(Bitmap.CompressFormat.JPEG, 100, fos);
|
||||||
|
fos.flush();
|
||||||
|
fos.close();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean SaveImage(Bitmap img, String file_name)
|
||||||
|
{
|
||||||
|
if (PrepareDirectory())
|
||||||
|
return CopyImage(img, storage_path, file_name);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String GetSavedFilePath()
|
||||||
|
{
|
||||||
|
return saved_file;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -218,7 +218,7 @@
|
|||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
@@ -245,4 +245,18 @@
|
|||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:text="黄色\n二维码识别" />
|
android:text="黄色\n二维码识别" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/btn_python_ocr"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginHorizontal="3dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:text="基于Python的OCR" />
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
+3
@@ -7,3 +7,6 @@ generate_cxx_metadata completed in 52ms
|
|||||||
|
|
||||||
# C/C++ build system timings
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
generate_cxx_metadata 24ms
|
||||||
|
|
||||||
|
|||||||
+2
@@ -1,2 +1,4 @@
|
|||||||
# C/C++ build system timings
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
|||||||
+2
@@ -1,2 +1,4 @@
|
|||||||
# C/C++ build system timings
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 816914465
|
"memoizedHashCode": 2083485280
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1891328276
|
"memoizedHashCode": -1137068205
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -310096087
|
"memoizedHashCode": 956474728
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
+3
-3
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -124082499
|
"memoizedHashCode": -724465594
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1118177264
|
"memoizedHashCode": 517794169
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 802523847
|
"memoizedHashCode": 202140752
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
+8
@@ -21,3 +21,11 @@ generate_cxx_metadata completed in 643ms
|
|||||||
|
|
||||||
# C/C++ build system timings
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
|||||||
+11
@@ -203,3 +203,14 @@ generate_cxx_metadata
|
|||||||
create-invalidation-state 24ms
|
create-invalidation-state 24ms
|
||||||
generate_cxx_metadata completed in 29ms
|
generate_cxx_metadata completed in 29ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
generate_cxx_metadata
|
||||||
|
create-invalidation-state 18ms
|
||||||
|
generate_cxx_metadata completed in 23ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 2061007653
|
"memoizedHashCode": 1460624558
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -301269928
|
"memoizedHashCode": -901653023
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 497529435
|
"memoizedHashCode": -102853660
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
+3
-3
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1982844983
|
"memoizedHashCode": 1382461888
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1228193880
|
"memoizedHashCode": 627810785
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1645904618
|
"memoizedHashCode": 1045521523
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
+3
-3
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -464563815
|
"memoizedHashCode": -1242221650
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1657535573
|
"memoizedHashCode": 879877738
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -1591574367
|
"memoizedHashCode": 1925735094
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
+3
-3
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -1649121483
|
"memoizedHashCode": 1868187978
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1396630513
|
"memoizedHashCode": 618972678
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -722515137
|
"memoizedHashCode": -1500172972
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
+6
@@ -9,3 +9,9 @@ generate_cxx_metadata completed in 18ms
|
|||||||
|
|
||||||
# C/C++ build system timings
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
|||||||
+5
@@ -112,3 +112,8 @@ generate_cxx_metadata completed in 23ms
|
|||||||
|
|
||||||
# C/C++ build system timings
|
# C/C++ build system timings
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
generate_cxx_metadata
|
||||||
|
create-invalidation-state 21ms
|
||||||
|
generate_cxx_metadata completed in 26ms
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 2049212457
|
"memoizedHashCode": 1448829362
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1697297893
|
"memoizedHashCode": 1096914798
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 485734239
|
"memoizedHashCode": -114648856
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
+3
-3
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -1338213337
|
"memoizedHashCode": -2115871172
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -392200417
|
"memoizedHashCode": -1169858252
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,6 +39,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -1675153702
|
"memoizedHashCode": 1842155759
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -11,6 +11,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 850788318
|
"memoizedHashCode": -1235839491
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -22,3 +22,15 @@ create_cxx_tasks
|
|||||||
create-initial-cxx-model completed in 95ms
|
create-initial-cxx-model completed in 95ms
|
||||||
create_cxx_tasks completed in 95ms
|
create_cxx_tasks completed in 95ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 39ms
|
||||||
|
create-module-model completed in 40ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 37ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
create-initial-cxx-model completed in 91ms
|
||||||
|
create_cxx_tasks completed in 92ms
|
||||||
|
|
||||||
|
|||||||
@@ -22,3 +22,15 @@ create_cxx_tasks
|
|||||||
create-initial-cxx-model completed in 83ms
|
create-initial-cxx-model completed in 83ms
|
||||||
create_cxx_tasks completed in 83ms
|
create_cxx_tasks completed in 83ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 39ms
|
||||||
|
create-module-model completed in 40ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 40ms
|
||||||
|
create-module-model completed in 41ms
|
||||||
|
create-initial-cxx-model completed in 97ms
|
||||||
|
create_cxx_tasks completed in 98ms
|
||||||
|
|
||||||
|
|||||||
@@ -190,3 +190,51 @@ create_cxx_tasks
|
|||||||
create-initial-cxx-model completed in 94ms
|
create-initial-cxx-model completed in 94ms
|
||||||
create_cxx_tasks completed in 94ms
|
create_cxx_tasks completed in 94ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 36ms
|
||||||
|
create-module-model completed in 38ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 51ms
|
||||||
|
create-module-model completed in 54ms
|
||||||
|
create-initial-cxx-model completed in 117ms
|
||||||
|
create_cxx_tasks completed in 118ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 37ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 38ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
create-initial-cxx-model completed in 92ms
|
||||||
|
create_cxx_tasks completed in 92ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 38ms
|
||||||
|
create-module-model completed in 40ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 37ms
|
||||||
|
create-module-model completed in 37ms
|
||||||
|
create-initial-cxx-model completed in 89ms
|
||||||
|
create_cxx_tasks completed in 89ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 34ms
|
||||||
|
create-module-model completed in 37ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 36ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
create-initial-cxx-model completed in 87ms
|
||||||
|
create_cxx_tasks completed in 87ms
|
||||||
|
|
||||||
|
|||||||
@@ -1163,3 +1163,77 @@ create_cxx_tasks
|
|||||||
create-initial-cxx-model completed in 97ms
|
create-initial-cxx-model completed in 97ms
|
||||||
create_cxx_tasks completed in 99ms
|
create_cxx_tasks completed in 99ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 37ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 36ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
create-initial-cxx-model completed in 97ms
|
||||||
|
create_cxx_tasks completed in 98ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 36ms
|
||||||
|
create-module-model completed in 38ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 36ms
|
||||||
|
create-module-model completed in 38ms
|
||||||
|
create-initial-cxx-model completed in 91ms
|
||||||
|
create_cxx_tasks completed in 93ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 43ms
|
||||||
|
create-module-model completed in 46ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 37ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
create-initial-cxx-model completed in 96ms
|
||||||
|
create_cxx_tasks completed in 97ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 37ms
|
||||||
|
create-module-model completed in 41ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 37ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
[gap of 10ms]
|
||||||
|
create-initial-cxx-model completed in 100ms
|
||||||
|
create_cxx_tasks completed in 102ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 36ms
|
||||||
|
create-module-model completed in 39ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 35ms
|
||||||
|
create-module-model completed in 36ms
|
||||||
|
[gap of 11ms]
|
||||||
|
create-initial-cxx-model completed in 95ms
|
||||||
|
create_cxx_tasks completed in 97ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 38ms
|
||||||
|
create-module-model completed in 41ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 38ms
|
||||||
|
create-module-model completed in 40ms
|
||||||
|
create-initial-cxx-model completed in 99ms
|
||||||
|
create_cxx_tasks completed in 100ms
|
||||||
|
|
||||||
|
|||||||
@@ -10,3 +10,15 @@ create_cxx_tasks
|
|||||||
create-initial-cxx-model completed in 81ms
|
create-initial-cxx-model completed in 81ms
|
||||||
create_cxx_tasks completed in 81ms
|
create_cxx_tasks completed in 81ms
|
||||||
|
|
||||||
|
# C/C++ build system timings
|
||||||
|
create_cxx_tasks
|
||||||
|
create-initial-cxx-model
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 39ms
|
||||||
|
create-module-model completed in 41ms
|
||||||
|
create-module-model
|
||||||
|
create-cmake-model 35ms
|
||||||
|
create-module-model completed in 38ms
|
||||||
|
create-initial-cxx-model completed in 86ms
|
||||||
|
create_cxx_tasks completed in 87ms
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -1660375688
|
"memoizedHashCode": -393804873
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -868187585
|
"memoizedHashCode": 398383230
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": -163726392
|
"memoizedHashCode": 1102844423
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1699087678
|
"memoizedHashCode": -1329308803
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 806398096
|
"memoizedHashCode": 2072968911
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"level_": 0,
|
"level_": 0,
|
||||||
@@ -81,6 +81,6 @@
|
|||||||
"fieldsDescending": {}
|
"fieldsDescending": {}
|
||||||
},
|
},
|
||||||
"memoizedSize": -1,
|
"memoizedSize": -1,
|
||||||
"memoizedHashCode": 1142378315
|
"memoizedHashCode": -1886018166
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
#Sat Sep 24 22:46:46 CST 2022
|
#Sat Jun 17 20:58:02 CST 2023
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user