gps fixes (TIM-TP5 removed again)
This commit is contained in:
parent
88efd5dd4d
commit
8f98a9bdde
@ -43,10 +43,10 @@ byte CFG_PRT[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Array of two bytes for CFG-MSG packets payload.
|
// Array of two bytes for CFG-MSG packets payload.
|
||||||
byte CFG_MSG_CID[][2] = {
|
byte CFG_MSG_CID[][2] = {{0xF0, 0x01}, {0xF0, 0x02}, {0xF0, 0x03}, {0xF0, 0x05},
|
||||||
{0xF0, 0x01}, {0xF0, 0x02}, {0xF0, 0x03}, {0xF0, 0x05}, {0xF0, 0x06},
|
{0xF0, 0x06}, {0xF0, 0x07}, {0xF0, 0x08}, {0xF0, 0x09},
|
||||||
{0xF0, 0x07}, {0xF0, 0x08}, {0xF0, 0x09}, {0xF0, 0x0A}, {0xF0, 0x0E},
|
{0xF0, 0x0A}, {0xF0, 0x0E}, {0xF1, 0x00}, {0xF1, 0x03},
|
||||||
{0xF1, 0x00}, {0xF1, 0x03}, {0xF1, 0x04}, {0xF1, 0x05}, {0xF1, 0x06}};
|
{0xF1, 0x04}, {0xF1, 0x05}, {0xF1, 0x06}};
|
||||||
|
|
||||||
// UBX CFG-MSG packet
|
// UBX CFG-MSG packet
|
||||||
byte CFG_MSG[] = {
|
byte CFG_MSG[] = {
|
||||||
@ -61,47 +61,6 @@ byte CFG_MSG[] = {
|
|||||||
0x00 // payload (zero to disable message)
|
0x00 // payload (zero to disable message)
|
||||||
};
|
};
|
||||||
|
|
||||||
// UBX TIM-TP5 packet
|
|
||||||
byte TIM_TP5[] = {
|
|
||||||
0xB5, // sync char 1
|
|
||||||
0x62, // sync char 2
|
|
||||||
0x06, // class
|
|
||||||
0x31, // id
|
|
||||||
0x20, // length
|
|
||||||
0x00, // time pulse index
|
|
||||||
0x00, // reserved
|
|
||||||
0x00, // reserved
|
|
||||||
0x00, // .
|
|
||||||
0x00, // antenna cable delay [ns]
|
|
||||||
0x00, // .
|
|
||||||
0x00, // receiver rf group delay [ns]
|
|
||||||
0x00, // .
|
|
||||||
0x00, // frequency unlocked
|
|
||||||
0x00, // -> no signal
|
|
||||||
0x00, // .
|
|
||||||
0x00, // .
|
|
||||||
0x01, // frequency locked
|
|
||||||
0x00, // -> 1Hz
|
|
||||||
0x00, // .
|
|
||||||
0x00, // .
|
|
||||||
0x00, // pulse length unlocked
|
|
||||||
0x00, // -> no pulse
|
|
||||||
0x00, // .
|
|
||||||
0x00, // .
|
|
||||||
0xE8, // pulse length locked
|
|
||||||
0x03, // -> 1000us = 1ms
|
|
||||||
0x00, // .
|
|
||||||
0x00, // .
|
|
||||||
0x00, // user delay
|
|
||||||
0x00, // .
|
|
||||||
0x00, // .
|
|
||||||
0x00, // .
|
|
||||||
0b01111111, // flags
|
|
||||||
0b00000000, // -> UTC time grid
|
|
||||||
0b00000000, // .
|
|
||||||
0b00000000 // .
|
|
||||||
};
|
|
||||||
|
|
||||||
// UBX CFG-CFG packet
|
// UBX CFG-CFG packet
|
||||||
byte CFG_CFG[] = {
|
byte CFG_CFG[] = {
|
||||||
0xB5, // sync char 1
|
0xB5, // sync char 1
|
||||||
@ -184,7 +143,6 @@ int gps_init(void) {
|
|||||||
GPS_Serial.updateBaudRate(GPS_BAUDRATE);
|
GPS_Serial.updateBaudRate(GPS_BAUDRATE);
|
||||||
|
|
||||||
disableNmea();
|
disableNmea();
|
||||||
setTimePulse();
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
@ -215,7 +173,7 @@ bool gps_hasfix() {
|
|||||||
time_t get_gpstime(uint16_t *msec = 0) {
|
time_t get_gpstime(uint16_t *msec = 0) {
|
||||||
|
|
||||||
const uint16_t txDelay =
|
const uint16_t txDelay =
|
||||||
70 * 1000 / (GPS_BAUDRATE / 9); // serial tx of 70 NMEA chars
|
70U * 1000 / (GPS_BAUDRATE / 9); // serial tx of 70 NMEA chars
|
||||||
|
|
||||||
// did we get a current date & time?
|
// did we get a current date & time?
|
||||||
if (gps.time.age() < 1000) {
|
if (gps.time.age() < 1000) {
|
||||||
@ -235,15 +193,16 @@ time_t get_gpstime(uint16_t *msec = 0) {
|
|||||||
|
|
||||||
#ifdef GPS_INT
|
#ifdef GPS_INT
|
||||||
// if we have a recent GPS PPS pulse, sync on top of next second
|
// if we have a recent GPS PPS pulse, sync on top of next second
|
||||||
if (millis() - lastPPS < 1000)
|
uint16_t ppsDiff = millis() - lastPPS;
|
||||||
*msec = (uint16_t)(millis() - lastPPS);
|
if (ppsDiff < 1000)
|
||||||
|
*msec = ppsDiff;
|
||||||
else {
|
else {
|
||||||
ESP_LOGD(TAG, "no PPS from GPS");
|
ESP_LOGD(TAG, "no PPS from GPS");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
// best guess top of second
|
// best guess for sync on top of next second
|
||||||
*msec = gps.time.centisecond() * 10 + txDelay;
|
*msec = gps.time.centisecond() * 10U + txDelay;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return t;
|
return t;
|
||||||
|
Loading…
Reference in New Issue
Block a user