Referência da estrutura GnssClock

Referência da estrutura GnssClock

#include < gps.h >

Campos de dados

size_t  size
 
GnssClockFlags   flags
 
int16_t  leap_second
 
int64_t  time_ns
 
duplo  time_uncertainty_ns
 
int64_t  full_bias_ns
 
duplo  bias_ns
 
duplo  bias_uncertainty_ns
 
duplo  drift_nsps
 
duplo  drift_uncertainty_nsps
 
uint32_t  hw_clock_discontinuity_count
 

Descrição detalhada

Representa uma estimativa do horário do relógio do GPS.

Definição na linha 1455 do arquivo gps.h .

Documentação do campo

bias_ns duplo

Viés de fração de nanossegundo. A estimativa de erro para a soma desse valor e do full_bias_ns é o bias_uncertainty_ns.

Se os dados estiverem disponíveis, as flags precisam conter GNSS_CLOCK_HAS_BIAS. Se o GPS calculou uma correção de posição. Esse valor é obrigatório se o receptor tiver um horário de GPS estimado.

Definição na linha 1534 do arquivo gps.h .

bias_uncertainty_ns duplo

Incerteza de 1 sigma associada à estimativa local do tempo do GPS (erro de relógio) em nanossegundos. A incerteza é representada como um valor absoluto (de um lado).

Se os dados estiverem disponíveis, as flags precisam conter GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Esse valor é obrigatório se o receptor tiver um horário de GPS estimado.

Definição na linha 1545 do arquivo gps.h .

drift_nsps duplos

A deriva do relógio em nanossegundos (por segundo).

Um valor positivo significa que a frequência é maior do que a nominal e que (full_bias_ns + bias_ns) está ficando mais positivo ao longo do tempo.

O valor contém a "incerteza de deriva". Se os dados estiverem disponíveis, as flags precisam conter GNSS_CLOCK_HAS_DRIFT.

Esse valor é obrigatório se o receptor tiver um tempo GNSS estimado.

Definição na linha 1559 do arquivo gps.h .

drift_uncertainty_nsps duplos

Incerteza de 1 sigma associada à deriva do relógio em nanossegundos (por segundo). A incerteza é representada como um valor absoluto (de um lado).

Se os dados estiverem disponíveis, as flags precisam conter GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Se o GPS tiver calculado uma correção de posição, esse campo é obrigatório e precisa ser preenchido.

Definição na linha 1569 do arquivo gps.h .

Um conjunto de flags que indicam a validade dos campos nessa estrutura de dados.

Definição na linha 1463 do arquivo gps.h .

int64_t full_bias_ns

A diferença entre o relógio de hardware (campo "time") no receptor de GPS e o horário real do GPS desde 0000Z, 6 de janeiro de 1980, em nanossegundos.

O sinal do valor é definido pela seguinte equação: estimativa local do tempo do GPS = time_ns - (full_bias_ns + bias_ns)

Esse valor é obrigatório se o receptor tiver um horário de GPS estimado. Se o tempo computado for para uma constelação que não seja do GPS, o deslocamento de tempo dessa constelação para o GPS precisa ser aplicado para preencher esse valor. A estimativa de erro para a soma desse valor e do bias_ns é o bias_uncertainty_ns, e o autor da chamada é responsável por usar essa incerteza (ela pode ser muito grande antes que o tempo do GPS seja resolvido). Se os dados estiverem disponíveis, as flags precisam conter GNSS_CLOCK_HAS_FULL_BIAS.

Definição na linha 1523 do arquivo gps.h .

uint32_t hw_clock_discontinuity_count

Quando há descontinuidades no relógio de hardware, esse campo é obrigatório.

Uma "discontinuidade" é usada para cobrir o caso de uma mudança de uma fonte de relógio para outra. Um único oscilador de cristal de funcionamento livre (XO) geralmente não tem descontinuidades e pode ser definido e deixado em 0.

No entanto, se o valor time_ns (relógio HW) for derivado de um composto de fontes, que não é tão suave quanto um XO típico ou que é interrompido e reiniciado, esse valor será incrementado sempre que ocorrer uma descontinuidade. Por exemplo, esse valor pode começar em zero na inicialização do dispositivo e aumentar sempre que houver uma mudança na continuidade do relógio. No caso improvável de esse valor atingir a escala total, é necessário o rollover (não a fixação), para que esse valor continue mudando durante eventos de descontinuidade subsequentes.

Embora esse número permaneça o mesmo entre os relatórios GnssClock , pode-se supor com segurança que o valor time_ns está sendo executado continuamente, por exemplo, derivado de um único relógio de alta qualidade (como XO ou melhor, que normalmente é usado durante a amostragem contínua do sinal GNSS).

Espera-se que, principalmente durante períodos em que há poucos sinais GNSS disponíveis, o relógio do HW esteja livre de descontinuidades pelo maior tempo possível, já que isso evita a necessidade de usar (desperdiçar) uma medição GNSS para resolver completamente a distorção e a deriva do relógio do GPS, ao usar as medições que acompanham, de relatórios GnssData consecutivos.

Definição na linha 1600 do arquivo gps.h .

int16_t leap_second

Dados de segundos bissextos. O sinal do valor é definido pela seguinte equação: utc_time_ns = time_ns - (full_bias_ns + bias_ns) - leap_second * 1.000.000.000

Se os dados estiverem disponíveis, "flags" precisa conter GNSS_CLOCK_HAS_LEAP_SECOND.

Definição na linha 1473 do arquivo gps.h .

tamanho_t size

definido como sizeof(GnssClock)

Definição na linha 1457 do arquivo gps.h .

int64_t time_ns

O valor do relógio interno do receptor GNSS. Esse é o valor do relógio de hardware local.

Para o relógio de hardware local, esse valor precisa aumentar monotonicamente enquanto o relógio de hardware permanecer ligado. No caso de um relógio de hardware que não está continuamente ativado, consulte o campo hw_clock_discontinuity_count. A estimativa do tempo do GPS do receptor pode ser derivada subtraindo a soma de full_bias_ns e bias_ns (quando disponível) desse valor.

Esse tempo de GPS é esperado para ser a melhor estimativa do tempo de GPS atual que o receptor GNSS pode alcançar.

A precisão de subnanossegundos pode ser fornecida usando o campo "bias_ns". O valor contém a "incerteza de tempo".

Este campo é obrigatório.

Definição na linha 1494 do arquivo gps.h .

double time_uncertainty_ns

Incerteza de 1 sigma associada ao tempo do relógio em nanossegundos. A incerteza é representada como um valor absoluto (de um lado).

Se os dados estiverem disponíveis, "flags" precisa conter GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Esse valor é efetivamente zero (é o relógio local de referência, pelo qual todas as outras incertezas de tempo são medidas). Portanto, esse campo não pode ser fornecido, de acordo com a flag GNSS_CLOCK_HAS_TIME_UNCERTAINTY, ou pode ser fornecido e definido como 0.

Definição na linha 1506 do arquivo gps.h .


A documentação desse struct foi gerada com base no seguinte arquivo:
  • hardware/libhardware/include/hardware/ gps.h