暂时屏蔽获取车模型从平台 直接打开mapfragment 跳过arcgis
| | |
| | | case ID_MC_MCU_DFU_RSP: |
| | | break; |
| | | case ID_MC_CAR_INFO2: |
| | | // DEBUG("ID_MC_CAR_INFO2 %d", length); |
| | | /* DEBUG("ID_MC_CAR_INFO2 %d", length); |
| | | |
| | | { |
| | | static char buffd[16384]; |
| | | |
| | | buffd[0] = 0; |
| | | int i = 0; |
| | | for (i = 0; i < length; i++) { |
| | | if ((i % 32) == 0) { |
| | | sprintf(buffd + strlen(buffd), "\n"); |
| | | } |
| | | sprintf(buffd + strlen(buffd), "%02X ", data[i]); |
| | | if (strlen(buffd) > 800) { |
| | | DEBUG("%s <- %s...", "车辆信号" , buffd); |
| | | buffd[0] = 0; |
| | | } |
| | | } |
| | | if (strlen(buffd) > 0) |
| | | DEBUG("%s <- %s", "车辆信号" , buffd); |
| | | }*/ |
| | | |
| | | if (length > 0) { |
| | | PlatformStatusChanged(CAR_SENSOR_UPDATE_EVT, data, length); |
| | | } |
| | |
| | | #if 1 |
| | | if (VirtualIsConnected()) { //PC模拟用时 |
| | | static bool first = false; |
| | | |
| | | DEBUG("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); |
| | | if (!first) { |
| | | first = true; |
| | | |
| | |
| | | |
| | | void InitPlatform(bool ayDevice, const uint8_t *phone, const char *domain_name, int port) |
| | | { |
| | | DEBUG("InitPlatform"); |
| | | DEBUG("InitPlatform phone %s ip %s port %d", phone, domain_name, port); |
| | | |
| | | mAyDevice = ayDevice; |
| | | |
| | |
| | | |
| | | void ConfigPlatform(const rtk_platform_cfg_t *p) |
| | | { |
| | | DEBUG("配置RTK平台资讯"); |
| | | DEBUG("配置RTK平台资讯 sn %s device_model %s, imei %s, phone %02X%02X%02X%02X%02X%02X%02X%02X", p->device_sn, p->device_model, p->imei, p->phone[0], |
| | | p->phone[1], |
| | | p->phone[2], |
| | | p->phone[3], |
| | | p->phone[4], |
| | | p->phone[5], |
| | | p->phone[6], |
| | | p->phone[7]); |
| | | |
| | | AppTimer_delete(ReqRtkPlatformConfigTimeout); |
| | | |
| | |
| | | |
| | | static void WriteCarStatus(uint16_t id, int value) |
| | | { |
| | | int old_value; |
| | | pthread_mutex_lock(&status_rw_mutex); |
| | | old_value = CarStatus[id]; |
| | | CarStatus[id] = value; |
| | | pthread_mutex_unlock(&status_rw_mutex); |
| | | |
| | | if (id != OBD_SPEED && id != ENGINE_RPM) { |
| | | if (id != OBD_SPEED && id != ENGINE_RPM && old_value != value) { |
| | | uint8_t buffer[6]; |
| | | |
| | | buffer[0] = HI_UINT16(id); |
| | |
| | | static void LRLightTimeout(union sigval sig) |
| | | { |
| | | AppTimer_delete(LRLightTimeout); |
| | | |
| | | if (!left_turn_signal && !right_turn_signal) { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, OFF_LIGHT); |
| | | } else if (left_turn_signal && right_turn_signal) { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, HAZARD_LIGHTS); |
| | | } else if (left_turn_signal) { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, LEFT_TURN_LIGHT); |
| | | } else { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, RIGHT_TURN_LIGHT); |
| | | } |
| | | } |
| | | |
| | | static void ChangeLRLight(int light) |
| | | { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, light); |
| | | DEBUG("ChangeLRLight %d %d", left_turn_signal, right_turn_signal); |
| | | if (!left_turn_signal && !right_turn_signal) { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, OFF_LIGHT); |
| | | } else if (left_turn_signal && right_turn_signal) { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, HAZARD_LIGHTS); |
| | | } else if (left_turn_signal) { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, LEFT_TURN_LIGHT); |
| | | } else { |
| | | WriteCarStatus(TURN_SIGNAL_LAMP, RIGHT_TURN_LIGHT); |
| | | } |
| | | |
| | | AppTimer_delete(LRLightTimeout); |
| | | AppTimer_add(LRLightTimeout, 1500); |
| | |
| | | AppTimer_delete(ConfirmTurnSigalLater); |
| | | if (right_turn_signal) { |
| | | // 判定为双闪 |
| | | ChangeLRLight(HAZARD_LIGHTS); |
| | | AppTimer_add(ConfirmTurnSigalLater, 500, HAZARD_LIGHTS); |
| | | } else { |
| | | AppTimer_add(ConfirmTurnSigalLater, 200, LEFT_TURN_LIGHT); |
| | | } |
| | | } else { |
| | | AppTimer_delete(ConfirmTurnSigalLater); |
| | | if (right_turn_signal) |
| | | AppTimer_add(ConfirmTurnSigalLater, 1500, RIGHT_TURN_LIGHT); |
| | | else |
| | | AppTimer_add(ConfirmTurnSigalLater, 1500, OFF_LIGHT); |
| | | } |
| | | break; |
| | | } |
| | |
| | | AppTimer_delete(ConfirmTurnSigalLater); |
| | | if (left_turn_signal) { |
| | | // 判定为双闪 |
| | | ChangeLRLight(HAZARD_LIGHTS); |
| | | AppTimer_add(ConfirmTurnSigalLater, 500, HAZARD_LIGHTS); |
| | | } else { |
| | | AppTimer_add(ConfirmTurnSigalLater, 200, RIGHT_TURN_LIGHT); |
| | | } |
| | | } else { |
| | | AppTimer_delete(ConfirmTurnSigalLater); |
| | | if (left_turn_signal) |
| | | AppTimer_add(ConfirmTurnSigalLater, 1500, LEFT_TURN_LIGHT); |
| | | else |
| | | AppTimer_add(ConfirmTurnSigalLater, 1500, OFF_LIGHT); |
| | | } |
| | | break; |
| | | } |
| | |
| | | } |
| | | } else { |
| | | if (ExitMap(car, CurrEnterMapIndex, mapList)) { |
| | | DEBUG("离开某个子项目 idx = %d", CurrEnterMapIndex); |
| | | CurrEnterMapIndex = -1; |
| | | } |
| | | } |
| | |
| | | // 某项结束 |
| | | CurrExamStatus = EXAM_AREA_NONE; |
| | | CurrExamMapIndex = -1; |
| | | DEBUG("结束当前项目"); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | TEST_END: |
| | | if (!testing) { |
| | | MA_EnterMap(mapIndex, MAP_TYPE_TURN_90, 0); |
| | | } |
| | | |
| | | TEST_END: |
| | | return testing? 1:0; |
| | | } |
| | | |