yy1717
2020-01-15 eced3d013f06b623a49cb9deaba42218c4e37bb8
lib/src/main/cpp/rtk_platform/platform.cpp
@@ -152,10 +152,6 @@
void PlatformStatusChanged(uint32_t event, const uint8_t *data, int length)
{
    pthread_mutex_lock(&events_mutex);
    eventMask |= event;
    pthread_mutex_unlock(&events_mutex);
    if (data != NULL && length > 0) {
        int x = BitCount(event-1);
@@ -163,7 +159,13 @@
        eventData[x] = malloc(length);
        memcpy(eventData[x], data, length);
        eventDataLength[x] = length;
//        DEBUG("ADD %d len %d", x, length);
    }
    pthread_mutex_lock(&events_mutex);
    eventMask |= event;
    pthread_mutex_unlock(&events_mutex);
    sem_post(&sem_status_changed);
}
@@ -208,6 +210,9 @@
        while (events > 0) {
            int x = BitCount(((events - 1) ^ events) - 1);
//            DEBUG("FETCH %d len %d", x, eventDataLength[x]);
            PlatformChangeEntry(BV(x), (uint8_t *)eventData[x], eventDataLength[x]);
            if (eventData[x] != NULL) {
                free(eventData[x]);
@@ -279,6 +284,7 @@
        MA_RtkPlatformLogin(data[0]);
    }
    if (events & GPS_UPDATE_EVT) {
        DEBUG("GPS_UPDATE_EVT length %d", length);
        const gpsStatus_t *gps = (gpsStatus_t *)data;
        struct gpsBrief brief;
@@ -294,6 +300,7 @@
        RequestRtkDownload(gps, 1);
    }
    if (events & RTK_UPDATE_EVT) {
        DEBUG("RTK_UPDATE_EVT length %d", length);
        const rtk_info *rtk = (rtk_info *)data;
        struct rtkBrief brief;