RBS
 
Loading...
Searching...
No Matches
TMU.can File Reference

텔레매틱스 관리 유닛(TMU) CAPL 스크립트 More...

Enumerations

enum  STATE { NOMAR_MODE , BOOTLOADER_MODE , OTA_COMPLETE }
 TMU 시스템 상태 열거형 More...
 

Functions

void resetOtaState ()
 OTA 상태를 초기화하는 함수
 
void readBootloader ()
 부트로더에서 TMU 버전을 읽어오는 함수
 
 on_start ()
 시뮬레이션 시작 시 초기화 함수
 
 on_timer_checkTimer ()
 주기적 체크 타이머 이벤트 핸들러 (100ms)
 
 on_message_CGW_TMU_E_OTA_REQ ()
 CGW에서 OTA 요청 응답 메시지 수신 이벤트 핸들러
 
 on_message_CGW_TMU_E_OTA_RESULT ()
 CGW에서 OTA 결과 메시지 수신 이벤트 핸들러
 
 on_message_CGW_TMU_E_VER_INFO ()
 CGW에서 버전 정보 메시지 수신 이벤트 핸들러
 
 on_message_EDT_TMU_E_VER_INFO ()
 EDT에서 버전 정보 메시지 수신 이벤트 핸들러
 
 on_key_r ()
 키보드 'r' 키 입력 이벤트 핸들러 (신호등 빨간불)
 
 on_key_y ()
 키보드 'y' 키 입력 이벤트 핸들러 (신호등 노란불)
 
 on_key_g ()
 키보드 'g' 키 입력 이벤트 핸들러 (신호등 초록불)
 

Variables

msTimer checkTimer
 주기적 작업을 위한 체크 타이머
 
dword hFile
 파일 핸들러
 
char ecu_info [4][10] = {"Init", "CGW", "TMU", "EDT"}
 ECU 정보 배열 (Init, CGW, TMU, EDT)
 
char ota_result
 OTA 결과 상태
 
char cur_ver [2]
 현재 버전 정보 저장 배열
 
char filename [128]
 펌웨어 파일명 저장 배열
 
int otaReady = 0
 OTA 준비 상태 (-1: 실패, 0: 준비안됨, 1: 대기, 2: 승인됨, 3: 거부됨, 4: 완료)
 
int tickCount = 0
 틱 카운터
 
int waitCount = 0
 대기 카운터
 
int reqCount = 0
 요청 카운터
 
int cur_tmu_version = 0
 현재 TMU 버전
 
int tmu_num = 2
 TMU ECU 번호
 
int mode = 0
 부트로더 모드
 
enum STATE tmuState = BOOTLOADER_MODE
 
byte header [8]
 펌웨어 헤더 정보 (8바이트)
 
byte magic_bytes [4]
 매직 바이트 배열 (4바이트)
 
byte block [61]
 데이터 블록 배열 (61바이트)
 
int started = 0
 OTA 시작 플래그
 
int ecu_id = 0
 ECU ID.
 
int version = 0
 펌웨어 버전
 
int code_len = 0
 코드 길이
 
int totalSent = 0
 총 전송 바이트 수
 
long readBytes = 0
 읽은 바이트 수
 
int frameIndex = 0
 프레임 인덱스
 
int frame_payload_size = 61
 프레임 페이로드 크기
 
long magic
 매직 넘버
 
message TMU_CGW_E_OTA_REQ otaReqMsg
 CGW에 OTA 요청을 전송하는 메시지
 
message TMU_CGW_PE_OTA_DATA otaDataMsg
 CGW에 OTA 데이터를 전송하는 메시지
 
message TMU_CGW_E_OTA_START otaStartMsg
 CGW에 OTA 시작 명령을 전송하는 메시지
 

Detailed Description

텔레매틱스 관리 유닛(TMU) CAPL 스크립트

Enumeration Type Documentation

◆ STATE

TMU 시스템 상태 열거형

Enumerator
NOMAR_MODE 

정상 작동 모드

BOOTLOADER_MODE 

부트로더 모드

OTA_COMPLETE 

OTA 완료 상태

Function Documentation

◆ on_key_g()

on_key_g ( )

키보드 'g' 키 입력 이벤트 핸들러 (신호등 초록불)

교통 신호등을 초록불로 설정

◆ on_key_r()

on_key_r ( )

키보드 'r' 키 입력 이벤트 핸들러 (신호등 빨간불)

교통 신호등을 빨간불로 설정

◆ on_key_y()

on_key_y ( )

키보드 'y' 키 입력 이벤트 핸들러 (신호등 노란불)

