Common_Interface.c 21.5 KB
Newer Older
hu's avatar
hu committed
1 2 3 4 5 6 7 8 9 10
#include "Common_Interface.h"
#include "CAN_Communication_Matrix.h"
#include "CAN_Lib.h"
#include "Data_VehicleSpeed.h"
#include "Data_EngineSpeed.h"
#include "System_Monitor.h"
#include "GaugesInterface.h"
#include "Gauges.h"
#include "dr7f701441.dvf.h"
#include "GPIO.h"
hu's avatar
hu committed
11
#include "Data_Voltmeter.h"
hu's avatar
hu committed
12 13 14 15 16

#include "Line_in.h"

#include "Maintenance.h"
#include "Menu.h"
hu's avatar
hu committed
17
#include "GUI.h"
hu's avatar
hu committed
18 19 20

#include "Emulated_EEPROM.h"
#include "Watchdog.h"
hu's avatar
hu committed
21
#include "UDS_Common.h"
hu's avatar
hu committed
22 23 24 25 26 27 28

/*修饰变量static*/

/*ig on off时间线*/
static uint32_t PowerIgnOnTimeLine;
static uint32_t PowerIgnOffTimeLine;

hu's avatar
hu committed
29 30 31 32 33
static COMMON_PowerStatus_t PowerSts; /*1 ON ;  0 OFF*/
static uint16_t Act_V_Speed;          /*实际值,十倍的*/
static uint16_t Act_E_Speed;          /*实际值*/
static uint16_t Disp_V_Speed;         /*显示值,十倍的*/
static uint16_t Disp_E_Speed;         /*显示值*/
hu's avatar
hu committed
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

/*数据有效 1 ;数据无效 0 /0xff */
static DataValid_t PowerSts_Valid;
static DataValid_t Act_V_Speed_Valid;
static DataValid_t Act_E_Speed_Valid;
static DataValid_t Disp_V_Speed_Valid;
static DataValid_t Disp_E_Speed_Valid;

static void Common_Set_Act_V_Speed(uint16_t Val);
static void Common_Set_Act_E_Speed(uint16_t Val);
static void Common_Set_Disp_V_Speed(uint16_t Val);
static void Common_Set_Disp_E_Speed(uint16_t Val);

static void Common_Set_Act_V_Speed_Valid(DataValid_t Val);
static void Common_Set_Act_E_Speed_Valid(DataValid_t Val);
static void Common_Set_Disp_V_Speed_Valid(DataValid_t Val);
static void Common_Set_Disp_E_Speed_Valid(DataValid_t Val);

static uint16_t SysRollingCounter;
hu's avatar
hu committed
53
// wangboyu - begin
hu's avatar
hu committed
54
static uint8_t CanFirstEvent[ID_TOTAL_MAX];
hu's avatar
hu committed
55 56
static void Individual_ECU_Communication(void);
// wangboyu - end
hu's avatar
hu committed
57

hu's avatar
hu committed
58
_EOL_K_LINE_SET K_Line_Set;
hu's avatar
hu committed
59

hu's avatar
hu committed
60
/**/
hu's avatar
hu committed
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
static uint32_t User_FDJYLQQ_Time;
static uint32_t User_RYLQQ_Time;
static uint32_t User_BSXY_Time;
static uint32_t User_CSQY_Time;
static uint32_t User_LHQY_Time;
static uint32_t User_KQGZJ_Time;
static uint32_t User_DLZXY_Time;
static uint32_t User_LT_Time;

static uint32_t CRUISE_1_Time;
static uint32_t CRUISE_STUDY_Time;
static uint32_t CRUISE_SLD1_Time;
static uint32_t CRUISE_SLD2_Time;

static uint32_t VolWarning_Time;

static uint32_t LOW_VOLTAGE_TIME1;
static uint32_t LOW_VOLTAGE_TIME2;
static uint32_t HIGH_VOLTAGE_TIME1;
static uint32_t HIGH_VOLTAGE_TIME2;

static uint32_t HIGH_VOLTAGE;
static uint32_t LOW_VOLTAGE;

static uint32_t TPMS_TEST_OFF_TIME;
hu's avatar
hu committed
86

