175 {
178 bool ret = true;
180 time_t t = time(NULL);
181 struct tm current_time;
182 localtime_r(&t, ¤t_time);
183 nmea_time->year = static_cast<uint16_t>(current_time.tm_year - 100);
184 nmea_time->mon = static_cast<uint16_t>(current_time.tm_mon + 1);
185 nmea_time->day = static_cast<uint16_t>(current_time.tm_mday);
186 nmea_time->hour = static_cast<uint16_t>(current_time.tm_hour);
187 nmea_time->min = static_cast<uint16_t>(current_time.tm_min);
188 nmea_time->sec = static_cast<uint16_t>(current_time.tm_sec);
189 AINFO <<
"Get NMEA Time from local time :"
190 << "year:" << nmea_time->year << "mon:" << nmea_time->mon
191 << "day:" << nmea_time->day << "hour:" << nmea_time->hour
192 << "min:" << nmea_time->min << "sec:" << nmea_time->sec;
193 } else {
196 if (rc == 0) {
197 break;
198 }
199 if (rc < 0) {
200 ret = false;
201 }
202 }
203 }
204
207 } else {
208 std::this_thread::sleep_for(std::chrono::milliseconds(1));
209 }
210 }
211}
void SetBaseTimeFromNmeaTime(NMEATimePtr nmea_time, uint64_t *basetime)
std::shared_ptr< NMEATime > NMEATimePtr
optional bool use_gps_time