yy1717
2020-03-09 2dd405a64e0a6e468a205e7348520e87576e5358
lib/src/main/cpp/driver_test.cpp
@@ -93,6 +93,9 @@
static int SensorValidLevel;
static struct dummy_light_exam *DummyLightContent;
static int DummyLightContentSize;
#define MOV_AVG_SIZE                1
#define RTK_BUFFER_SIZE            100
#define CAR_MODEL_CACHE_SIZE      10
@@ -129,6 +132,9 @@
    memset(SensorConfig, 0, sizeof(SensorConfig));
    SensorValidLevel = 0;
    DummyLightContentSize = 0;
    DummyLightContent = NULL;
    RtkBuffer = (rtk_info *) malloc(RTK_BUFFER_SIZE * sizeof(rtk_info));
    RtkBufferNum = RtkBufferIn = 0;
@@ -359,7 +365,24 @@
    }
}
void StartDriverExam(int start)
void SetDummyLightExam(int n, struct dummy_light_exam *cfg)
{
    if (TestStart) return;
    if (DummyLightContent != NULL) {
        free(DummyLightContent);
        DummyLightContent = NULL;
    }
    DummyLightContent = (struct dummy_light_exam *)malloc(n * sizeof(struct dummy_light_exam));
    DummyLightContentSize = n;
    for (int i = 0; i < n; i++) {
        DummyLightContent[i] = cfg[i];
    }
}
void StartDriverExam(int start, int type)
{
    bool err = false;
@@ -383,6 +406,11 @@
        err = true;
        MA_SendExamStatus(0, -2);
    }
    if (DummyLightContent == NULL && type == 3) {
        err = true;
        MA_SendExamStatus(0, -3);
    }
    if (!err) {
        if (!TestStart) {
            ExamFaultList.clear();
@@ -498,7 +526,7 @@
                    CurrEnterMapIndex = EnterMap(CarModel, MapList, MapNum);
                    if (CurrEnterMapIndex >= 0) {
                        DEBUG("发送进入场地报告 %d", GetMapId(CurrEnterMapIndex, MapList, MapNum));
                        MA_EnterMap(GetMapId(CurrEnterMapIndex, MapList, MapNum), 1);
                        MA_EnterMap(GetMapId(CurrEnterMapIndex, MapList, MapNum), GetMapType(CurrEnterMapIndex, MapList, MapNum), 1);
                        CurrExamMapIndex = CurrEnterMapIndex;
                        CurrExamStatus = EXAM_AREA_START;
@@ -506,7 +534,7 @@
                } else {
                    if (ExitMap(CarModel, CurrEnterMapIndex, MapList, MapNum)) {
                        DEBUG("发送离开场地报告 %d", GetMapId(CurrEnterMapIndex, MapList, MapNum));
                        MA_EnterMap(GetMapId(CurrEnterMapIndex, MapList, MapNum), 0);
                        MA_EnterMap(GetMapId(CurrEnterMapIndex, MapList, MapNum), GetMapType(CurrEnterMapIndex, MapList, MapNum), 0);
                        CurrEnterMapIndex = -1;
                    }
                }