hu's avatar
hu committed
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
/*每次唤醒调用*/
void Common_DataInit(void)
{
    PowerSts = COMMON_POWER_UNKNOW;
    Act_V_Speed = 0xffffu;
    Act_E_Speed = 0xffffu;
    Disp_V_Speed = 0xffffu;
    Disp_E_Speed = 0xffffu;

    PowerSts_Valid = COMMON_Valid_UNKNOW;
    Act_V_Speed_Valid = COMMON_Valid_UNKNOW;
    Act_E_Speed_Valid = COMMON_Valid_UNKNOW;
    Disp_V_Speed_Valid = COMMON_Valid_UNKNOW;
    Disp_E_Speed_Valid = COMMON_Valid_UNKNOW;
    PowerIgnOnTimeLine = 0x0ul;
    PowerIgnOffTimeLine = 0x0ul;
hu's avatar
hu committed
103

hu's avatar
hu committed
104
    /**/
105 106 107 108 109 110 111 112
    User_FDJYLQQ_Time = 0x00u;
    User_RYLQQ_Time = 0x00u;
    User_BSXY_Time = 0x00u;
    User_CSQY_Time = 0x00u;
    User_LHQY_Time = 0x00u;
    User_KQGZJ_Time = 0x00u;
    User_DLZXY_Time = 0x00u;
    User_LT_Time = 0x00u;
hu's avatar
hu committed
113 114 115 116 117

    CRUISE_1_Time = 0x00u;
    CRUISE_STUDY_Time = 0x00u;
    CRUISE_SLD1_Time = 0x00u;
    CRUISE_SLD2_Time = 0x00u;
hu's avatar
hu committed
118 119

    VolWarning_Time = 0x00u;
120 121 122 123
    LOW_VOLTAGE_TIME1 = 0x00u;
    LOW_VOLTAGE_TIME2 = 0x00u;
    HIGH_VOLTAGE_TIME1 = 0x00u;
    HIGH_VOLTAGE_TIME2 = 0x00u;
hu's avatar
hu committed
124 125
    HIGH_VOLTAGE = 0x0u;
    LOW_VOLTAGE = 0x0u;
hu's avatar
hu committed
126 127

    TPMS_TEST_OFF_TIME = 0u;
hu's avatar
hu committed
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
}

/*以下由各个处理模块按需调用*/
/*使用数据之前,需要先判断数据是否有效,如果无效,则不可以使用*/

COMMON_PowerStatus_t Common_Get_IG_Sts(void)
{
    return PowerSts;
}

uint16_t Common_Get_Act_V_Speed(void)
{
    return Act_V_Speed;
}
uint16_t Common_Get_Act_E_Speed(void)
{
    return Act_E_Speed;
}
uint16_t Common_Get_Disp_V_Speed(void)
{
    return Disp_V_Speed;
}
uint16_t Common_Get_Disp_E_Speed(void)
{
    return Disp_E_Speed;
}

/*获取超速报警状态*/
uint8_t Common_Get_OverSpeed_Status(void)
{
    uint8_t OverSpeedStatus = 0u;
    uint16_t DispVSpeed = 0u;
    DispVSpeed = Common_Get_Disp_V_Speed();

    if (DispVSpeed >= 1000u)
    {
        OverSpeedStatus = 1u;
    }
    else if (DispVSpeed <= 960u)
    {
        OverSpeedStatus = 0u;
    }

    return OverSpeedStatus;
}

174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203
uint8_t Common_Get_OverSpeedLine_Status(void)
{
    uint8_t OverSpeedStatus = 0u;
    uint16_t DispVSpeed = 0u;
    uint16_t DataOverSpeedValue = 0u;

    DataOverSpeedValue = K_Line_Set.K_Line_LID44;
    DataOverSpeedValue *= 10u;

    DispVSpeed = Common_Get_Disp_V_Speed();

    if (K_Line_Set.K_Line_LID44 != 0xFF)
    {
        if (DispVSpeed >= (DataOverSpeedValue + 20))
        {
            OverSpeedStatus = 1u;
        }
        else if (DispVSpeed <= DataOverSpeedValue)
        {
            OverSpeedStatus = 0u;
        }
    }
    else
    {
        OverSpeedStatus = 0u;
    }

    return OverSpeedStatus;
}

