| | |
| | | |
| | | void StopCarTTSDone(int id) |
| | | { |
| | | DEBUG("StopCarTTSDone %d", id); |
| | | // 等语音播报完毕后计时 |
| | | if (id == examTtsSeq) { |
| | | DEBUG("StopCarTTSDone %d", id); |
| | | ttsPlayEnd = 1; |
| | | } |
| | | } |
| | |
| | | rtkTime->mss * 10, |
| | | prevPointTime.hour, prevPointTime.min, |
| | | prevPointTime.sec, prevPointTime.msec * 10); |
| | | |
| | | moveDistance += (double)diff * (speed + prevSpeed) / 2; |
| | | prevSpeed = speed; |
| | | Rtk2DriveTimer(prevPointTime, rtkTime); |
| | | if (diff >= D_SEC(1)) { |
| | | moveDistance += (double)diff * (speed + prevSpeed) / 2.0 / 1000.0; |
| | | prevSpeed = speed; |
| | | Rtk2DriveTimer(prevPointTime, rtkTime); |
| | | DEBUG("停车已行驶距离 %f", moveDistance); |
| | | } |
| | | |
| | | if (moveDistance > 150) { |
| | | // 150米内未停车,不合格 |
| | | DEBUG("停车距离超标"); |
| | | DEBUG("停车距离超标,靠边停车结束"); |
| | | AddExamFault(33, rtkTime); |
| | | return -1; |
| | | } |
| | |
| | | if (moveDirect != prevMoveDirect) { |
| | | if (moveDirect == 0) { |
| | | stopTimepoint = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10); |
| | | DEBUG("停车了 %d %d %d %d %d %d %d", rtkTime->YY, rtkTime->MM, rtkTime->DD, rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss); |
| | | DEBUG("####### 靠边停车,停车了 %d %d %d %d %d %d %d ######", rtkTime->YY, rtkTime->MM, rtkTime->DD, rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss); |
| | | } |
| | | prevMoveDirect = moveDirect; |
| | | } else if (moveDirect == 0) { |
| | |
| | | } |
| | | } |
| | | } else if (occurOpenDoor) { |
| | | DEBUG("开车门,靠边停车结束"); |
| | | return -1; |
| | | } |
| | | |
| | |
| | | uint32_t tp = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10); |
| | | |
| | | if (tp - openDoorTimepoint >= OPEN_DOOR_TIMEOUT + D_SEC(5)) { |
| | | DEBUG("开门时间大于20秒,靠边停车结束"); |
| | | return -1; |
| | | } |
| | | } |