#ifndef SAM_M10Q_H
#define SAM_M10Q_H

#include "main.h"
#include <stdint.h>

typedef struct
{
    uint8_t valid_fix;
    uint8_t fix_quality;
    uint8_t satellites;

    uint16_t year;
    uint8_t month;
    uint8_t day;

    uint8_t hour;
    uint8_t minute;
    uint8_t second;
    uint16_t millisecond;

    double latitude;
    double longitude;
    double altitude_m;
} SAM_M10Q_Data;

void SAM_M10Q_Init(I2C_HandleTypeDef *i2c);
HAL_StatusTypeDef SAM_M10Q_IsReady(void);
uint8_t SAM_M10Q_Read_GGA(SAM_M10Q_Data *gnss);

#endif /* SAM_M10Q_H */