hu's avatar
hu committed
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
static void Common_Set_IG_Sts(COMMON_PowerStatus_t Val)
{
    PowerSts = Val;
}
static void Common_Set_Act_V_Speed(uint16_t Val)
{
    Act_V_Speed = Val;
}
static void Common_Set_Act_E_Speed(uint16_t Val)
{
    Act_E_Speed = Val;
}
static void Common_Set_Disp_V_Speed(uint16_t Val)
{
    Disp_V_Speed = Val;
}
static void Common_Set_Disp_E_Speed(uint16_t Val)
{
    Disp_E_Speed = Val;
}

DataValid_t Common_Get_IG_Sts_Valid(void)
{
    return PowerSts_Valid;
}
DataValid_t Common_Get_Act_V_Speed_Valid(void)
{
hu's avatar
hu committed
231
    return Act_V_Speed_Valid;
hu's avatar
hu committed
232 233 234
}
DataValid_t Common_Get_Act_E_Speed_Valid(void)
{
hu's avatar
hu committed
235
    return Act_E_Speed_Valid;
hu's avatar
hu committed
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267
}
DataValid_t Common_Get_Disp_V_Speed_Valid(void)
{
    return Disp_V_Speed_Valid;
}
DataValid_t Common_Get_Disp_E_Speed_Valid(void)
{
    return Disp_E_Speed_Valid;
}

static void Common_Set_IG_Sts_Valid(DataValid_t Val)
{
    PowerSts_Valid = Val;
}
static void Common_Set_Act_V_Speed_Valid(DataValid_t Val)
{
    Act_V_Speed_Valid = Val;
}
static void Common_Set_Act_E_Speed_Valid(DataValid_t Val)
{
    Act_E_Speed_Valid = Val;
}
static void Common_Set_Disp_V_Speed_Valid(DataValid_t Val)
{
    Disp_V_Speed_Valid = Val;
}
static void Common_Set_Disp_E_Speed_Valid(DataValid_t Val)
{
    Disp_E_Speed_Valid = Val;
}

