|
9 | 9 | #include <drivers/gps.h> |
10 | 10 | #include <net/socket.h> |
11 | 11 | #include <nrf_socket.h> |
| 12 | +#include <nrf_modem_gnss.h> |
12 | 13 | #include <cJSON.h> |
13 | 14 | #include <cJSON_os.h> |
14 | 15 | #include <modem/modem_info.h> |
@@ -339,22 +340,22 @@ static int send_to_modem(void *data, size_t data_len, |
339 | 340 | agps_print(type, data); |
340 | 341 | } |
341 | 342 |
|
342 | | - /* At this point, GPS driver or app-provided socket is assumed. */ |
343 | 343 | if (gps_dev) { |
344 | | - return gps_agps_write(gps_dev, type_socket2gps(type), data, |
345 | | - data_len); |
346 | | - } |
347 | | - |
348 | | - err = nrf_sendto(fd, data, data_len, 0, &type, sizeof(type)); |
349 | | - if (err < 0) { |
350 | | - LOG_ERR("Failed to send AGPS data to modem, errno: %d", errno); |
351 | | - err = -errno; |
| 344 | + /* GPS driver */ |
| 345 | + err = gps_agps_write(gps_dev, type_socket2gps(type), data, data_len); |
| 346 | + } else if (fd != -1) { |
| 347 | + /* GNSS socket */ |
| 348 | + err = nrf_sendto(fd, data, data_len, 0, &type, sizeof(type)); |
| 349 | + if (err < 0) { |
| 350 | + err = -errno; |
| 351 | + } else { |
| 352 | + err = 0; |
| 353 | + } |
352 | 354 | } else { |
353 | | - err = 0; |
| 355 | + /* GNSS API */ |
| 356 | + err = nrf_modem_gnss_agps_write(data, data_len, type); |
354 | 357 | } |
355 | 358 |
|
356 | | - LOG_DBG("A-GSP data sent to modem"); |
357 | | - |
358 | 359 | return err; |
359 | 360 | } |
360 | 361 |
|
@@ -725,7 +726,7 @@ int nrf_cloud_agps_process(const char *buf, size_t buf_len, const int *socket) |
725 | 726 |
|
726 | 727 | parsed_len += element_size; |
727 | 728 |
|
728 | | - LOG_DBG("Parsed_len: %d\n", parsed_len); |
| 729 | + LOG_DBG("Parsed_len: %d", parsed_len); |
729 | 730 |
|
730 | 731 | if (element.type == NRF_CLOUD_AGPS_GPS_TOWS) { |
731 | 732 | memcpy(&sys_time.sv_tow[element.tow->sv_id - 1], |
|
0 commit comments