CTS-SAT-1-OBC-Firmware
Loading...
Searching...
No Matches
gnss_time.c File Reference
#include "gnss_receiver/gnss_internal_drivers.h"
#include "timekeeping/timekeeping.h"
#include "log/log.h"
#include <stdio.h>
#include <time.h>
#include <stdint.h>
#include <string.h>
Include dependency graph for gnss_time.c:

Functions

uint8_t GNSS_parse_timea_response_and_convert_to_unix_time_ms (char *input_str, uint64_t *unix_time_ms)
 Parses a GNSS receiver TIMEA message and converts it into Unix epoch time in milliseconds. The function expects a full TIMEA log string as input (e.g., starting with "#TIMEA,..."). It tokenizes the string, extracts UTC date and time fields, validates their integrity, and converts them to a Unix timestamp in milliseconds.
 
uint8_t GNSS_set_obc_time_based_on_gnss_time ()
 Sets the OBC's time, based on the GNSS receiver's current time. This function sends a command to the GNSS receiver to fetch the current time, parses the TIMEA response to extract UTC time, converts it to Unix epoch time, and sets the system clock accordingly.
 

Function Documentation

◆ GNSS_parse_timea_response_and_convert_to_unix_time_ms()

uint8_t GNSS_parse_timea_response_and_convert_to_unix_time_ms ( char * input_str,
uint64_t * unix_time_ms )

Parses a GNSS receiver TIMEA message and converts it into Unix epoch time in milliseconds. The function expects a full TIMEA log string as input (e.g., starting with "#TIMEA,..."). It tokenizes the string, extracts UTC date and time fields, validates their integrity, and converts them to a Unix timestamp in milliseconds.

Parameters
input_strThe GNSS response string (e.g., from a TIMEA log).
Returns
uint8_t returning 0 for success and 1 for error.
Here is the caller graph for this function:

◆ GNSS_set_obc_time_based_on_gnss_time()

uint8_t GNSS_set_obc_time_based_on_gnss_time ( )

Sets the OBC's time, based on the GNSS receiver's current time. This function sends a command to the GNSS receiver to fetch the current time, parses the TIMEA response to extract UTC time, converts it to Unix epoch time, and sets the system clock accordingly.

Returns
0 on success, >0 on failure.
Here is the call graph for this function:
Here is the caller graph for this function: