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:
fahim.alavi@u-blox.com
Date:
2018-10-08
Revision:
21:f91c0334d017
Parent:
20:bc678f383db1
Child:
22:d8cd4cf0fcc0

File content as of revision 21:f91c0334d017:


#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{

		CONSERVATIVE_CONTINOUS,
		AGGRESSIVE_CONTINUOS,
		SEMI_CONTINOUS,
		FULL_POWER,
		FULL_POWER_BLOCK_LEVEL,
		FULL_POWER_BUILDING_LEVEL,
		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 enable_ubx_nav_status();
	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(Powermodes power_mode);
	bool verify_gnss_mode();
	int start_mode(int start_mode);

	void send_to_gnss(char);
	void power_on_gnss();

};
#ifdef __cplusplus
}
#endif