교통 신호등을 노란불로 설정

◆ on_message_CGW_TMU_E_OTA_REQ()

on_message_CGW_TMU_E_OTA_REQ ( )

CGW에서 OTA 요청 응답 메시지 수신 이벤트 핸들러

CGW로부터 사용자 승인/거부 응답을 받아 OTA 상태 업데이트

  • 0x01: 사용자 승인
  • 0x02: 사용자 거부

◆ on_message_CGW_TMU_E_OTA_RESULT()

on_message_CGW_TMU_E_OTA_RESULT ( )

CGW에서 OTA 결과 메시지 수신 이벤트 핸들러

CGW로부터 OTA 완료/실패 결과를 받아 처리

  • 0x05: OTA 완료
  • 0xAA: 복구 완료
  • 0xFF: OTA 실패

◆ on_message_CGW_TMU_E_VER_INFO()

on_message_CGW_TMU_E_VER_INFO ( )

CGW에서 버전 정보 메시지 수신 이벤트 핸들러

CGW의 현재 버전 정보를 시스템 변수에 저장

◆ on_message_EDT_TMU_E_VER_INFO()

on_message_EDT_TMU_E_VER_INFO ( )

EDT에서 버전 정보 메시지 수신 이벤트 핸들러

EDT의 현재 버전 정보를 시스템 변수에 저장

◆ on_start()

on_start ( )

시뮬레이션 시작 시 초기화 함수

100ms 주기로 체크 타이머 설정

◆ on_timer_checkTimer()

on_timer_checkTimer ( )

주기적 체크 타이머 이벤트 핸들러 (100ms)

TMU 상태 및 OTA 프로세스를 관리:

  • NORMAL_MODE: OTA 요청 처리 및 파일 전송
  • BOOTLOADER_MODE: 부트로더에서 버전 읽기
  • OTA_COMPLETE: OTA 완료 처리
Here is the call graph for this function:

◆ readBootloader()

void readBootloader ( )

부트로더에서 TMU 버전을 읽어오는 함수

TMU_version.txt 파일에서 현재 버전 정보를 읽어와 시스템 변수에 저장

Here is the caller graph for this function:

◆ resetOtaState()

void resetOtaState ( )

OTA 상태를 초기화하는 함수

OTA 관련 모든 변수를 초기 상태로 리셋

Here is the caller graph for this function:

Variable Documentation

◆ block

byte block[61]

데이터 블록 배열 (61바이트)

◆ checkTimer

msTimer checkTimer

주기적 작업을 위한 체크 타이머

◆ code_len

int code_len = 0

코드 길이

◆ cur_tmu_version

int cur_tmu_version = 0

현재 TMU 버전

◆ cur_ver

char cur_ver[2]

현재 버전 정보 저장 배열

◆ ecu_id

int ecu_id = 0

ECU ID.

◆ ecu_info

char ecu_info[4][10] = {"Init", "CGW", "TMU", "EDT"}

ECU 정보 배열 (Init, CGW, TMU, EDT)

◆ filename

char filename[128]

펌웨어 파일명 저장 배열

◆ frame_payload_size

int frame_payload_size = 61

프레임 페이로드 크기

◆ frameIndex

int frameIndex = 0

프레임 인덱스

◆ header

byte header[8]

펌웨어 헤더 정보 (8바이트)

◆ hFile

dword hFile

파일 핸들러

◆ magic

long magic

매직 넘버

◆ magic_bytes

byte magic_bytes[4]

매직 바이트 배열 (4바이트)

◆ mode

int mode = 0

부트로더 모드

◆ ota_result

char ota_result

OTA 결과 상태

◆ otaDataMsg

CGW에 OTA 데이터를 전송하는 메시지

◆ otaReady

int otaReady = 0

OTA 준비 상태 (-1: 실패, 0: 준비안됨, 1: 대기, 2: 승인됨, 3: 거부됨, 4: 완료)

◆ otaReqMsg

CGW에 OTA 요청을 전송하는 메시지

◆ otaStartMsg

CGW에 OTA 시작 명령을 전송하는 메시지

◆ readBytes

long readBytes = 0

읽은 바이트 수

◆ reqCount

int reqCount = 0

요청 카운터

◆ started

int started = 0

OTA 시작 플래그

◆ tickCount

int tickCount = 0

틱 카운터

◆ tmu_num

int tmu_num = 2

TMU ECU 번호

◆ tmuState

◆ totalSent

int totalSent = 0

총 전송 바이트 수

◆ version

int version = 0

펌웨어 버전

◆ waitCount

int waitCount = 0

대기 카운터