RBS
 
Loading...
Searching...
No Matches
HPC_OTA.cin File Reference

HPC의 OTA 시스템 및 CGW 중계 기능 구현 More...

Enumerations

enum  STATE { NOMAR_MODE , BOOTLOADER_MODE , OTA_COMPLETE }
 CGW 시스템 상태를 나타내는 열거형 More...
 

Functions

void readBootloader ()
 부트로더에서 CGW 버전을 읽어오는 함수
 
void sendCgwVersion ()
 CGW 버전 정보를 TMU에 전송하는 함수
 
 on_start ()
 시뮬레이션 시작 시 초기화 함수
 
 on_timer_speedTimer ()
 주기적 타이머 이벤트 핸들러 (100ms)
 
 on_message_TMU_CGW_E_OTA_START ()
 TMU에서 EDT OTA 시작 메시지 수신 이벤트 핸들러
 
 on_message_TMU_CGW_E_OTA_REQ ()
 TMU에서 OTA 요청 메시지 수신 이벤트 핸들러
 
 on_message_TMU_CGW_PE_OTA_DATA ()
 TMU에서 OTA 데이터 메시지 수신 이벤트 핸들러
 
 on_message_EDT_CGW_E_OTA_RESULT ()
 EDT에서 OTA 결과 메시지 수신 이벤트 핸들러
 
 on_sysvar_OTA_OTA_UserSelect ()
 사용자 OTA 선택 시스템 변수 변경 이벤트 핸들러
 

Variables

msTimer speedTimer
 주기적 속도 업데이트를 위한 타이머
 
message CGW_EDT_PE_OTA_DATA otaDataMsg
 EDT에 OTA 데이터를 전송하는 메시지
 
message CGW_TMU_E_OTA_REQ userReqMsg
 TMU에 사용자 승인 요청을 전송하는 메시지
 
message CGW_TMU_E_OTA_RESULT otaResMsg
 TMU에 OTA 결과를 전송하는 메시지
 
message CGW_TMU_E_VER_INFO cgwVerMsg
 TMU에 CGW 버전 정보를 전송하는 메시지
 
message CGW_EDT_E_OTA_START otaStartMsg
 EDT에 OTA 시작 명령을 전송하는 메시지
 
message CGW_EDT_E_OTA_ROLLBACK otaRollback
 EDT에 롤백 명령을 전송하는 메시지
 
enum STATE cgwState = BOOTLOADER_MODE
 
int otaRequestReceived = 0
 OTA 요청 수신 상태 플래그
 
dword versionFile
 버전 파일 핸들러
 
char cur_ver [2]
 현재 버전 정보 저장 배열
 
int cgw_num = 1
 CGW ECU 번호
 
int cur_cgw_version = 0
 현재 CGW 버전
 

Detailed Description

HPC의 OTA 시스템 및 CGW 중계 기능 구현

Enumeration Type Documentation

◆ STATE

CGW 시스템 상태를 나타내는 열거형

Enumerator
NOMAR_MODE 

정상 작동 모드

BOOTLOADER_MODE 

부트로더 모드

OTA_COMPLETE 

OTA 완료 상태

Function Documentation

◆ on_message_EDT_CGW_E_OTA_RESULT()

on_message_EDT_CGW_E_OTA_RESULT ( )

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

EDT로부터 받은 OTA 결과를 TMU에 중계하여 전달

  • 0x05: OTA 성공
  • 0xAA: 롤백 완료
  • 0xFF: OTA 실패

◆ on_message_TMU_CGW_E_OTA_REQ()

on_message_TMU_CGW_E_OTA_REQ ( )

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

TMU로부터 OTA 승인 요청 또는 롤백 신호를 수신하여 처리

  • 0x01: OTA 승인 요청 처리
  • 0x06: 롤백 신호를 EDT에 전달

◆ on_message_TMU_CGW_E_OTA_START()

on_message_TMU_CGW_E_OTA_START ( )

TMU에서 EDT OTA 시작 메시지 수신 이벤트 핸들러

TMU로부터 받은 OTA 시작 명령을 EDT에 중계

◆ on_message_TMU_CGW_PE_OTA_DATA()

on_message_TMU_CGW_PE_OTA_DATA ( )

TMU에서 OTA 데이터 메시지 수신 이벤트 핸들러

TMU로부터 받은 펌웨어 데이터를 EDT에 중계 전송

◆ on_start()

on_start ( )

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

프로그램 시작 메시지 출력 및 주기적 타이머 설정

◆ on_sysvar_OTA_OTA_UserSelect()

on_sysvar_OTA_OTA_UserSelect ( )

사용자 OTA 선택 시스템 변수 변경 이벤트 핸들러

사용자의 OTA 승인/거부 선택을 처리하여 TMU에 전송

  • 1: 사용자 승인
  • 2: 사용자 거부

◆ on_timer_speedTimer()

on_timer_speedTimer ( )

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

CGW 상태에 따라 다른 동작을 수행:

  • NORMAL_MODE: 버전별 기능 수행
  • BOOTLOADER_MODE: 부트로더에서 버전 읽기 및 전송
  • OTA_COMPLETE: OTA 완료 처리
Here is the call graph for this function:

◆ readBootloader()

void readBootloader ( )

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

CGW_version.txt 파일에서 현재 버전 정보를 읽어와 전역 변수에 저장

Here is the caller graph for this function:

◆ sendCgwVersion()

void sendCgwVersion ( )

CGW 버전 정보를 TMU에 전송하는 함수

ECU 번호와 현재 버전을 포함한 메시지를 TMU에 전송

Here is the caller graph for this function:

Variable Documentation

◆ cgw_num

int cgw_num = 1

CGW ECU 번호

◆ cgwState

◆ cgwVerMsg

TMU에 CGW 버전 정보를 전송하는 메시지

◆ cur_cgw_version

int cur_cgw_version = 0

현재 CGW 버전

◆ cur_ver

char cur_ver[2]

현재 버전 정보 저장 배열

◆ otaDataMsg

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

◆ otaRequestReceived

int otaRequestReceived = 0

OTA 요청 수신 상태 플래그

◆ otaResMsg

TMU에 OTA 결과를 전송하는 메시지

◆ otaRollback

EDT에 롤백 명령을 전송하는 메시지

◆ otaStartMsg

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

◆ speedTimer

msTimer speedTimer

주기적 속도 업데이트를 위한 타이머

◆ userReqMsg

TMU에 사용자 승인 요청을 전송하는 메시지

◆ versionFile

dword versionFile

버전 파일 핸들러