/**
 * @file gps.h
 *
 * @brief Header file for GPS-related functions in the ChainLube application.
 *
 * This file contains declarations for functions related to GPS (Global Positioning System) functionality
 * within the ChainLube application. It includes the initialization of the GPS module and processing of GPS
 * data to calculate wheel speed. Additionally, it references other necessary header files for configuration,
 * common definitions, diagnostics, and debugging.
 *
 * @author Marcel Peterkau
 * @date   09.01.2024
 */

#ifndef _GPS_H_
#define _GPS_H_

#include <TinyGPSPlus.h>
#include "config.h"
#include "common.h"
#include "dtc.h"
#include "debugger.h"

/**
 * @brief Initializes the GPS module.
 */
void Init_GPS();

/**
 * @brief Processes GPS data to calculate wheel speed.
 *
 * @return Calculated wheel speed in millimeters per second.
 */
uint32_t Process_GPS_WheelSpeed();

#endif // _GPS_H_
