view Small_CPU/Inc/uartProtocol_GNSS.h @ 902:d4622533271d Evo_2_23

VPM table mode: Because of the model maths, usage of float data type and so on it may happen that the TTS decreases during ascent and continues calculation of the vpm. To keep the values stable the vpm table mode has been introduces. Instead of continously calculation of the stops the stop time is decreased if the diver is close to a deco stop. If the table is violated (e.g. by not doing gas change) the table will be updated to the new, longer runtime. The table will not be switch back to a shorter version in case e.g. the missed gas change is performed
author Ideenmodellierer
date Wed, 02 Oct 2024 22:18:19 +0200
parents 2225c467f1e9
children c0553dd70608
line wrap: on
line source

/**
  ******************************************************************************
  * @file    uartProtocol_GNSS.h
  * @author  heinrichs weikamp gmbh
  * @version V0.0.1
  * @date    30-Sep-2024
  * @brief	 Interface functionality for operation of gnss devices
  *
  @verbatim
  ==============================================================================
                        ##### How to use #####
  ==============================================================================
  @endverbatim
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; COPYRIGHT(c) 2014 heinrichs weikamp</center></h2>
  *
  ******************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef UART_PROTOCOL_GNSS_H
#define UART_PROTOCOL_GNSS_H

#ifdef __cplusplus
 extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "configuration.h"
#include "stm32f4xx_hal.h"

 typedef enum
  {
	UART_GNSS_INIT = 0,			/* Default Status for every sensor type */
	UART_GNSS_LOAD,				/* Load modul configuration */
	UART_GNSS_GET_ID,			/* get unique module ID */
	UART_GNSS_IDLE,				/* sensor detected and no communication pending */
	UART_GNSS_ERROR,
  	UART_GNSS_OPERATING,		/* normal operation => cyclic request of PVT data */
  } uartGnssStatus_t;

  typedef enum
  {
  	GNSSRX_READY = 0,			/* Initial state */
	GNSSRX_RECEIVING,			/* Pending data receiption */
  } receiveStateGnss_t;


void uartGnss_Control(void);
void uartGnss_ProcessData(void);
uint8_t uartSentinel_isSensorConnected();

#endif /* UART_PROTOCOL_GNSS_H */