/*2MS任务*/
hu's avatar
hu committed
268
static uint16_t wbyTest = 0;
hu's avatar
hu committed
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292
void Common_Input_Para(void)
{
    /*    if (SYS_OPR_STAT_IGN_ON)
        {*/
    uint32_t V_Speed_Convert = 0ul;
    uint32_t u32IG_ON_Timer = 0u;
    uint16_t OilValue = 0u; /*机油压力数值*/
    uint32_t EBC2_Speed_Value = 0u;
    uint8_t LineStatus1 = 0u;
    uint8_t LineStatus2 = 0u;

    u32IG_ON_Timer = Common_GetIgnOnTime();

    if (SYS_OPR_STAT_IGN_ON)
    {
        Common_Set_IG_Sts(COMMON_POWER_ON);
        Common_Set_IG_Sts_Valid(COMMON_Valid);

        OilValue = Common_Get_Disp_E_Speed();

        //车速
        wbyTest = Speed_Get_Display_Value();
        Common_Set_Disp_V_Speed(wbyTest);
        Common_Set_Act_V_Speed(Speed_Get_ActualValue());
hu's avatar
hu committed
293

hu's avatar
hu committed
294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311
        if (Speed_Get_Valid())
        {
            Common_Set_Act_V_Speed_Valid(COMMON_Valid);
            Common_Set_Disp_V_Speed_Valid(COMMON_Valid);
        }
        else
        {
            Common_Set_Act_V_Speed_Valid(COMMON_InValid);
            Common_Set_Disp_V_Speed_Valid(COMMON_InValid);
        }

        Common_Set_Act_E_Speed(RevSpeedManage(Tacho_Get_ActualValue()));

        PowerIgnOffTimeLine = 0ul;
        if (PowerIgnOnTimeLine < 0x7ffffffful)
        {
            PowerIgnOnTimeLine += 2u;
        }
hu's avatar
hu committed
312

hu's avatar
hu committed
313 314 315 316 317
        /*电压计报警时间*/
        if (Gui_Get_Voltmeter_DisplayMode() <= 3u)
        {
            if (VolWarning_Time <= 5100)
            {
318
                VolWarning_Time++;
hu's avatar
hu committed
319 320 321 322 323 324 325
            }
        }
        else
        {
            VolWarning_Time = 0;
        }

326
        /**/
327
        if (RTE_Read_KL15_Voltage() <= (23500 - 800)) /*A2*/
328 329 330 331 332 333 334 335 336 337 338
        {
            if (LOW_VOLTAGE_TIME1 <= 3500)
                LOW_VOLTAGE_TIME1++;
            else
                LOW_VOLTAGE = 1;
        }
        else
        {
            LOW_VOLTAGE_TIME1 = 0;
        }

339
        if (RTE_Read_KL15_Voltage() >= (25000 - 800)) /*A2*/
340 341 342 343 344 345 346 347 348 349 350
        {
            if (LOW_VOLTAGE_TIME2 <= 5000)
                LOW_VOLTAGE_TIME2++;
            else
                LOW_VOLTAGE = 0;
        }
        else
        {
            LOW_VOLTAGE_TIME2 = 0;
        }
        //
351
        if (RTE_Read_KL15_Voltage() >= (30400 - 800)) /*A2*/
352 353 354 355 356 357 358 359 360 361 362
        {
            if (HIGH_VOLTAGE_TIME1 <= 3500)
                HIGH_VOLTAGE_TIME1++;
            else
                HIGH_VOLTAGE = 1;
        }
        else
        {
            HIGH_VOLTAGE_TIME1 = 0;
        }

363
        if (RTE_Read_KL15_Voltage() <= (29400 - 800)) /*A2*/
364 365 366 367 368 369 370 371 372 373 374
        {
            if (HIGH_VOLTAGE_TIME2 <= 5000)
                HIGH_VOLTAGE_TIME2++;
            else
                HIGH_VOLTAGE = 0;
        }
        else
        {
            HIGH_VOLTAGE_TIME2 = 0;
        }

hu's avatar
hu committed
375 376 377 378 379 380 381 382 383 384
        /*胎压匹配3分钟有效计时*/
        if ((TPMS_TEST_OFF_TIME <= 90000u) && (User_set_Num.User_TpmsStatus == 2u))
        {
            TPMS_TEST_OFF_TIME++;
        }
        else
        {
            TPMS_TEST_OFF_TIME = 0;
        }

hu's avatar
hu committed
385 386 387
        /**/
        if ((State_Flag.User_FDJYLQQ_FLAG == 1) || (State_Flag.User_FDJYLQQ_FLAG == 2))
        {
388
            if (User_FDJYLQQ_Time < 30001)
hu's avatar
hu committed
389 390 391 392
                User_FDJYLQQ_Time++;
        }
        else
        {
393
            User_FDJYLQQ_Time = 0;
hu's avatar
hu committed
394 395
        }

396
        if ((State_Flag.User_RYLQQ_FLAG == 1) || (State_Flag.User_RYLQQ_FLAG == 2))
hu's avatar
hu committed
397
        {
398
            if (User_RYLQQ_Time < 30001)
399
                User_RYLQQ_Time++;
hu's avatar
hu committed
400 401 402
        }
        else
        {
403
            User_RYLQQ_Time = 0;
hu's avatar
hu committed
404 405
        }

406
        if ((State_Flag.User_BSXY_FLAG == 1) || (State_Flag.User_BSXY_FLAG == 2))
hu's avatar
hu committed
407
        {
408
            if (User_BSXY_Time < 30001)
409
                User_BSXY_Time++;
hu's avatar
hu committed
410 411 412 413 414 415
        }
        else
        {
            User_BSXY_Time = 0;
        }

416
        if ((State_Flag.User_CSQY_FLAG == 1) || (State_Flag.User_CSQY_FLAG == 2))
hu's avatar
hu committed
417
        {
418
            if (User_CSQY_Time < 30001)
hu's avatar
hu committed
419 420 421 422 423 424 425
                User_CSQY_Time++;
        }
        else
        {
            User_CSQY_Time = 0;
        }

426
        if ((State_Flag.User_LHQY_FLAG == 1) || (State_Flag.User_LHQY_FLAG == 2))
hu's avatar
hu committed
427
        {
428
            if (User_LHQY_Time < 30001)
hu's avatar
hu committed
429 430 431 432 433 434 435
                User_LHQY_Time++;
        }
        else
        {
            User_LHQY_Time = 0;
        }

436
        if ((State_Flag.User_KQGZJ_FLAG == 1) || (State_Flag.User_KQGZJ_FLAG == 2))
hu's avatar
hu committed
437
        {
438
            if (User_KQGZJ_Time < 30001)
hu's avatar
hu committed
439 440 441 442 443 444 445
                User_KQGZJ_Time++;
        }
        else
        {
            User_KQGZJ_Time = 0;
        }

446
        if ((State_Flag.User_DLZXY_FLAG == 1) || (State_Flag.User_DLZXY_FLAG == 2))
hu's avatar
hu committed
447
        {
448
            if (User_DLZXY_Time < 30001)
449
                User_DLZXY_Time++;
hu's avatar
hu committed
450 451 452 453 454 455
        }
        else
        {
            User_DLZXY_Time = 0;
        }

456
        if ((State_Flag.User_LT_FLAG == 1) || (State_Flag.User_LT_FLAG == 2))
hu's avatar
hu committed
457
        {
458
            if (User_LT_Time < 30001)
459
                User_LT_Time++;
hu's avatar
hu committed
460 461 462 463 464 465 466
        }
        else
        {
            User_LT_Time = 0;
        }

        /**/
hu's avatar
hu committed
467 468
        if (Get_ID_18FF4100_Sig_Cruise_VariableSLD_Disp() == 1u)
        {
469
            if (CRUISE_1_Time < 1501u)
hu's avatar
hu committed
470
            {
471
                CRUISE_1_Time++;
hu's avatar
hu committed
472 473 474 475
            }
        }
        else
        {
476
            CRUISE_1_Time = 0;
hu's avatar
hu committed
477 478 479
        }
        if (Get_ID_18FF4100_Sig_Cruise_VariableSLD_Disp() == 2u)
        {
480
            if (CRUISE_STUDY_Time < 1501u)
hu's avatar
hu committed
481
            {
482
                CRUISE_STUDY_Time++;
hu's avatar
hu committed
483 484 485 486 487 488 489 490
            }
        }
        else
        {
            CRUISE_STUDY_Time = 0;
        }
        if (Get_ID_18FF4100_Sig_Cruise_VariableSLD_Disp() == 3u)
        {
491
            if (CRUISE_SLD1_Time < 1501u)
hu's avatar
hu committed
492 493 494 495 496 497
            {
                CRUISE_SLD1_Time++;
            }
        }
        else
        {
498
            CRUISE_SLD1_Time = 0;
hu's avatar
hu committed
499
        }
hu's avatar
hu committed
500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516
    }
    else
    {
        PowerIgnOnTimeLine = 0ul;
        if (PowerIgnOffTimeLine < 0x7ffffffful)
        {
            PowerIgnOffTimeLine += 2u;
        }

        Common_Set_IG_Sts(COMMON_POWER_OFF);
        Common_Set_IG_Sts_Valid(COMMON_Valid);

        /*车转真实值OFF为0*/
        Common_Set_Act_V_Speed(0u);
        Common_Set_Act_E_Speed(0u);
        Common_Set_Disp_V_Speed(0u);
        Common_Set_Disp_E_Speed(0u);
hu's avatar
hu committed
517 518

        /*----*/
519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539
        User_FDJYLQQ_Time = 0x00u;
        User_RYLQQ_Time = 0x00u;
        User_BSXY_Time = 0x00u;
        User_CSQY_Time = 0x00u;
        User_LHQY_Time = 0x00u;
        User_KQGZJ_Time = 0x00u;
        User_DLZXY_Time = 0x00u;
        User_LT_Time = 0x00u;

        CRUISE_1_Time = 0x00u;
        CRUISE_STUDY_Time = 0x00u;
        CRUISE_SLD1_Time = 0x00u;
        CRUISE_SLD2_Time = 0x00u;

        VolWarning_Time = 0x00u;
        LOW_VOLTAGE_TIME1 = 0x00u;
        LOW_VOLTAGE_TIME2 = 0x00u;
        HIGH_VOLTAGE_TIME1 = 0x00u;
        HIGH_VOLTAGE_TIME2 = 0x00u;
        HIGH_VOLTAGE = 0x0u;
        LOW_VOLTAGE = 0x0u;
hu's avatar
hu committed
540 541 542 543 544
    }
}

