new Xadow GPS module

Dependents:   xadow_smartstrap_for_pebble Avnet_ATT_Cellular_IOT Xadow-M0_Xadow-OLED_Accelerometer

Committer:
KillingJacky
Date:
Thu Nov 05 04:03:05 2015 +0000
Revision:
2:cf4d22190de4
Parent:
1:97f0865ea131
added satellite in view function

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KillingJacky 0:0cbe7e15999a 1
KillingJacky 1:97f0865ea131 2 #include <stdlib.h>
KillingJacky 0:0cbe7e15999a 3 #include "mbed.h"
KillingJacky 0:0cbe7e15999a 4 #include "XadowGPS.h"
KillingJacky 1:97f0865ea131 5 #include "USBSerial.h"
KillingJacky 0:0cbe7e15999a 6
KillingJacky 0:0cbe7e15999a 7
KillingJacky 0:0cbe7e15999a 8
KillingJacky 0:0cbe7e15999a 9 unsigned char gps_utc_date_time[GPS_UTC_DATE_TIME_SIZE] = {0};
KillingJacky 1:97f0865ea131 10 static char cmd[2];
KillingJacky 0:0cbe7e15999a 11
KillingJacky 0:0cbe7e15999a 12 extern I2C i2c;
KillingJacky 1:97f0865ea131 13 extern USBSerial dbg_serial;
KillingJacky 0:0cbe7e15999a 14
KillingJacky 0:0cbe7e15999a 15
KillingJacky 0:0cbe7e15999a 16 unsigned char gps_check_online(void)
KillingJacky 0:0cbe7e15999a 17 {
KillingJacky 0:0cbe7e15999a 18 unsigned char data[GPS_SCAN_SIZE+2];
KillingJacky 0:0cbe7e15999a 19 unsigned char i;
KillingJacky 0:0cbe7e15999a 20
KillingJacky 0:0cbe7e15999a 21 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 0:0cbe7e15999a 22 //dlc_i2c_send_byte(GPS_SCAN_ID);
KillingJacky 0:0cbe7e15999a 23 cmd[0] = GPS_SCAN_ID;
KillingJacky 0:0cbe7e15999a 24 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 25
KillingJacky 0:0cbe7e15999a 26 for(i=0;i<(GPS_SCAN_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 27 {
KillingJacky 1:97f0865ea131 28 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 29 }
KillingJacky 0:0cbe7e15999a 30
KillingJacky 1:97f0865ea131 31 if(data[5] == (GPS_DEVICE_ADDR>>1))return 1;
KillingJacky 0:0cbe7e15999a 32 else return 0;
KillingJacky 0:0cbe7e15999a 33 }
KillingJacky 1:97f0865ea131 34
KillingJacky 0:0cbe7e15999a 35 unsigned char* gps_get_utc_date_time(void)
KillingJacky 0:0cbe7e15999a 36 {
KillingJacky 0:0cbe7e15999a 37 unsigned char data[GPS_UTC_DATE_TIME_SIZE+2];
KillingJacky 0:0cbe7e15999a 38 unsigned char i;
KillingJacky 0:0cbe7e15999a 39
KillingJacky 1:97f0865ea131 40 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 41 //dlc_i2c_send_byte(GPS_UTC_DATE_TIME_ID);
KillingJacky 1:97f0865ea131 42
KillingJacky 1:97f0865ea131 43 cmd[0] = GPS_UTC_DATE_TIME_ID;
KillingJacky 1:97f0865ea131 44 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 45
KillingJacky 0:0cbe7e15999a 46 for(i=0;i<(GPS_UTC_DATE_TIME_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 47 {
KillingJacky 1:97f0865ea131 48 //data[i] = dlc_i2c_receive_byte();
KillingJacky 1:97f0865ea131 49 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 50 }
KillingJacky 0:0cbe7e15999a 51
KillingJacky 0:0cbe7e15999a 52 for(i=0;i<GPS_UTC_DATE_TIME_SIZE;i++)
KillingJacky 1:97f0865ea131 53 gps_utc_date_time[i] = data[i+2];
KillingJacky 0:0cbe7e15999a 54
KillingJacky 0:0cbe7e15999a 55 return gps_utc_date_time;
KillingJacky 0:0cbe7e15999a 56 }
KillingJacky 0:0cbe7e15999a 57
KillingJacky 0:0cbe7e15999a 58 unsigned char gps_get_status(void)
KillingJacky 0:0cbe7e15999a 59 {
KillingJacky 0:0cbe7e15999a 60 unsigned char data[GPS_STATUS_SIZE+2];
KillingJacky 0:0cbe7e15999a 61 unsigned char i;
KillingJacky 0:0cbe7e15999a 62
KillingJacky 1:97f0865ea131 63 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 64 //dlc_i2c_send_byte(GPS_STATUS_ID);
KillingJacky 1:97f0865ea131 65
KillingJacky 1:97f0865ea131 66 cmd[0] = GPS_STATUS_ID;
KillingJacky 1:97f0865ea131 67 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 68
KillingJacky 0:0cbe7e15999a 69 for(i=0;i<(GPS_STATUS_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 70 {
KillingJacky 1:97f0865ea131 71 //data[i] = dlc_i2c_receive_byte();
KillingJacky 1:97f0865ea131 72 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 73 }
KillingJacky 0:0cbe7e15999a 74
KillingJacky 0:0cbe7e15999a 75 return data[2];
KillingJacky 0:0cbe7e15999a 76 }
KillingJacky 0:0cbe7e15999a 77
KillingJacky 0:0cbe7e15999a 78 float gps_get_latitude(void)
KillingJacky 0:0cbe7e15999a 79 {
KillingJacky 0:0cbe7e15999a 80 unsigned char data[GPS_LATITUDE_SIZE+2];
KillingJacky 0:0cbe7e15999a 81 unsigned char i;
KillingJacky 0:0cbe7e15999a 82
KillingJacky 1:97f0865ea131 83 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 84 //dlc_i2c_send_byte(GPS_LATITUDE_ID);
KillingJacky 1:97f0865ea131 85 cmd[0] = GPS_LATITUDE_ID;
KillingJacky 1:97f0865ea131 86 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 1:97f0865ea131 87
KillingJacky 0:0cbe7e15999a 88 for(i=0;i<(GPS_LATITUDE_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 89 {
KillingJacky 1:97f0865ea131 90 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 91 }
KillingJacky 0:0cbe7e15999a 92
KillingJacky 1:97f0865ea131 93 return atof((const char *)&data[2]);
KillingJacky 0:0cbe7e15999a 94 }
KillingJacky 0:0cbe7e15999a 95
KillingJacky 0:0cbe7e15999a 96 unsigned char gps_get_ns(void)
KillingJacky 0:0cbe7e15999a 97 {
KillingJacky 0:0cbe7e15999a 98 unsigned char data[GPS_NS_SIZE+2];
KillingJacky 0:0cbe7e15999a 99 unsigned char i;
KillingJacky 0:0cbe7e15999a 100
KillingJacky 1:97f0865ea131 101 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 102 //dlc_i2c_send_byte(GPS_NS_ID);
KillingJacky 1:97f0865ea131 103 cmd[0] = GPS_NS_ID;
KillingJacky 1:97f0865ea131 104 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 105
KillingJacky 0:0cbe7e15999a 106 for(i=0;i<(GPS_NS_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 107 {
KillingJacky 1:97f0865ea131 108 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 109 }
KillingJacky 0:0cbe7e15999a 110
KillingJacky 0:0cbe7e15999a 111 if(data[2] == 'N' || data[2] == 'S')return data[2];
KillingJacky 0:0cbe7e15999a 112 else return data[2] = '-';
KillingJacky 0:0cbe7e15999a 113
KillingJacky 0:0cbe7e15999a 114 }
KillingJacky 0:0cbe7e15999a 115
KillingJacky 0:0cbe7e15999a 116 float gps_get_longitude(void)
KillingJacky 0:0cbe7e15999a 117 {
KillingJacky 0:0cbe7e15999a 118 unsigned char data[GPS_LONGITUDE_SIZE+2];
KillingJacky 0:0cbe7e15999a 119 unsigned char i;
KillingJacky 0:0cbe7e15999a 120
KillingJacky 1:97f0865ea131 121 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 122 //dlc_i2c_send_byte(GPS_LONGITUDE_ID);
KillingJacky 1:97f0865ea131 123 cmd[0] = GPS_LONGITUDE_ID;
KillingJacky 1:97f0865ea131 124 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 125
KillingJacky 0:0cbe7e15999a 126 for(i=0;i<(GPS_LONGITUDE_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 127 {
KillingJacky 1:97f0865ea131 128 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 129 }
KillingJacky 0:0cbe7e15999a 130
KillingJacky 1:97f0865ea131 131 return atof((const char *)&data[2]);
KillingJacky 0:0cbe7e15999a 132 }
KillingJacky 0:0cbe7e15999a 133
KillingJacky 0:0cbe7e15999a 134 unsigned char gps_get_ew(void)
KillingJacky 0:0cbe7e15999a 135 {
KillingJacky 0:0cbe7e15999a 136 unsigned char data[GPS_EW_SIZE+2];
KillingJacky 0:0cbe7e15999a 137 unsigned char i;
KillingJacky 0:0cbe7e15999a 138
KillingJacky 1:97f0865ea131 139 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 140 //dlc_i2c_send_byte(GPS_EW_ID);
KillingJacky 1:97f0865ea131 141 cmd[0] = GPS_EW_ID;
KillingJacky 1:97f0865ea131 142 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 143
KillingJacky 0:0cbe7e15999a 144 for(i=0;i<(GPS_EW_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 145 {
KillingJacky 1:97f0865ea131 146 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 147 }
KillingJacky 0:0cbe7e15999a 148
KillingJacky 0:0cbe7e15999a 149 if(data[2] == 'E' || data[2] == 'W')return data[2];
KillingJacky 0:0cbe7e15999a 150 else return data[2] = '-';
KillingJacky 0:0cbe7e15999a 151 }
KillingJacky 0:0cbe7e15999a 152
KillingJacky 0:0cbe7e15999a 153 float gps_get_speed(void)
KillingJacky 0:0cbe7e15999a 154 {
KillingJacky 0:0cbe7e15999a 155 unsigned char data[GPS_SPEED_SIZE+2];
KillingJacky 0:0cbe7e15999a 156 unsigned char i;
KillingJacky 0:0cbe7e15999a 157
KillingJacky 1:97f0865ea131 158 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 159 //dlc_i2c_send_byte(GPS_SPEED_ID);
KillingJacky 1:97f0865ea131 160 cmd[0] = GPS_SPEED_ID;
KillingJacky 1:97f0865ea131 161 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 162
KillingJacky 0:0cbe7e15999a 163 for(i=0;i<(GPS_SPEED_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 164 {
KillingJacky 1:97f0865ea131 165 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 166 }
KillingJacky 0:0cbe7e15999a 167
KillingJacky 1:97f0865ea131 168 return atof((const char *)&data[2]);
KillingJacky 0:0cbe7e15999a 169 }
KillingJacky 0:0cbe7e15999a 170
KillingJacky 0:0cbe7e15999a 171 float gps_get_course(void)
KillingJacky 0:0cbe7e15999a 172 {
KillingJacky 0:0cbe7e15999a 173 unsigned char data[GPS_COURSE_SIZE+2];
KillingJacky 0:0cbe7e15999a 174 unsigned char i;
KillingJacky 0:0cbe7e15999a 175
KillingJacky 1:97f0865ea131 176 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 177 //dlc_i2c_send_byte(GPS_COURSE_ID);
KillingJacky 1:97f0865ea131 178 cmd[0] = GPS_COURSE_ID;
KillingJacky 1:97f0865ea131 179 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 180
KillingJacky 0:0cbe7e15999a 181 for(i=0;i<(GPS_COURSE_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 182 {
KillingJacky 1:97f0865ea131 183 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 184 }
KillingJacky 0:0cbe7e15999a 185
KillingJacky 1:97f0865ea131 186 return atof((const char *)&data[2]);
KillingJacky 0:0cbe7e15999a 187 }
KillingJacky 0:0cbe7e15999a 188
KillingJacky 0:0cbe7e15999a 189 unsigned char gps_get_position_fix(void)
KillingJacky 0:0cbe7e15999a 190 {
KillingJacky 0:0cbe7e15999a 191 unsigned char data[GPS_POSITION_FIX_SIZE+2];
KillingJacky 0:0cbe7e15999a 192 unsigned char i;
KillingJacky 0:0cbe7e15999a 193
KillingJacky 1:97f0865ea131 194 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 195 //dlc_i2c_send_byte(GPS_POSITION_FIX_ID);
KillingJacky 1:97f0865ea131 196 cmd[0] = GPS_POSITION_FIX_ID;
KillingJacky 1:97f0865ea131 197 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 198
KillingJacky 0:0cbe7e15999a 199 for(i=0;i<(GPS_POSITION_FIX_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 200 {
KillingJacky 1:97f0865ea131 201 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 202 }
KillingJacky 0:0cbe7e15999a 203
KillingJacky 1:97f0865ea131 204 return data[2] - '0';
KillingJacky 0:0cbe7e15999a 205 }
KillingJacky 0:0cbe7e15999a 206
KillingJacky 0:0cbe7e15999a 207 unsigned char gps_get_sate_used(void)
KillingJacky 0:0cbe7e15999a 208 {
KillingJacky 0:0cbe7e15999a 209 unsigned char data[GPS_SATE_USED_SIZE+2];
KillingJacky 0:0cbe7e15999a 210 unsigned char i;
KillingJacky 0:0cbe7e15999a 211 unsigned char value;
KillingJacky 0:0cbe7e15999a 212
KillingJacky 1:97f0865ea131 213 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 214 //dlc_i2c_send_byte(GPS_SATE_USED_ID);
KillingJacky 1:97f0865ea131 215 cmd[0] = GPS_SATE_USED_ID;
KillingJacky 1:97f0865ea131 216 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 217
KillingJacky 0:0cbe7e15999a 218 for(i=0;i<(GPS_SATE_USED_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 219 {
KillingJacky 1:97f0865ea131 220 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 1:97f0865ea131 221 //dbg_serial.printf("data[%d]: %02x ", i, data[i]);
KillingJacky 0:0cbe7e15999a 222 }
KillingJacky 1:97f0865ea131 223 if(data[3] >= '0' && data[3] <= '9' )value = (data[3] - '0') * 10;
KillingJacky 0:0cbe7e15999a 224 else value = 0;
KillingJacky 1:97f0865ea131 225 if(data[2] >= '0' && data[2] <= '9' )value += (data[2] - '0');
KillingJacky 0:0cbe7e15999a 226 else value += 0;
KillingJacky 0:0cbe7e15999a 227
KillingJacky 0:0cbe7e15999a 228 return value;
KillingJacky 0:0cbe7e15999a 229 }
KillingJacky 0:0cbe7e15999a 230
KillingJacky 0:0cbe7e15999a 231 float gps_get_altitude(void)
KillingJacky 0:0cbe7e15999a 232 {
KillingJacky 0:0cbe7e15999a 233 unsigned char data[GPS_ALTITUDE_SIZE+2];
KillingJacky 0:0cbe7e15999a 234 unsigned char i;
KillingJacky 0:0cbe7e15999a 235
KillingJacky 1:97f0865ea131 236 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 237 //dlc_i2c_send_byte(GPS_ALTITUDE_ID);
KillingJacky 1:97f0865ea131 238 cmd[0] = GPS_ALTITUDE_ID;
KillingJacky 1:97f0865ea131 239 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 1:97f0865ea131 240
KillingJacky 0:0cbe7e15999a 241 for(i=0;i<(GPS_ALTITUDE_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 242 {
KillingJacky 1:97f0865ea131 243 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 244 }
KillingJacky 0:0cbe7e15999a 245
KillingJacky 1:97f0865ea131 246 return atof((const char *)&data[2]);
KillingJacky 0:0cbe7e15999a 247 }
KillingJacky 0:0cbe7e15999a 248
KillingJacky 1:97f0865ea131 249 char gps_get_mode(void)
KillingJacky 0:0cbe7e15999a 250 {
KillingJacky 1:97f0865ea131 251 char data[GPS_MODE_SIZE+2];
KillingJacky 0:0cbe7e15999a 252 unsigned char i;
KillingJacky 0:0cbe7e15999a 253
KillingJacky 1:97f0865ea131 254 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 255 //dlc_i2c_send_byte(GPS_MODE_ID);
KillingJacky 1:97f0865ea131 256 cmd[0] = GPS_MODE_ID;
KillingJacky 1:97f0865ea131 257 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 258
KillingJacky 0:0cbe7e15999a 259 for(i=0;i<(GPS_MODE_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 260 {
KillingJacky 1:97f0865ea131 261 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 262 }
KillingJacky 0:0cbe7e15999a 263
KillingJacky 0:0cbe7e15999a 264 return data[2];
KillingJacky 0:0cbe7e15999a 265 }
KillingJacky 0:0cbe7e15999a 266
KillingJacky 0:0cbe7e15999a 267 unsigned char gps_get_mode2(void)
KillingJacky 0:0cbe7e15999a 268 {
KillingJacky 0:0cbe7e15999a 269 unsigned char data[GPS_MODE2_SIZE+2];
KillingJacky 0:0cbe7e15999a 270 unsigned char i;
KillingJacky 0:0cbe7e15999a 271
KillingJacky 1:97f0865ea131 272 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 1:97f0865ea131 273 //dlc_i2c_send_byte(GPS_MODE2_ID);
KillingJacky 1:97f0865ea131 274 cmd[0] = GPS_MODE2_ID;
KillingJacky 1:97f0865ea131 275 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 0:0cbe7e15999a 276
KillingJacky 0:0cbe7e15999a 277 for(i=0;i<(GPS_MODE2_SIZE+2);i++)
KillingJacky 0:0cbe7e15999a 278 {
KillingJacky 1:97f0865ea131 279 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1); //the gps module's i2c supports only 1 byte read/write per burst
KillingJacky 0:0cbe7e15999a 280 }
KillingJacky 0:0cbe7e15999a 281
KillingJacky 1:97f0865ea131 282 return data[2] - '0';
KillingJacky 0:0cbe7e15999a 283 }
KillingJacky 2:cf4d22190de4 284
KillingJacky 2:cf4d22190de4 285 unsigned char gps_get_sate_in_veiw(void)
KillingJacky 2:cf4d22190de4 286 {
KillingJacky 2:cf4d22190de4 287 unsigned char data[GPS_SATE_IN_VIEW_SIZE+2];
KillingJacky 2:cf4d22190de4 288 unsigned char i;
KillingJacky 2:cf4d22190de4 289
KillingJacky 2:cf4d22190de4 290 //dlc_i2c_configure(GPS_DEVICE_ADDR, 100);
KillingJacky 2:cf4d22190de4 291
KillingJacky 2:cf4d22190de4 292 //dlc_i2c_send_byte(GPS_SATE_IN_VIEW_ID);
KillingJacky 2:cf4d22190de4 293 cmd[0] = GPS_SATE_IN_VIEW_ID;
KillingJacky 2:cf4d22190de4 294 i2c.write(GPS_DEVICE_ADDR, cmd, 1);
KillingJacky 2:cf4d22190de4 295
KillingJacky 2:cf4d22190de4 296 for(i=0;i<(GPS_SATE_IN_VIEW_SIZE+2);i++)
KillingJacky 2:cf4d22190de4 297 {
KillingJacky 2:cf4d22190de4 298 //data[i] = dlc_i2c_receive_byte();
KillingJacky 2:cf4d22190de4 299 i2c.read(GPS_DEVICE_ADDR, (char *)&data[i], 1);
KillingJacky 2:cf4d22190de4 300 }
KillingJacky 2:cf4d22190de4 301
KillingJacky 2:cf4d22190de4 302 return data[2];
KillingJacky 2:cf4d22190de4 303 }