positioning updates
Fork of gnss by
gnss_operations.h@23:46264114c060, 2018-11-01 (annotated)
- Committer:
- bqam
- Date:
- Thu Nov 01 12:05:51 2018 +0500
- Revision:
- 23:46264114c060
- Parent:
- 22:c462bbec7d00
- Child:
- 25:2876ec28d223
Redeclaration of cfg_batch_feature in header removed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Bilal Qamar |
11:a04f7eeece23 | 1 | |
Bilal Qamar |
11:a04f7eeece23 | 2 | #include "gnss.h" |
Bilal Qamar |
11:a04f7eeece23 | 3 | |
Bilal Qamar |
11:a04f7eeece23 | 4 | #define UBX_FRAME_SIZE 8 |
Bilal Qamar |
11:a04f7eeece23 | 5 | #ifdef __cplusplus |
Bilal Qamar |
11:a04f7eeece23 | 6 | extern "C" { |
Bilal Qamar |
11:a04f7eeece23 | 7 | #endif |
Bilal Qamar |
11:a04f7eeece23 | 8 | |
Bilal Qamar |
11:a04f7eeece23 | 9 | /** Enums |
Bilal Qamar |
11:a04f7eeece23 | 10 | */ |
Bilal Qamar |
11:a04f7eeece23 | 11 | enum Command{ |
Bilal Qamar |
11:a04f7eeece23 | 12 | POWER_ON, |
Bilal Qamar |
11:a04f7eeece23 | 13 | POWER_OFF, |
Bilal Qamar |
11:a04f7eeece23 | 14 | MON_VER, |
Bilal Qamar |
11:a04f7eeece23 | 15 | ENABLE_UBX, |
Bilal Qamar |
11:a04f7eeece23 | 16 | RESTART, // mbed conflict with RESET |
Bilal Qamar |
11:a04f7eeece23 | 17 | CUSTOMER, |
Bilal Qamar |
11:a04f7eeece23 | 18 | AVAILABLE_CONFIG |
Bilal Qamar |
11:a04f7eeece23 | 19 | }; |
Bilal Qamar |
11:a04f7eeece23 | 20 | /** The reset modes |
Bilal Qamar |
11:a04f7eeece23 | 21 | */ |
Bilal Qamar |
11:a04f7eeece23 | 22 | enum Start{ |
Bilal Qamar |
11:a04f7eeece23 | 23 | HOT, |
Bilal Qamar |
11:a04f7eeece23 | 24 | WARM, |
Bilal Qamar |
11:a04f7eeece23 | 25 | COLD, |
Bilal Qamar |
11:a04f7eeece23 | 26 | AMOUNT_MODE |
Bilal Qamar |
11:a04f7eeece23 | 27 | }; |
Bilal Qamar |
11:a04f7eeece23 | 28 | |
Bilal Qamar |
11:a04f7eeece23 | 29 | /** The operation modes |
Bilal Qamar |
11:a04f7eeece23 | 30 | */ |
Bilal Qamar |
11:a04f7eeece23 | 31 | enum Powermodes{ |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 32 | |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 33 | CONSERVATIVE_CONTINOUS, |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 34 | AGGRESSIVE_CONTINUOS, |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 35 | SEMI_CONTINOUS, |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 36 | FULL_POWER, |
bqam |
17:7adca4350499 | 37 | FULL_POWER_BLOCK_LEVEL, |
bqam |
17:7adca4350499 | 38 | FULL_POWER_BUILDING_LEVEL, |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 39 | AVAILABLE_OPERATION |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 40 | }; |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 41 | |
Bilal Qamar |
11:a04f7eeece23 | 42 | |
Bilal Qamar |
11:a04f7eeece23 | 43 | class GnssOperations : public GnssSerial{ |
Bilal Qamar |
11:a04f7eeece23 | 44 | |
Bilal Qamar |
11:a04f7eeece23 | 45 | //GnssSerial constructor can be called here to configure different baud rate |
Bilal Qamar |
11:a04f7eeece23 | 46 | //Constructor not required at the moment |
Bilal Qamar |
11:a04f7eeece23 | 47 | //GnssOperations(); |
Bilal Qamar |
11:a04f7eeece23 | 48 | |
Bilal Qamar |
11:a04f7eeece23 | 49 | public: |
Bilal Qamar |
11:a04f7eeece23 | 50 | |
bqam |
22:c462bbec7d00 | 51 | /** Enable GNSS receiver UBX-NAV-PVT messages |
bqam |
22:c462bbec7d00 | 52 | * Navigation Position Velocity Time Solution |
bqam |
22:c462bbec7d00 | 53 | * @param void |
bqam |
22:c462bbec7d00 | 54 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 55 | * 0: Failure |
bqam |
22:c462bbec7d00 | 56 | */ |
Bilal Qamar |
11:a04f7eeece23 | 57 | int enable_ubx_nav_pvt(); |
bqam |
22:c462bbec7d00 | 58 | |
bqam |
22:c462bbec7d00 | 59 | /** Enable GNSS receiver UBX-STATUS messages |
bqam |
22:c462bbec7d00 | 60 | * Receiver Navigation Status |
bqam |
22:c462bbec7d00 | 61 | * @param void |
bqam |
22:c462bbec7d00 | 62 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 63 | * 0: Failure |
bqam |
22:c462bbec7d00 | 64 | */ |
fahim.alavi@u-blox.com | 20:f91c0334d017 | 65 | int enable_ubx_nav_status(); |
bqam |
22:c462bbec7d00 | 66 | |
bqam |
22:c462bbec7d00 | 67 | /** Enable GNSS receiver UBX-NAV-SAT messages |
bqam |
22:c462bbec7d00 | 68 | * Satellite Information |
bqam |
22:c462bbec7d00 | 69 | * @param void |
bqam |
22:c462bbec7d00 | 70 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 71 | * 0: Failure |
bqam |
22:c462bbec7d00 | 72 | */ |
fahim.alavi@u-blox.com | 21:d8cd4cf0fcc0 | 73 | int enable_ubx_nav_sat(); |
bqam |
22:c462bbec7d00 | 74 | |
bqam |
22:c462bbec7d00 | 75 | /** Enable GNSS receiver UBX-NAV-SOL messages |
bqam |
22:c462bbec7d00 | 76 | * Navigation Solution Information |
bqam |
22:c462bbec7d00 | 77 | * @param void |
bqam |
22:c462bbec7d00 | 78 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 79 | * 0: Failure |
bqam |
22:c462bbec7d00 | 80 | */ |
fahim.alavi@u-blox.com | 21:d8cd4cf0fcc0 | 81 | int enable_ubx_nav_sol(); |
bqam |
22:c462bbec7d00 | 82 | |
bqam |
22:c462bbec7d00 | 83 | /** Disable GNSS receiver UBX-NAV-PVT messages |
bqam |
22:c462bbec7d00 | 84 | * @param void |
bqam |
22:c462bbec7d00 | 85 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 86 | * 0: Failure |
bqam |
22:c462bbec7d00 | 87 | */ |
Bilal Qamar |
11:a04f7eeece23 | 88 | int disable_ubx_nav_pvt(); |
bqam |
22:c462bbec7d00 | 89 | |
bqam |
22:c462bbec7d00 | 90 | /** Enable GNSS receiver UBX-NAV5 messages |
bqam |
22:c462bbec7d00 | 91 | * Navigation Engine Settings |
bqam |
22:c462bbec7d00 | 92 | * @param uint acc Defines positioning accuracy |
bqam |
22:c462bbec7d00 | 93 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 94 | * 0: Failure |
bqam |
22:c462bbec7d00 | 95 | */ |
Bilal Qamar |
11:a04f7eeece23 | 96 | int enable_ubx_nav5(unsigned int acc); |
bqam |
22:c462bbec7d00 | 97 | |
bqam |
22:c462bbec7d00 | 98 | /** Enable GNSS receiver UBX-CFG-ODO messages |
bqam |
22:c462bbec7d00 | 99 | * Odometer, Low-speed COG Engine Settings |
bqam |
22:c462bbec7d00 | 100 | * @param void |
bqam |
22:c462bbec7d00 | 101 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 102 | * 0: Failure |
bqam |
22:c462bbec7d00 | 103 | */ |
Bilal Qamar |
11:a04f7eeece23 | 104 | int enable_ubx_odo(); |
bqam |
22:c462bbec7d00 | 105 | |
bqam |
22:c462bbec7d00 | 106 | /** Disable GNSS receiver UBX-CFG-ODO messages |
bqam |
22:c462bbec7d00 | 107 | * @param void |
bqam |
22:c462bbec7d00 | 108 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 109 | * 0: Failure |
bqam |
22:c462bbec7d00 | 110 | */ |
Bilal Qamar |
11:a04f7eeece23 | 111 | int disable_ubx_odo(); |
bqam |
22:c462bbec7d00 | 112 | |
bqam |
22:c462bbec7d00 | 113 | /** Enable GNSS receiver UBX-NAV-ODO messages |
bqam |
22:c462bbec7d00 | 114 | * Odometer, Low-speed COG Engine Settings |
bqam |
22:c462bbec7d00 | 115 | * @param void |
bqam |
22:c462bbec7d00 | 116 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 117 | * 0: Failure |
bqam |
22:c462bbec7d00 | 118 | */ |
Bilal Qamar |
11:a04f7eeece23 | 119 | int enable_ubx_nav_odo(); |
bqam |
22:c462bbec7d00 | 120 | |
bqam |
22:c462bbec7d00 | 121 | /** Disable GNSS receiver UBX-NAV-ODO messages |
bqam |
22:c462bbec7d00 | 122 | * Odometer, Low-speed COG Engine Settings |
bqam |
22:c462bbec7d00 | 123 | * @param void |
bqam |
22:c462bbec7d00 | 124 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 125 | * 0: Failure |
bqam |
22:c462bbec7d00 | 126 | */ |
Bilal Qamar |
11:a04f7eeece23 | 127 | int disable_ubx_nav_odo(); |
bqam |
22:c462bbec7d00 | 128 | |
bqam |
22:c462bbec7d00 | 129 | /** Enable GNSS receiver UBX-LOG-BATCH messages |
bqam |
22:c462bbec7d00 | 130 | * Batched data |
bqam |
22:c462bbec7d00 | 131 | * @param void |
bqam |
22:c462bbec7d00 | 132 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 133 | * 0: Failure |
bqam |
22:c462bbec7d00 | 134 | */ |
Bilal Qamar |
11:a04f7eeece23 | 135 | int enable_ubx_batch_feature(); |
bqam |
22:c462bbec7d00 | 136 | |
bqam |
22:c462bbec7d00 | 137 | /** Disable GNSS receiver UBX-LOG-BATCH messages |
bqam |
22:c462bbec7d00 | 138 | * Batched data |
bqam |
22:c462bbec7d00 | 139 | * @param void |
bqam |
22:c462bbec7d00 | 140 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 141 | * 0: Failure |
bqam |
22:c462bbec7d00 | 142 | */ |
Bilal Qamar |
11:a04f7eeece23 | 143 | int disable_ubx_batch_feature(); |
bqam |
22:c462bbec7d00 | 144 | |
bqam |
22:c462bbec7d00 | 145 | /** Configure GNSS receiver batching feature |
bqam |
22:c462bbec7d00 | 146 | * Get/Set data batching configuration |
bqam |
22:c462bbec7d00 | 147 | * @param tUBX_CFG_BATCH |
bqam |
22:c462bbec7d00 | 148 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 149 | * 0: Failure |
bqam |
22:c462bbec7d00 | 150 | */ |
Bilal Qamar |
11:a04f7eeece23 | 151 | int cfg_batch_feature(tUBX_CFG_BATCH *obj); |
bqam |
22:c462bbec7d00 | 152 | |
bqam |
22:c462bbec7d00 | 153 | /** Configure GNSS receiver power mode |
bqam |
22:c462bbec7d00 | 154 | * Power mode setup |
bqam |
22:c462bbec7d00 | 155 | * @param Powermodes SEMI_CONTINOUS |
bqam |
22:c462bbec7d00 | 156 | * AGGRESSIVE_CONTINUOS |
bqam |
22:c462bbec7d00 | 157 | * CONSERVATIVE_CONTINOUS |
bqam |
22:c462bbec7d00 | 158 | * FULL_POWER |
bqam |
22:c462bbec7d00 | 159 | * FULL_POWER_BLOCK_LEVEL |
bqam |
22:c462bbec7d00 | 160 | * |
bqam |
22:c462bbec7d00 | 161 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 162 | * 0: Failure |
bqam |
22:c462bbec7d00 | 163 | */ |
fahim.alavi@u-blox.com | 15:cb9861f0f4d8 | 164 | int cfg_power_mode(Powermodes power_mode); |
bqam |
22:c462bbec7d00 | 165 | |
bqam |
22:c462bbec7d00 | 166 | /** Method to poll the GNSS configuration |
bqam |
22:c462bbec7d00 | 167 | * @param void |
bqam |
22:c462bbec7d00 | 168 | * @return bool true: Successful |
bqam |
22:c462bbec7d00 | 169 | * false: Failure |
bqam |
22:c462bbec7d00 | 170 | */ |
fahim.alavi@u-blox.com | 19:bc678f383db1 | 171 | bool verify_gnss_mode(); |
bqam |
22:c462bbec7d00 | 172 | |
bqam |
22:c462bbec7d00 | 173 | /** Configure GNSS startup mode |
bqam |
22:c462bbec7d00 | 174 | * Power mode setup |
bqam |
22:c462bbec7d00 | 175 | * @param start_mode 0: Hot Start |
bqam |
22:c462bbec7d00 | 176 | * 1: Warm Start |
bqam |
22:c462bbec7d00 | 177 | * 2: Cold Start |
bqam |
22:c462bbec7d00 | 178 | * |
bqam |
22:c462bbec7d00 | 179 | * @return int 1: Successful |
bqam |
22:c462bbec7d00 | 180 | * 0: Failure |
bqam |
22:c462bbec7d00 | 181 | */ |
Bilal Qamar |
11:a04f7eeece23 | 182 | int start_mode(int start_mode); |
Bilal Qamar |
11:a04f7eeece23 | 183 | |
bqam |
22:c462bbec7d00 | 184 | /** Send char to GNSS receiver |
bqam |
22:c462bbec7d00 | 185 | * @param char |
bqam |
22:c462bbec7d00 | 186 | * @return void |
bqam |
22:c462bbec7d00 | 187 | */ |
bqam |
13:4b22bd505b93 | 188 | void send_to_gnss(char); |
bqam |
22:c462bbec7d00 | 189 | |
bqam |
22:c462bbec7d00 | 190 | /** Power On GNSS receiver |
bqam |
22:c462bbec7d00 | 191 | * |
bqam |
22:c462bbec7d00 | 192 | * @return void |
bqam |
22:c462bbec7d00 | 193 | */ |
bqam |
13:4b22bd505b93 | 194 | void power_on_gnss(); |
bqam |
13:4b22bd505b93 | 195 | |
Bilal Qamar |
11:a04f7eeece23 | 196 | }; |
Bilal Qamar |
11:a04f7eeece23 | 197 | #ifdef __cplusplus |
Bilal Qamar |
11:a04f7eeece23 | 198 | } |
Bilal Qamar |
11:a04f7eeece23 | 199 | #endif |