|
- /*!
- * \file gps-board.h
- *
- * \brief Target board GPS driver implementation
- *
- * \copyright Revised BSD License, see section \ref LICENSE.
- *
- * \code
- * ______ _
- * / _____) _ | |
- * ( (____ _____ ____ _| |_ _____ ____| |__
- * \____ \| ___ | (_ _) ___ |/ ___) _ \
- * _____) ) ____| | | || |_| ____( (___| | | |
- * (______/|_____)_|_|_| \__)_____)\____)_| |_|
- * (C)2013-2017 Semtech
- *
- * \endcode
- *
- * \author Miguel Luis ( Semtech )
- *
- * \author Gregory Cristian ( Semtech )
- */
- #ifndef __GPS_BOARD_H__
- #define __GPS_BOARD_H__
-
- #ifdef __cplusplus
- extern "C"
- {
- #endif
-
- #include "uart.h"
-
- /*!
- * Select the edge of the PPS signal which is used to start the
- * reception of data on the UART. Depending of the GPS, the PPS
- * signal may go low or high to indicate the presence of data
- */
- typedef enum PpsTrigger_s
- {
- PpsTriggerIsRising = 0,
- PpsTriggerIsFalling,
- }PpsTrigger_t;
-
- /*!
- * \brief Low level handling of the PPS signal from the GPS receiver
- */
- void GpsMcuOnPpsSignal( void* context );
-
- /*!
- * \brief Invert the IRQ trigger edge on the PPS signal
- */
- void GpsMcuInvertPpsTrigger( void );
-
- /*!
- * \brief Low level Initialization of the UART and IRQ for the GPS
- */
- void GpsMcuInit( void );
-
- /*!
- * \brief Switch ON the GPS
- */
- void GpsMcuStart( void );
-
- /*!
- * \brief Switch OFF the GPS
- */
- void GpsMcuStop( void );
-
- /*!
- * Updates the GPS status
- */
- void GpsMcuProcess( void );
-
- /*!
- * \brief IRQ handler for the UART receiver
- */
- void GpsMcuIrqNotify( UartNotifyId_t id );
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif // __GPS_BOARD_H__
|