| | |
| | | static sem_t sem_status_changed; |
| | | |
| | | static bool requestPlatformSendRtk = false; |
| | | static bool rtcmLength = 0; |
| | | |
| | | static CTcpPort *ctp = NULL; |
| | | |
| | | static pthread_mutex_t events_mutex = PTHREAD_MUTEX_INITIALIZER; |
| | |
| | | rbf.altitude = gbf.altitude; |
| | | rbf.speed = gbf.speed; |
| | | rbf.trackTure = gbf.trackTure; |
| | | |
| | | MA_SendRtkBrief(&rbf); |
| | | } |
| | | // MA_SendGpsBrief(&brief); |
| | |
| | | rbf.roll = rtk->roll; |
| | | rbf.coord_x_dir = 'N'; |
| | | rbf.coord_y_dir = 'E'; |
| | | rbf.rtcm_length = rtcmLength; |
| | | |
| | | sprintf(rbf.utc, "%04d%02d%02d%02d%02d%02d.%02d", 2000 + rtk->YY, rtk->MM, rtk->DD, |
| | | rtk->hh, rtk->mm, rtk->ss, rtk->dss); |
| | | if (!strcmp(rbf.utc, gbf.utc)) { |
| | |
| | | rbf.altitude = gbf.altitude; |
| | | rbf.speed = gbf.speed; |
| | | rbf.trackTure = gbf.trackTure; |
| | | |
| | | MA_SendRtkBrief(&rbf); |
| | | } |
| | | |
| | |
| | | break; |
| | | } |
| | | case CAR_SENSOR_UPDATE_EVT: { |
| | | DEBUG("CAR_SENSOR_UPDATE_EVT"); |
| | | struct carSensorBrief brief; |
| | | int x = 20; |
| | | |
| | |
| | | |
| | | if (sensor.clutch == 1) |
| | | sensor.gear = 0; |
| | | |
| | | DEBUG("电池电压 %f", sensor.cellVolt); |
| | | |
| | | UpdateSensor(&sensor); |
| | | break; |
| | |
| | | void ReceivedRtk(const uint8_t *data, int length) |
| | | { |
| | | DEBUG("ReceivedRtk length %d", length); |
| | | |
| | | AppTimer_delete(RequestRtkNoResp); |
| | | rtcmLength = length; |
| | | // 汇报给单片机 |
| | | if (length > 0) { |
| | | SendRtkToMcu(data, length); |
| | | } |
| | | AppTimer_add(RequestRtkNoResp, D_SEC(7)); // 应该每秒收到一次 |
| | | } |
| | | |
| | | static void RequestRtkNoResp(union sigval sig) |
| | | { |
| | | AppTimer_delete(RequestRtkNoResp); |
| | | requestPlatformSendRtk = true; |
| | | rtcmLength = 0; |
| | | } |
| | | |
| | | void RequestRtkDownload(const gpsStatus_t *gps, uint16_t rtk_pkt_interval) |