void Set_Can18FF5510_FirstRecv_Event(void)
{
hu's avatar
hu committed
545
    CanFirstEvent[ID_CanMsg18FF5510_Msg_Count] = 1;
hu's avatar
hu committed
546 547 548 549
}

void Set_Can18FF2300_FirstRecv_Event(void)
{
hu's avatar
hu committed
550
    CanFirstEvent[ID_CanMsg18FF2300_Msg_Count] = 1;
hu's avatar
hu committed
551 552
}

hu's avatar
hu committed
553 554 555
uint8_t Get_CanFirstRecv_Event(uint8_t ID)
{
    return CanFirstEvent[ID];
hu's avatar
hu committed
556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594
}

void Common_RollingCounterAdd(void)
{
    SysRollingCounter++;
}

void Common_RollingCounterClear(void)
{
    SysRollingCounter = 0u;
}

uint16_t Common_ReadRollingCounter(void)
{
    return SysRollingCounter;
}

void Common_BlockDelay(uint16_t m_MS)
{
    uint16_t RocBackup;
    uint16_t Counter;
    uint16_t DIMCounter;

    DIMCounter = m_MS * 20u;
    Common_RollingCounterClear();
    RocBackup = Common_ReadRollingCounter();
    do
    {
        Counter = Common_ReadRollingCounter();

        if (Counter >= RocBackup)
        {
            Counter -= RocBackup;
        }
        else
        {
            Counter = 65535u - RocBackup + Counter + 1u;
        }

hu's avatar
hu committed
595 596
    }
    while (Counter < DIMCounter);
hu's avatar
hu committed
597 598 599 600 601 602 603 604 605 606 607 608
}

