Skip to content

로그 프로토콜

LUFT-AQUILA edited this page Oct 17, 2023 · 12 revisions

TMA-1이 기록하는 로그는 16 byte Little Endian 규격으로 이루어져 있습니다.

timestamp

TMA-1에 전원이 공급된 시점으로부터 경과된 ms 단위의 시간입니다.

level

로그의 레벨입니다. 다음 값을 가질 수 있습니다.

Level value
FATAL 0
ERROR 1
WARN 2
INFO 3
DEBUG 4

source & key

로그를 발생시킨 장비와 로그의 종류입니다. 다음 값을 가질 수 있습니다.

Source value Key value parsed
SYS 0 SYS_SD_INIT 0
SYS_CORE_INIT 1
SYS_SERIAL_INIT 2
SYS_TELEMETRY_REMOTE 3
SYS_TELEMETRY_INIT 4
CAN_INIT 5
DIGITAL_INIT 6
ANALOG_INIT 7
PULSE_INIT 8
ACCELEROMETER_INIT 9
GPS_INIT 10
SYS_READY 11
SYS_RTC_FIX 12
SYS_SD_FAIL 13
CAN_ERR_CANERR 14
CAN_ERR_RXMSGFAIL 15
CAN_ERR_FIFOFULL 16
CAN 1 CAN MSG ID & 0xFF
DIGITAL 2 DIGITAL_DATA 0 DIN0 DIN1 DIN2 DIN3
DIN4 DIN5 DIN6 DIN7
ANALOG 3 ANALOG_SYS 0 CPU_TEMP INPUT_VOLTAGE
ANALOG_DATA 1 AIN0 AIN1 AIN2 AIN3
PULSE 4 PULSE_DATA 0 PIN0 PIN1 PIN2 PIN3
ACCELEROMETER 5 ACCELEROMETER_DATA 0 x y z
GPS 6 GPS_POS 0 lat lon
GPS_VEC 1 speed course
GPS_TIME 2 utc_date utc_time

checksum

로그의 유효성을 검증하는 체크섬입니다.

자신을 제외한 나머지 15개 바이트를 모두 더한 합을 0xFF와 AND 연산한 값입니다.

value

해당 로그에 저장된 8바이트 데이터입니다.

SYS

SYS_SD_INIT

SD 카드 초기화 기록입니다.

value data
0 success
other FatFs FRESULT

SYS_CORE_INIT

TMA-1 코어 시스템(LED, RTC 동기화 인터럽트) 초기화 기록입니다.

value data
0 success

SYS_SERIAL_INIT

TMA-1 시리얼 로그 출력 버퍼 초기화 기록입니다.

value data
0 success

SYS_TELEMETRY_REMOTE

TMA-2 텔레메트리 서버와 연결된 기록입니다.

value data
0 server disconnected
1 server connected

SYS_TELEMETRY_INIT

STM32가 ESP32와 handshake를 수행한 기록입니다.

value data
0 success
1 ESP not found
2 ESP I2C not ready
3 ESP handshake error
4 ESP handshake ruined

CAN_INIT

CAN peripheral 초기화 기록입니다.

value data
0 success
1 filter config fail
2 CAN start fail
3 FIFO MSG pending notification activation fail
4 FIFO full notification activation fail
5 FIFO overrun notification activation fail
6 BUSOFF notification activation fail
7 ERROR notification activation fail

DIGITAL_INIT

디지털 입력 채널 초기화 기록입니다.

value data
0 success

ANALOG_INIT

아날로그 입력 채널 초기화 기록입니다.

value data
0 success

PULSE_INIT

디지털 파형 주기 측정 채널 초기화 기록입니다.

value data
0 success

ACCELEROMETER_INIT

가속도 센서 초기화 기록입니다.

value data
0 success
1 error
2 busy
3 timeout

GPS_INIT

GPS 모듈 초기화 기록입니다.

value data
0 success

SYS_READY

시스템 초기화 완료 기록입니다.

value data
0 success

SYS_RTC_FIX

TMA-1의 RTC 시간을 실제 시간과 동기화한 기록입니다.

byte data
#0 Year
#1 Month
#2 Date
#3 Hours
#4 Minutes
#5 Seconds
#6 source
0: UART
1: TELEMETRY

SYS_SD_FAIL

TMA-1이 장비의 SD 카드를 mount / open / write / sync 하는 중에 실패한 기록입니다.

value data
0 not specified

CAN_ERR_CANERR

CAN 버스 에러가 발생한 기록입니다.

value data
0 not specified

CAN_ERR_RXMSGFAIL

TMA-1이 CAN 버스로부터 메시지를 읽어오는데 실패한 기록입니다.

value data
0 not specified

CAN_ERR_FIFOFULL

TMA-1의 CAN RX FIFO가 가득찬 기록입니다.

value data
0 not specified

CAN

DIGITAL

ANALOG

PULSE

ACCELEROMETER

GPS