텔레매틱스 관리 유닛(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 시작 명령을 전송하는 메시지 | |
텔레매틱스 관리 유닛(TMU) CAPL 스크립트
on_key_g | ( | ) |
키보드 'g' 키 입력 이벤트 핸들러 (신호등 초록불)
교통 신호등을 초록불로 설정
on_key_r | ( | ) |
키보드 'r' 키 입력 이벤트 핸들러 (신호등 빨간불)
교통 신호등을 빨간불로 설정
on_key_y | ( | ) |
키보드 'y' 키 입력 이벤트 핸들러 (신호등 노란불)
교통 신호등을 노란불로 설정
on_message_CGW_TMU_E_OTA_REQ | ( | ) |
CGW에서 OTA 요청 응답 메시지 수신 이벤트 핸들러
CGW로부터 사용자 승인/거부 응답을 받아 OTA 상태 업데이트
on_message_CGW_TMU_E_OTA_RESULT | ( | ) |
CGW에서 OTA 결과 메시지 수신 이벤트 핸들러
CGW로부터 OTA 완료/실패 결과를 받아 처리
on_message_CGW_TMU_E_VER_INFO | ( | ) |
CGW에서 버전 정보 메시지 수신 이벤트 핸들러
CGW의 현재 버전 정보를 시스템 변수에 저장
on_message_EDT_TMU_E_VER_INFO | ( | ) |
EDT에서 버전 정보 메시지 수신 이벤트 핸들러
EDT의 현재 버전 정보를 시스템 변수에 저장
on_start | ( | ) |
시뮬레이션 시작 시 초기화 함수
100ms 주기로 체크 타이머 설정
on_timer_checkTimer | ( | ) |
주기적 체크 타이머 이벤트 핸들러 (100ms)
TMU 상태 및 OTA 프로세스를 관리:
void readBootloader | ( | ) |
부트로더에서 TMU 버전을 읽어오는 함수
TMU_version.txt 파일에서 현재 버전 정보를 읽어와 시스템 변수에 저장
void resetOtaState | ( | ) |
OTA 상태를 초기화하는 함수
OTA 관련 모든 변수를 초기 상태로 리셋
byte block[61] |
데이터 블록 배열 (61바이트)
msTimer checkTimer |
주기적 작업을 위한 체크 타이머
int code_len = 0 |
코드 길이
int cur_tmu_version = 0 |
현재 TMU 버전
char cur_ver[2] |
현재 버전 정보 저장 배열
int ecu_id = 0 |
ECU ID.
char ecu_info[4][10] = {"Init", "CGW", "TMU", "EDT"} |
ECU 정보 배열 (Init, CGW, TMU, EDT)
char filename[128] |
펌웨어 파일명 저장 배열
int frame_payload_size = 61 |
프레임 페이로드 크기
int frameIndex = 0 |
프레임 인덱스
byte header[8] |
펌웨어 헤더 정보 (8바이트)
dword hFile |
파일 핸들러
long magic |
매직 넘버
byte magic_bytes[4] |
매직 바이트 배열 (4바이트)
int mode = 0 |
부트로더 모드
char ota_result |
OTA 결과 상태
message TMU_CGW_PE_OTA_DATA otaDataMsg |
CGW에 OTA 데이터를 전송하는 메시지
int otaReady = 0 |
OTA 준비 상태 (-1: 실패, 0: 준비안됨, 1: 대기, 2: 승인됨, 3: 거부됨, 4: 완료)
message TMU_CGW_E_OTA_REQ otaReqMsg |
CGW에 OTA 요청을 전송하는 메시지
message TMU_CGW_E_OTA_START otaStartMsg |
CGW에 OTA 시작 명령을 전송하는 메시지
long readBytes = 0 |
읽은 바이트 수
int reqCount = 0 |
요청 카운터
int started = 0 |
OTA 시작 플래그
int tickCount = 0 |
틱 카운터
int tmu_num = 2 |
TMU ECU 번호
enum STATE tmuState = BOOTLOADER_MODE |
int totalSent = 0 |
총 전송 바이트 수
int version = 0 |
펌웨어 버전
int waitCount = 0 |
대기 카운터