static le_gnss_PositionHandlerRef_t GnssPositionHandlerRef = NULL; le_gnss_AssistedMode_t suplAgnssMode = LE_GNSS_MS_BASED_MODE; static void GnssPositionHandlerFunction ( le_gnss_SampleRef_t positionSampleRef, void* contextPtr ) { le_result_t result; int32_t latitude, longitude, accurasy; result = le_gnss_GetLocation(positionSampleRef,&latitude, &longitude, &accurasy); if(result == LE_OK){ LE_INFO("DCM INFO: 緯度: %d, 経度: %d, 精度: %d",latitude,longitude, accurasy); } else if(result == LE_OUT_OF_RANGE){ LE_INFO("DCM INFO: POSITION IS OUT OF RANGE 緯度: %d, 経度: %d, 精度: %d",latitude,longitude, accurasy); } else{ LE_INFO("DCM INFO: POSITON IS FAULT!!"); } } void dcm_gnss_getPosition(void){ le_result_t result; LE_INFO("DCM INFO: GNSS START"); result = le_gnss_Start(); if(result == LE_OK){ LE_INFO("DCM INFO: START OK"); } else{ LE_INFO("DCM INFO: GNSS START FAILURE"); } } COMPONENT_INIT{ GnssPositionHandlerRef = le_gnss_AddPositionHandler(GnssPositionHandlerFunction, NULL); result = le_gnss_SetSuplAssistedMode(suplAgnssMode); }