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@20:bc678f383db1, 2018-10-05 (annotated)
- Committer:
- fahim.alavi@u-blox.com
- Date:
- Fri Oct 05 18:46:48 2018 +0500
- Revision:
- 20:bc678f383db1
- Parent:
- 18:7adca4350499
- Child:
- 21:f91c0334d017
Verify GNSS method added
Who changed what in which revision?
User | Revision | Line number | New 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{ |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 32 | |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 33 | CONSERVATIVE_CONTINOUS, |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 34 | AGGRESSIVE_CONTINUOS, |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 35 | SEMI_CONTINOUS, |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 36 | FULL_POWER, |
bqam |
18:7adca4350499 | 37 | FULL_POWER_BLOCK_LEVEL, |
bqam |
18:7adca4350499 | 38 | FULL_POWER_BUILDING_LEVEL, |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 39 | AVAILABLE_OPERATION |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 40 | }; |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 41 | |
Bilal Qamar |
12:a04f7eeece23 | 42 | |
Bilal Qamar |
12:a04f7eeece23 | 43 | class GnssOperations : public GnssSerial{ |
Bilal Qamar |
12:a04f7eeece23 | 44 | |
Bilal Qamar |
12:a04f7eeece23 | 45 | //GnssSerial constructor can be called here to configure different baud rate |
Bilal Qamar |
12:a04f7eeece23 | 46 | //Constructor not required at the moment |
Bilal Qamar |
12:a04f7eeece23 | 47 | //GnssOperations(); |
Bilal Qamar |
12:a04f7eeece23 | 48 | |
Bilal Qamar |
12:a04f7eeece23 | 49 | public: |
Bilal Qamar |
12:a04f7eeece23 | 50 | |
Bilal Qamar |
12:a04f7eeece23 | 51 | int enable_ubx_nav_pvt(); |
Bilal Qamar |
12:a04f7eeece23 | 52 | int disable_ubx_nav_pvt(); |
Bilal Qamar |
12:a04f7eeece23 | 53 | int enable_ubx_nav5(unsigned int acc); |
Bilal Qamar |
12:a04f7eeece23 | 54 | int enable_ubx_odo(); |
Bilal Qamar |
12:a04f7eeece23 | 55 | int disable_ubx_odo(); |
Bilal Qamar |
12:a04f7eeece23 | 56 | int enable_ubx_nav_odo(); |
Bilal Qamar |
12:a04f7eeece23 | 57 | int disable_ubx_nav_odo(); |
Bilal Qamar |
12:a04f7eeece23 | 58 | int enable_ubx_batch_feature(); |
Bilal Qamar |
12:a04f7eeece23 | 59 | int disable_ubx_batch_feature(); |
Bilal Qamar |
12:a04f7eeece23 | 60 | int cfg_batch_feature(tUBX_CFG_BATCH *obj); |
fahim.alavi@u-blox.com | 16:cb9861f0f4d8 | 61 | int cfg_power_mode(Powermodes power_mode); |
fahim.alavi@u-blox.com | 20:bc678f383db1 | 62 | bool verify_gnss_mode(); |
Bilal Qamar |
12:a04f7eeece23 | 63 | int start_mode(int start_mode); |
Bilal Qamar |
12:a04f7eeece23 | 64 | |
bqam |
14:4b22bd505b93 | 65 | void send_to_gnss(char); |
bqam |
14:4b22bd505b93 | 66 | void power_on_gnss(); |
bqam |
14:4b22bd505b93 | 67 | |
Bilal Qamar |
12:a04f7eeece23 | 68 | }; |
Bilal Qamar |
12:a04f7eeece23 | 69 | #ifdef __cplusplus |
Bilal Qamar |
12:a04f7eeece23 | 70 | } |
Bilal Qamar |
12:a04f7eeece23 | 71 | #endif |