This class provides an API to communicate with a u-blox GNSS chip. The files here were originally part of the C027_Support library (https://developer.mbed.org/teams/ublox/code/C027_Support/ at revision 138:dafbbf31bf76) but have been separated out, primarily for use on the u-blox C030 board where the cellular interace portion of the C027_Support library will instead be provided through the new mbed Cellular API.

Dependents:   example-ublox-at-cellular-interface-ext example-low-power-sleep example-C030-out-of-box-demo example-C030-out-of-box-demo ... more

gnss_operations.h

Committer:
bqam
Date:
2018-06-13
Revision:
14:4b22bd505b93
Parent:
12:a04f7eeece23
Child:
16:cb9861f0f4d8

File content as of revision 14:4b22bd505b93:


#include "gnss.h"

#define UBX_FRAME_SIZE 8
#ifdef __cplusplus
extern "C" {
#endif

/** Enums
*/
	enum Command{
			POWER_ON,
			POWER_OFF,
			MON_VER,
			ENABLE_UBX,
			RESTART, // mbed conflict with RESET
			CUSTOMER,
			AVAILABLE_CONFIG
		};
	/** The reset modes
	*/
	enum Start{
			HOT,
			WARM,
			COLD,
			AMOUNT_MODE
		};

	/** The operation modes
	*/
	enum Powermodes{
			SEMI_CONTINOUS,
			AGGRESSIVE_CONTINUOS,
			CONSERVATIVE_CONTINOUS,
			FULL_POWER,
			AVAILABLE_OPERATION
		};

class GnssOperations : public GnssSerial{

	//GnssSerial constructor can be called here to configure different baud rate
	//Constructor not required at the moment
	//GnssOperations();

public:

	int enable_ubx_nav_pvt();
	int disable_ubx_nav_pvt();
	int enable_ubx_nav5(unsigned int acc);
	int enable_ubx_odo();
	int disable_ubx_odo();
	int enable_ubx_nav_odo();
	int disable_ubx_nav_odo();
	int enable_ubx_batch_feature();
	int disable_ubx_batch_feature();
	int cfg_batch_feature(tUBX_CFG_BATCH *obj);
	int cfg_power_mode(int power_mode);
	int start_mode(int start_mode);

	void send_to_gnss(char);
	void power_on_gnss();

};
#ifdef __cplusplus
}
#endif