uint32_t Common_GetIgnOnTime(void)
{
    return PowerIgnOnTimeLine;
}

uint32_t Common_GetIgnOffTime(void)
{
    return PowerIgnOffTimeLine;
}

hu's avatar
hu committed
609 610 611
#pragma diag_suppress = Pm064
int32_t SEGGER_RTT_printf(uint16_t BufferIndex, const char *sFormat, ...);
int32_t SEGGER_RTT_printf(uint16_t BufferIndex, const char *sFormat, ...)
hu's avatar
hu committed
612 613 614
{
    return 0;
}
hu's avatar
hu committed
615

616
uint8_t Common_Get_Cruise_TimeSta(void)
hu's avatar
hu committed
617
{
hu's avatar
hu committed
618
    uint8_t Time_Sta = 0u;
hu's avatar
hu committed
619

620 621 622 623 624 625 626 627 628 629
    if ((CRUISE_1_Time > 0u) && (CRUISE_1_Time < 1500u))
    {
        Time_Sta = 1u;
    }
    else
    {
        Time_Sta = 0u;
    }

    return Time_Sta;
hu's avatar
hu committed
630 631
}

632 633
uint8_t Common_Get_Cruise_SLD_TimeSta(void)
{
hu's avatar
hu committed
634
    uint8_t Time_Sta = 0u;
hu's avatar
hu committed
635

636 637 638 639 640 641 642 643
    if ((CRUISE_SLD1_Time > 0u) && (CRUISE_SLD1_Time < 1500u))
    {
        Time_Sta = 1u;
    }
    else
    {
        Time_Sta = 0u;
    }
hu's avatar
hu committed
644

645 646
    return Time_Sta;
}
hu's avatar
hu committed
647

648
uint8_t Common_Get_VolWarning_Sta(void)
hu's avatar
hu committed
649 650 651 652 653 654 655 656 657 658 659 660
{
    uint8_t DataHiCollantVolWarning = 0u;

    if (VolWarning_Time >= 5000u)
    {
        DataHiCollantVolWarning = 1u;
    }
    else
    {
        DataHiCollantVolWarning = 0u;
    }

661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799
    return DataHiCollantVolWarning;
}

uint8_t Common_Get_HIGH_VOLTAGE(void)
{
    return HIGH_VOLTAGE;
}

uint8_t Common_Get_LOW_VOLTAGE(void)
{
    return LOW_VOLTAGE;
}

