GnssNavigationMessage 구조체 참조

GnssNavigationMessage 구조체 참조

#include < gps.h >

데이터 필드

size_t  크기
 
int16_t  svid
 
GnssNavigationMessageType   유형
 
NavigationMessageStatus   상태
 
int16_t  message_id
 
int16_t  submessage_id
 
size_t  data_length
 
uint8_t *  데이터
 

상세 설명

GPS 내비게이션 메시지 (또는 그 일부)를 나타냅니다.

gps.h 파일의 2027 라인에 정의가 있습니다.

필드 문서

uint8_t* data

보고된 GPS 메시지의 데이터입니다. big-endian 형식 (MSB 먼저)을 사용하여 지정된 바이트 (또는 단어)입니다.

  • GPS L1 C/A, Beidou D1, Beidou D2의 경우 각 하위 프레임에는 30비트 단어 10개가 포함됩니다. 각 단어 (30비트)는 4바이트 단어의 마지막 30비트 (B31 및 B32 건너뛰기)에 들어맞아야 하며, MSB가 먼저 적용되어 총 40바이트가 됩니다. 이 40바이트는 각각 6, 6, 0.6초의 시간 간격을 나타냅니다.
  • Glonass L1 C/A의 경우 각 문자열에는 체크섬을 포함하여 85비트의 데이터가 포함됩니다. 이 비트는 11바이트에 맞춰야 하며, MSB가 먼저 (B86~B88 건너뛰기) 2초의 시간 간격을 포함합니다.
  • Galileo F/NAV의 경우 각 단어는 238비트 (동기화 및 꼬리 기호 제외)로 구성됩니다. 각 단어는 MSB가 먼저 (B239, B240 건너뛰기) 10초의 시간 간격을 포함하도록 30바이트로 맞춰야 합니다.
  • Galileo I/NAV의 경우 각 페이지에는 짝수와 홀수의 두 페이지 부분이 포함되며, 총 2x114 = 228비트(동기화 및 꼬리 제외)로 29바이트에 맞춰야 하며, MSB가 먼저 나와야 합니다 (B229~B232 건너뛰기).

gps.h FILE의 2119 라인에 정의되어 있습니다.

size_t data_length

현재 메시지에 포함된 데이터의 길이 (바이트)입니다. 이 값이 0과 다른 경우 'data'는 동일한 크기의 배열을 가리켜야 합니다. 예를 들어 L1 C/A의 경우 하위 프레임의 크기는 40바이트 (10워드, 30비트/워드)입니다.

필수 값입니다.

gps.h FILE의 2096 라인에 정의되어 있습니다.

int16_t message_id

메시지 식별자 전체 탐색 메시지를 조합할 수 있도록 색인을 제공합니다.

  • GPS L1 C/A 하위 프레임 4 및 5의 경우 이 값은 1~25 범위의 내비게이션 메시지의 '프레임 ID'에 해당합니다. 하위 프레임 1, 2, 3에는 '프레임 ID'가 포함되지 않으며 이 값은 -1로 설정할 수 있습니다.
  • Glonass L1 C/A의 경우 프레임 ID를 나타내며 범위는 1~5입니다.
  • BeiDou D1의 경우 1~24 범위의 프레임 번호를 나타냅니다.
  • Beidou D2의 경우 프레임 번호를 나타내며 범위는 1~120입니다.
  • Galileo F/NAV 공칭 프레임 구조의 경우 하위 프레임 번호(1~12)를 나타냅니다.
  • Galileo I/NAV 공칭 프레임 구조의 경우 1~24 범위의 하위 프레임 번호를 나타냅니다.

gps.h FILE의 2070 라인에 정의가 있습니다.

size_t 크기

sizeof(GnssNavigationMessage)로 설정

gps.h 파일의 2029 행에 정의가 있습니다.

수신된 내비게이션 메시지의 상태입니다. 패리티 오류가 있고 수정할 수 없는 단어가 포함된 내비게이션 메시지는 전송할 필요가 없습니다.

gps.h FILE의 2048 라인에 정의되어 있습니다.

int16_t submessage_id

하위 메시지 식별자입니다. 메시지 '유형'에서 요구하는 경우 이 값에는 전송 중인 현재 메시지 (또는 프레임) 내의 하위 색인이 포함됩니다.

  • GPS L1 C/A, BeiDou D1, BeiDou D2의 경우 하위 메시지 ID는 1~5 범위의 내비게이션 메시지의 하위 프레임 번호에 해당합니다.
  • Glonass L1 C/A의 경우 1~15 사이의 문자열 번호를 나타냅니다.
  • Galileo F/NAV의 경우 1~6 범위의 페이지 유형을 나타냅니다.
  • Galileo I/NAV의 경우 1~10+ 범위의 단어 유형을 나타냅니다.

gps.h FILE의 2087 라인에 정의되어 있습니다.

int16_t svid

GnssSvInfo::svid 에 정의된 위성 차량 ID 번호입니다. mandatory 값입니다.

gps.h 파일의 2035 줄에 정의되어 있습니다.

구조에 포함된 메시지 유형입니다. 필수 값입니다.

gps.h 파일의 2041 줄에 정의가 있습니다.


이 구조체에 관한 문서는 다음 파일에서 생성되었습니다.
  • hardware/libhardware/include/hardware/ gps.h