#ifndef _SR_GPS_H
#define _SR_GPS_H


typedef enum
{
  SR_GPS_GPGSA = (1<<0),
  SR_GPS_GPGGA = (1<<1),
  SR_GPS_GPGSV = (1<<2),
  SR_GPS_GPRMC = (1<<3),
  SR_GPS_GPVTG = (1<<4),
  SR_GPS_GPGLL = (1<<5),
}SR_GPS_NEMA_SELECT_E;





int SR_GpsEnable(uint8_t enable);
int SR_GpsSetup(SR_GPS_NEMA_SELECT_E nemaSelect, uint8_t nemaCycle, uint16_t nemaTimeOut);


int SR_AgpsEnable(uint8_t enable);

int SR_AgpsSetup(uint16_t epheTimeout);
int SR_GpsSetEventCallback(GpsEventCallback cb,void *args);


typedef enum
{
	SR_GPS_SEARCH_STAR_TIMEOUTPUT = 0,  /*!<搜星超时*/
    SR_GPS_VALID_LOCATION,              /*!<有效定位*/
    SR_GPS_INVALID_LOCATION,            /*!<无效定位*/
	SR_GPS_EPHEMERIS_DATA_UPDATE_OK,    /*!<星历数据成功更新*/
	SR_GPS_NEMA_DATA_UPDATE_OK,         /*!<NEMA数据成功更新*/

}SR_GPS_EVENT_E;



typedef void (*GpsEventCallback)(SR_GPS_EVENT_E event, void *args);


int SR_GpsSetEventCallback(GpsEventCallback cb,void *args);




#endif