uint8_t Common_Get_FDJYLQQ_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (User_FDJYLQQ_Time < 30000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return ValueSta;
}

uint8_t Common_Get_RYLQQ_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (User_RYLQQ_Time < 30000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return ValueSta;
}

uint8_t Common_Get_BSXY_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (User_BSXY_Time < 30000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return ValueSta;
}

uint8_t Common_Get_CSQY_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (User_CSQY_Time < 30000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return ValueSta;
}

uint8_t Common_Get_LHQY_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (User_LHQY_Time < 30000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return ValueSta;
}

uint8_t Common_Get_KQGZJ_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (User_KQGZJ_Time < 30000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return ValueSta;
}

uint8_t Common_Get_DLZXY_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (User_DLZXY_Time < 30000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return ValueSta;
}

uint8_t Common_Get_LT_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (User_LT_Time < 30000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return ValueSta;
hu's avatar
hu committed
800 801
}

hu's avatar
hu committed
802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817
uint8_t Common_Get_TPMS_TEST_OFF_Time_Sta(void)
{
    uint8_t ValueSta = 0u;

    if (TPMS_TEST_OFF_TIME >= 90000u)
    {
        ValueSta = 1u;
    }
    else
    {
        ValueSta = 0u;
    }

    return 0u;
}

hu's avatar
hu committed
818 819 820 821 822 823
/*EOL诊断配置数据转换为仪表配置数据*/
void ReadDTCEOLValue_Meter_K_LINE(void)
{
    /*获取所有存储数据*/
    ReadDFlashData(EEPROM_BLOCK_EOL_K_LINE, (uint32_t *)&K_Line_Set.Flag, (sizeof(K_Line_Set) / 4u), K_LINE_EOL_InitVal);
}
hu's avatar
hu committed
824 825
void K_LINE_EOL_InitVal(void)
{
hu's avatar
hu committed
826 827
    K_Line_Set.Flag = 0x7AA7A55Au;

hu's avatar
hu committed
828 829 830 831 832 833 834
    K_Line_Set.K_Line_LID20 = 0x00u; /* 00 应对ECE R13      //0:非应对、1:应对 */
    K_Line_Set.K_Line_LID21 = 0x00u; /* 00 EBS/ABS         //0:无、1:EBS、2:ABS(CAN应对) 3:ABS (CAN非应对) */
    K_Line_Set.K_Line_LID22 = 0x00u; /* 00 EVSC            //0:无、1:有 */
    K_Line_Set.K_Line_LID23 = 0x00u; /* 00 驻车锁定         //0:无、1:有 */
    K_Line_Set.K_Line_LID24 = 0x00u; /* 00 HSA             //0:无、1:有 */
    K_Line_Set.K_Line_LID25 = 0x00u; /* 00 AEBS            //0:无、1:有 */
    K_Line_Set.K_Line_LID26 = 0x00u; /* 00 ACC             //0:无、1:有 */
hu's avatar
hu committed
835
    K_Line_Set.K_Line_LID27 = 0x01u; /* 00 LDWS            //0:无、1:有 */
hu's avatar
hu committed
836
    K_Line_Set.K_Line_LID28 = 0x01u; /* 01 车辆间报警        //0:无、1:有 */
hu's avatar
hu committed
837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860
    K_Line_Set.K_Line_LID29 = 0x01u; /* 01 有无巡航          //0:无、1:有          /*初值1*/
    K_Line_Set.K_Line_LID2A = 0x00u; /* 00 气悬             //0:Reef、1:Rear air、2:Full air */
    K_Line_Set.K_Line_LID2B = 0x00u; /* 00 ISS             //0:无、1: eco stop、 2:Idle Stop */
    K_Line_Set.K_Line_LID2C = 0x00u; /* 00 装货台工作警报蜂鸣 //0:无、1:有             */
    K_Line_Set.K_Line_LID2D = 0x00u; /* 00 ROWS            //0:无、1:ROWS有、2LOCAL警报有 */
    K_Line_Set.K_Line_LID2E = 0x00u; /* 00 行车记录仪        //0:模拟记录仪、1:数字记录仪或行车记录仪 */
    K_Line_Set.K_Line_LID2F = 0x00u; /* 00 车型             //0:单车、1:拖车、2:全拖车 */
    K_Line_Set.K_Line_LID30 = 0x00u; /* 00 缓速器           //0:无、1:有(C&E)、2:有(F) */
    K_Line_Set.K_Line_LID31 = 0x01u; /* -- 定速巡航         //0:无、1:有 */
    K_Line_Set.K_Line_LID32 = 0x00u; /* 00 装货台种类       //0:一般、1:侧翼、2:倾倒 */
    K_Line_Set.K_Line_LID33 = 0x01u; /* 01 SCR?DPD         //0:SCR无/DPD有、1:SCR有/DPD有、2:SCR无/DPD无、3:SCR有/DPD无    /*初值1*/
    K_Line_Set.K_Line_LID34 = 0x00u; /* 00 驻车种类         //0:FULL AIR、1:AOH                     /*初值1*/
    K_Line_Set.K_Line_LID35 = 0x00u; /* -- 气压计           //0:2针式、1:1针式 */
    K_Line_Set.K_Line_LID36 = 0x00u; /* -- 低压警报压       //0:一般输出(539kPa)、1:ADR(588kPa) */
    K_Line_Set.K_Line_LID37 = 0x01u; /* -- 超限警报         //0:无、1:有 */
    K_Line_Set.K_Line_LID38 = 0x01u; /* -- 速度警报         //0:无、1:有 */
    K_Line_Set.K_Line_LID39 = 0x00u; /* 00 可变SLD          //0:无、1:1车速、2:2车速            /*初值1*/
    K_Line_Set.K_Line_LID3A = 0x00u; /* -- OEM             //0:ISZ、1:UDT */
    K_Line_Set.K_Line_LID3B = 0x00u; /* -- 预留 */
    K_Line_Set.K_Line_LID3C = 0x00u; /* -- 预留 */
    K_Line_Set.K_Line_LID3D = 0x00u; /* -- 预留 */
    K_Line_Set.K_Line_LID3E = 0x01u; /* 01 预留             //0:胎压功能未匹配    1:匹配 */
    K_Line_Set.K_Line_LID3F = 0x00u; /* -- 预留 */
    K_Line_Set.K_Line_LID40 = 0x00u; /* 00 发动机种类 */
hu's avatar
hu committed
861
    K_Line_Set.K_Line_LID41 = 0x13u; /* 50 变速器种类&控制                                /*初值50*/
hu's avatar
hu committed
862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878
    K_Line_Set.K_Line_LID42 = 0x00u; /* 00 驻车管道                                       /*初值 0*/
    K_Line_Set.K_Line_LID43 = 0x82u; /* 82 车型                                           /*初值44*/
    K_Line_Set.K_Line_LID44 = 0xFFu; /* FF 速度警报                                       /*初值FF*/
    K_Line_Set.K_Line_LID45 = 0xFFu; /* FF 发动机转速                                     /*初值FF*/
    K_Line_Set.K_Line_LID46 = 0xFFu; /* FF 急加速                                         /*初值FF*/
    K_Line_Set.K_Line_LID47 = 0xFFu; /* FF 急减速                                         /*初值FF*/
    K_Line_Set.K_Line_LID48 = 0xFFu; /* FF 长时间怠速                                     /*初值FF*/
    K_Line_Set.K_Line_LID49 = 0xFFu; /* FF 辅助驻车                                       /*初值FF*/
    K_Line_Set.K_Line_LID4A = 0x32u; /* 32 变速箱油              5000 */
    K_Line_Set.K_Line_LID4B = 0x32u; /* 32 差速器油              5000 */
    K_Line_Set.K_Line_LID4C = 0x32u; /* 32 离合器油                     */
    K_Line_Set.K_Line_LID4D = 0x64u; /* 64 动力转向油             10000 */
    K_Line_Set.K_Line_LID4E = 0x78u; /* 78 轮胎                  12000 */
    K_Line_Set.K_Line_LID4F = 0x32u; /* 32 机油&滤清器            5000 */
    K_Line_Set.K_Line_LID50 = 0x00u; /* -- 预留 */
    K_Line_Set.K_Line_LID51 = 0x01u; /* 01 工作模式 */
    K_Line_Set.K_Line_LID52 = 0x00u; /* 00 电子部件设定 */
879
}