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

Committer:
bqam
Date:
Wed Jun 13 16:59:19 2018 +0500
Revision:
14:4b22bd505b93
Parent:
12:a04f7eeece23
Child:
16:cb9861f0f4d8
Functions added to access protected methods

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Bilal Qamar 12:a04f7eeece23 1
Bilal Qamar 12:a04f7eeece23 2 #include "gnss.h"
Bilal Qamar 12:a04f7eeece23 3
Bilal Qamar 12:a04f7eeece23 4 #define UBX_FRAME_SIZE 8
Bilal Qamar 12:a04f7eeece23 5 #ifdef __cplusplus
Bilal Qamar 12:a04f7eeece23 6 extern "C" {
Bilal Qamar 12:a04f7eeece23 7 #endif
Bilal Qamar 12:a04f7eeece23 8
Bilal Qamar 12:a04f7eeece23 9 /** Enums
Bilal Qamar 12:a04f7eeece23 10 */
Bilal Qamar 12:a04f7eeece23 11 enum Command{
Bilal Qamar 12:a04f7eeece23 12 POWER_ON,
Bilal Qamar 12:a04f7eeece23 13 POWER_OFF,
Bilal Qamar 12:a04f7eeece23 14 MON_VER,
Bilal Qamar 12:a04f7eeece23 15 ENABLE_UBX,
Bilal Qamar 12:a04f7eeece23 16 RESTART, // mbed conflict with RESET
Bilal Qamar 12:a04f7eeece23 17 CUSTOMER,
Bilal Qamar 12:a04f7eeece23 18 AVAILABLE_CONFIG
Bilal Qamar 12:a04f7eeece23 19 };
Bilal Qamar 12:a04f7eeece23 20 /** The reset modes
Bilal Qamar 12:a04f7eeece23 21 */
Bilal Qamar 12:a04f7eeece23 22 enum Start{
Bilal Qamar 12:a04f7eeece23 23 HOT,
Bilal Qamar 12:a04f7eeece23 24 WARM,
Bilal Qamar 12:a04f7eeece23 25 COLD,
Bilal Qamar 12:a04f7eeece23 26 AMOUNT_MODE
Bilal Qamar 12:a04f7eeece23 27 };
Bilal Qamar 12:a04f7eeece23 28
Bilal Qamar 12:a04f7eeece23 29 /** The operation modes
Bilal Qamar 12:a04f7eeece23 30 */
Bilal Qamar 12:a04f7eeece23 31 enum Powermodes{
Bilal Qamar 12:a04f7eeece23 32 SEMI_CONTINOUS,
Bilal Qamar 12:a04f7eeece23 33 AGGRESSIVE_CONTINUOS,
Bilal Qamar 12:a04f7eeece23 34 CONSERVATIVE_CONTINOUS,
Bilal Qamar 12:a04f7eeece23 35 FULL_POWER,
Bilal Qamar 12:a04f7eeece23 36 AVAILABLE_OPERATION
Bilal Qamar 12:a04f7eeece23 37 };
Bilal Qamar 12:a04f7eeece23 38
Bilal Qamar 12:a04f7eeece23 39 class GnssOperations : public GnssSerial{
Bilal Qamar 12:a04f7eeece23 40
Bilal Qamar 12:a04f7eeece23 41 //GnssSerial constructor can be called here to configure different baud rate
Bilal Qamar 12:a04f7eeece23 42 //Constructor not required at the moment
Bilal Qamar 12:a04f7eeece23 43 //GnssOperations();
Bilal Qamar 12:a04f7eeece23 44
Bilal Qamar 12:a04f7eeece23 45 public:
Bilal Qamar 12:a04f7eeece23 46
Bilal Qamar 12:a04f7eeece23 47 int enable_ubx_nav_pvt();
Bilal Qamar 12:a04f7eeece23 48 int disable_ubx_nav_pvt();
Bilal Qamar 12:a04f7eeece23 49 int enable_ubx_nav5(unsigned int acc);
Bilal Qamar 12:a04f7eeece23 50 int enable_ubx_odo();
Bilal Qamar 12:a04f7eeece23 51 int disable_ubx_odo();
Bilal Qamar 12:a04f7eeece23 52 int enable_ubx_nav_odo();
Bilal Qamar 12:a04f7eeece23 53 int disable_ubx_nav_odo();
Bilal Qamar 12:a04f7eeece23 54 int enable_ubx_batch_feature();
Bilal Qamar 12:a04f7eeece23 55 int disable_ubx_batch_feature();
Bilal Qamar 12:a04f7eeece23 56 int cfg_batch_feature(tUBX_CFG_BATCH *obj);
Bilal Qamar 12:a04f7eeece23 57 int cfg_power_mode(int power_mode);
Bilal Qamar 12:a04f7eeece23 58 int start_mode(int start_mode);
Bilal Qamar 12:a04f7eeece23 59
bqam 14:4b22bd505b93 60 void send_to_gnss(char);
bqam 14:4b22bd505b93 61 void power_on_gnss();
bqam 14:4b22bd505b93 62
Bilal Qamar 12:a04f7eeece23 63 };
Bilal Qamar 12:a04f7eeece23 64 #ifdef __cplusplus
Bilal Qamar 12:a04f7eeece23 65 }
Bilal Qamar 12:a04f7eeece23 66 #endif