yy1717
2020-03-24 25777013517d1bd398a98504826a417236706af2
lib/src/main/cpp/test_items2/dummy_light.cpp
@@ -25,6 +25,7 @@
static int checkCnt;
static bool turn_left_active, flash_beam_active;
static int examTtsSeq = 0;
static bool testing;
@@ -43,6 +44,8 @@
        content[i].itemStatus = TTS_NOT_START;
    }
    testing = true;
    AppTimer_delete(DummyLightCheckActive);
    AppTimer_delete(ExamDummyLight);
    AppTimer_add(ExamDummyLight, D_SEC(2));
}
@@ -71,9 +74,11 @@
static void DummyLightCheckActive(union sigval sig)
{
    DEBUG("DummyLightCheckActive item = %d", sig.sival_int);
    int active = sig.sival_int;
    AppTimer_delete(DummyLightCheckActive);
    DEBUG("DummyLightCheckActive item = %d", active);
    switch (sig.sival_int) {
    switch (active) {
        case DRIVE_AT_NIGHT:
        case TURN_ON_MAIN_BEAM_LAMP:
            if (ReadCarStatus(MAIN_BEAM_LAMP) != MAIN_BEAM_LIGHT) {
@@ -95,8 +100,16 @@
        case THROUGE_CROSSWALK:
        case THROUGE_CURVE:
        case THROUGE_CROSSROADS:
            if (ReadCarStatus(FLASH_BEAM_LAMP) != FLASH_BEAM_LIGHT) {
                AddExamFault(58, &currRtkTime);
            if (++checkCnt < 5) {
                if (ReadCarStatus(FLASH_BEAM_LAMP) == FLASH_BEAM_LIGHT) {
                    flash_beam_active = true;
                }
                AppTimer_add(DummyLightCheckActive, D_SEC(1), active);
                return;
            } else {
                if (!flash_beam_active) {
                    AddExamFault(58, &currRtkTime);
                }
            }
            break;
        case OVERTAKE:
@@ -130,7 +143,7 @@
    }
    for (int i = 0; i < contentNum; ++i) {
        if (content[i].item == sig.sival_int) {
        if (content[i].item == active) {
            content[i].itemStatus = CHECK_OPERATE;
            break;
        }
@@ -161,8 +174,11 @@
                    checkCnt = 0;
                    turn_left_active = flash_beam_active = false;
                    AppTimer_add(DummyLightCheckActive, D_SEC(1), content[i].item);
                }
                else if (content[i].item >= 100)
                } else if (content[i].item == THROUGE_CROSSWALK || content[i].item == THROUGE_CURVE || content[i].item == THROUGE_CROSSROADS) {
                    checkCnt = 0;
                    flash_beam_active = false;
                    AppTimer_add(DummyLightCheckActive, D_SEC(1), content[i].item);
                } else if (content[i].item >= 100)
                    AppTimer_add(DummyLightCheckActive, D_SEC(3), content[i].item);
                else
                    AppTimer_add(DummyLightCheckActive, D_SEC(5), content[i].item);