cannect 1.0.4
HYUNDAI-KEFICO EMS/ASW CONVENIENCE TOOL
Requires Python: >=3.10

# cannect

---

<b>HKMG/EMS ASW 편의 도구</b><br>
본 프레임워크는 EMS/ASW 개발의 특수한 목적을 위해 제작되었으며 허용된 호스트 도메인에서만 작동합니다. 본 프레임워크는 허용된 호스트 도메인의 리소스에 대한 개발 및 검증 편의도구를 제공하며 리소스는 보안 정책에 따라 외부로 반출할 수 없습니다. 이를 위반하여 사용자가 리소스를 외부로 무단 반출 또는 반출 시도 시 관련 법률 및 보안 정책에 의거 불이익 또는 처벌을 받을 수 있습니다.<br><br>
<i>Developed and Powered by</i> <b>HYUNDAI KEFICO Co.,Ltd.</b>

---

# 사용자 가이드
## 1. 리소스 경로 설정 (선택)

모든 리소스는 호스트 도메인의 저장소 및 SVN을 참조합니다. 필요에 따라 사용자는 로컬 환경에 Check-Out된 SVN을 사용할 수 있습니다. 이 경우, 아래 예시에 따라 로컬 SVN 경로를 적용하여야 합니다. 
사용 시 스크립트 실행 마다 또는 커널 최초 실행 시 적용되어야 합니다.
 
```commandline
예시) 

from cannect import env, mount # env는 환경 변수

print(env.SVN)      # 기본 SVN 경로 사용 
mount(r"E:\SVN")    # 사용자 Local의 SVN 최상위 경로를 입력, 매 코드 실행 시 최상단에 입력
print(env.SVN)
```
```commandline
결과)

\\kefico\ --- {세부 경로 보안 처리} --- \SVN
E:\SVN
```

## 2. 통신 개발
통신 모듈에는 자동 ASCET 모델 생성용 AscetCAN과 CAN DB에 관한 일체 기능을 담당하는 DataBaseCAN 모듈이 있습니다.

### 2.1. DataBaseCAN
```text
모듈 구조)

├── DataBaseCAN
│   ├── Reader(src) --------------------------------- (C) CAN DB(SPEC) 읽기 
│   │   ├── db                                      : └─ attribute; [DataFrame] 원본 데이터프레임
│   │   ├── source                                  : └─ attribute; [str] DB json 파일 전체 경로
│   │   ├── traceability                            : └─ attribute; [str] DB json 파일 이름
│   │   ├── revision                                : └─ attribute; [str] DB Excel 파일 Revision @수정 번호
│   │   ├── messages                                : └─ @property; [DataDictionary[메시지 이름, 메시지 객체]
│   │   ├── signals                                 : └─ @property; [DataDictionary[신호 이름, 신호 객체]
│   │   ├── mode(engine_spec)                       : └─ method; "HEV", "ICE" 사양에 대한 DB
│   │   ├── is_developer_mode()                     : └─ method; 개발자 모드 여부
│   │   ├── is_dbc(engine_spec, channel, **kwargs)  : └─ method; 개발자 모드 여부
│   │   └── to_developer_mode(engine_spec)          : └─ method; 개발자 모드로 전환
│   │
│   ├── Specification(db) --------------------------- (C) 사양서 제작                          
│   │   └── generate(filename)                      : └─ method; 사양서 제작, 다운로드 경로에 생성
│   │
└── └── VersionControl(filename) -------------------- (C) CAN DB(SPEC) 버전 관리
        ├── name                                    : └─ attribute; DB 파일 이름 (확장자 제외)
        ├── filename                                : └─ attribute; DB 파일 이름 (확장자 포함)
        ├── filepath                                : └─ attribute; DB 파일 경로 (전체 경로)
        ├── history                                 : └─ attribute; DB 파일 SVN 이력
        ├── revision                                : └─ attribute; DB 파일 최신 SVN Revision
        ├── json                                    : └─ @property; .revision에 해당하는 json 파일(전체 경로)
        ├── commit_json()                           : └─ method; # TODO
        └── to_json(mode)                           : └─ method; 사양서 제작, 다운로드 경로에 생성
```

#### 2.1.1. DataBaseCAN.Reader

CAN DB 읽기 클래스입니다.<br>
<i><span style="color:green">:param</span></i> src: [str] CAN SPEC(DB)의 .json 파일 전체 경로

```commandline
예시) 

from cannect import DataBaseCAN

db = DataBaseCAN.Reader(src='')
# 특정 프로젝트(G-프로젝트 등)를 위한 DB를 사용할 경우 json 파일 형식의 데이터를 @src에 사용
# 미적용 시 SVN 내 최신 DB 사용
print(db)
print(db.source)       # json 파일 전체 경로
print(db.traceability) # 원본 DB 이름 (json 파일명)
print(db.revision)     # 원본 DB의 SVN Revision 및 로컬 재생성 횟수
```

```commandline
결과
          ECU          Message     ID  DLC Send Type  Cycle Time                 Signal                                         Definition  Length  StartBit           Sig Receivers UserSigValidity                                        Value Table Value Type GenSigStartValue  Factor  Offset  Min   Max Unit Local Network Wake Up Request Network Request Holding Time                                        Description   Version Requirement ID Required Date                                             Remark    Status ByteOrder ICE Channel ICE WakeUp HEV Channel HEV WakeUp        SystemConstant           Codeword   Formula SignedProcessing    InterfacedVariable SignalRenamed
0     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10        ABS_ESC_Crc1Val                ABS_ESC_CyclicRedundancyCheck1Value      16         0      AWD,EMS,TCU,SCU_FF             IG1                                0x0~0xFFFF:CRCValue   Unsigned           0xFFFF     1.0     0.0  0.0   0.0                                 No                            0  "The data area for CRC calculation is based on...  21.09.03                                                                                  Official     Intel           P                      P                                                      OneToOne                             //Internal              
1     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10     ABS_ESC_AlvCnt1Val                         ABS_ESC_AliveCounter1Value       8        16      AWD,EMS,TCU,SCU_FF             IG1                               0x0~0xFF:AlvCntValue   Unsigned              0x0     1.0     0.0  0.0   0.0                                 No                            0  "For the first transmission request for a data...  21.09.03                                                                                  Official     Intel           P                      P                                                      OneToOne                             //Internal              
2     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10         ABS_WrngLmpSta  ABS_WarningLampStatus ##2G##ESC - TCS15 - ABS_...       2        24          AWD,TCU,SCU_FF             IG1  0x0:ABS Warning lamp OFF/0x1:ABS Warning lamp ...   Unsigned              0x0     1.0     0.0  0.0   0.0                                 No                            0  The signal indicates the status of the ABS War...  19.07.02                                                                                  Official     Intel                                  P                                                      OneToOne                        FD_stAbsWrngLmp                            
...       ...              ...    ...  ...       ...         ...                    ...                                                ...     ...       ...                     ...             ...                                                ...        ...              ...     ...     ...  ...   ...  ...                           ...                          ...                                                ...       ...            ...           ...                                                ...       ...       ...         ...        ...         ...        ...                   ...                ...       ...              ...                   ...           ...         
1791      EMS      EMS_LDCBMS1  0x52C    8         P          50          CF_Ems1_Alive                                                          2        54                     LDC             IG1                                                      unsigned              0x0     0.0     0.0  0.0   3.0                                 No                            0                                                     19.06.25                               "'2025.07.02. 자체 DB 개정\n- 현재 EMS 송출 중이나, 수신처 없...  Official     Intel           L                                    MICROEPT_48V_SC == 1  Cfg_MeptSys_C > 0                              //Internal              
1792      EMS      EMS_LDCBMS1  0x52C    8         P          50        CF_stDesModDcdc                                                          4        56                     LDC             IG1  0x0:Init (wake-up)/0x5:Idle / Neutral/0x8:Forw...   unsigned              0x0     0.0     0.0  0.0  15.0                                 No                            0                  Desired LDC operation mode by EMS  19.06.25                               "'2025.07.02. 자체 DB 개정\n- 현재 EMS 송출 중이나, 수신처 없...  Official     Intel           L                                    MICROEPT_48V_SC == 1  Cfg_MeptSys_C > 0                            Ldc_stDesMod              
1793      EMS      EMS_LDCBMS1  0x52C    8         P          50         CF_Ems1_ChkSum                                                          4        60                     LDC             IG1     0x0:No error/0x1:Engine speed sensor defective   unsigned              0x0     0.0     0.0  0.0  15.0                                 No                            0  "This signal indicates Checksum for robustness...  19.06.25                               "'2025.07.02. 자체 DB 개정\n- 현재 EMS 송출 중이나, 수신처 없...  Official     Intel           L                                    MICROEPT_48V_SC == 1  Cfg_MeptSys_C > 0                              //Internal              

[1794 rows x 39 columns]
E:\SVN\dev.bsw\ --- {세부 경로 보안 처리} --- \자체제어기_KEFICO-EMS_CANFD_r21713@03.json
자체제어기_KEFICO-EMS_CANFD_r21713@03
r21713@03
```

사양서 제작 시에는 엔진 사양 별 DB를 재구성해서 사용합니다.
```commandline
예시)

db_hev = db.mode(engine_spec="HEV")
db_ice = db.mode(engine_spec="ICE")
print(db_hev)
print(db_ice)

```
```commandline
결과)

          ECU          Message     ID  DLC Send Type  Cycle Time                      Signal                                         Definition  Length  StartBit           Sig Receivers UserSigValidity                                        Value Table Value Type GenSigStartValue    Factor     Offset        Min         Max  Unit Local Network Wake Up Request Network Request Holding Time                                        Description   Version Requirement ID Required Date Remark    Status ByteOrder ICE Channel ICE WakeUp HEV Channel HEV WakeUp SystemConstant Codeword   Formula SignedProcessing       InterfacedVariable        SignalRenamed
0     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10             ABS_ESC_Crc1Val                ABS_ESC_CyclicRedundancyCheck1Value      16         0      AWD,EMS,TCU,SCU_FF             IG1                                0x0~0xFFFF:CRCValue   Unsigned           0xFFFF  1.000000   0.000000   0.000000    0.000000                                  No                            0  "The data area for CRC calculation is based on...  21.09.03                                      Official     Intel           P                      P                                     OneToOne                                //Internal                     
1     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10          ABS_ESC_AlvCnt1Val                         ABS_ESC_AliveCounter1Value       8        16      AWD,EMS,TCU,SCU_FF             IG1                               0x0~0xFF:AlvCntValue   Unsigned              0x0  1.000000   0.000000   0.000000    0.000000                                  No                            0  "For the first transmission request for a data...  21.09.03                                      Official     Intel           P                      P                                     OneToOne                                //Internal                     
2     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10              ABS_WrngLmpSta  ABS_WarningLampStatus ##2G##ESC - TCS15 - ABS_...       2        24          AWD,TCU,SCU_FF             IG1  0x0:ABS Warning lamp OFF/0x1:ABS Warning lamp ...   Unsigned              0x0  1.000000   0.000000   0.000000    0.000000                                  No                            0  The signal indicates the status of the ABS War...  19.07.02                                      Official     Intel                                  P                                     OneToOne                           FD_stAbsWrngLmp                     
...       ...              ...    ...  ...       ...         ...                         ...                                                ...     ...       ...                     ...             ...                                                ...        ...              ...       ...        ...        ...         ...   ...                           ...                          ...                                                ...       ...            ...           ...    ...       ...       ...         ...        ...         ...        ...            ...      ...       ...              ...                      ...                  ...
1752      EMS    LEMS_09_100ms  0x261    8         P         100    CLU_LoFuelWrngSta_Copy_1                           CLU_LowFuelWarningStatus       2        16               TCU,Dummy             IG1  0x0:Low fuel Warning is off/0x1:Low fuel Warni...   Unsigned              0x0  1.000000   0.000000   0.000000    3.000000                                  No                            0                                                     19.03.05                                      Official     Intel                                  L                                                                  CLU_LoFuelWrngSta_Can    CLU_LoFuelWrngSta
1753      EMS    LEMS_09_100ms  0x261    8         P         100  DATC_OutTempSnsrVal_Copy_1                 DATC_OutsideTemperatureSensorValue       8        18               TCU,Dummy             IG1                                         0xFF:Error   Unsigned              0x0  0.500000 -40.000000 -40.000000   87.500000  degC                            No                            0                                                     19.03.05                                      Official     Intel                                  L                                                                DATC_OutTempSnsrVal_Can  DATC_OutTempSnsrVal
1754      EMS    LEMS_09_100ms  0x261    8         P         100        ICU_BS1BatVol_Copy_1  Actual battery voltage by battery sensor. ##2G...       8        26               TCU,Dummy             IG1                               0xFF:Error indicator   Unsigned              0x0  0.101562   0.000000   0.000000   25.898000     V                            No                            0                                                     19.03.05                                      Official     Intel                                  L                                                                               BattU_u8       HEV_BattVolVal

[799 rows x 39 columns]

          ECU          Message     ID  DLC Send Type  Cycle Time                 Signal                                         Definition  Length  StartBit           Sig Receivers UserSigValidity                                        Value Table Value Type GenSigStartValue  Factor  Offset  Min   Max Unit Local Network Wake Up Request Network Request Holding Time                                        Description   Version Requirement ID Required Date                                             Remark    Status ByteOrder ICE Channel ICE WakeUp HEV Channel HEV WakeUp        SystemConstant           Codeword   Formula SignedProcessing    InterfacedVariable SignalRenamed
0     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10        ABS_ESC_Crc1Val                ABS_ESC_CyclicRedundancyCheck1Value      16         0      AWD,EMS,TCU,SCU_FF             IG1                                0x0~0xFFFF:CRCValue   Unsigned           0xFFFF     1.0     0.0  0.0   0.0                                 No                            0  "The data area for CRC calculation is based on...  21.09.03                                                                                  Official     Intel           P                      P                                                      OneToOne                             //Internal              
1     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10     ABS_ESC_AlvCnt1Val                         ABS_ESC_AliveCounter1Value       8        16      AWD,EMS,TCU,SCU_FF             IG1                               0x0~0xFF:AlvCntValue   Unsigned              0x0     1.0     0.0  0.0   0.0                                 No                            0  "For the first transmission request for a data...  21.09.03                                                                                  Official     Intel           P                      P                                                      OneToOne                             //Internal              
3     CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10           ABS_DfctvSta    ABS_DefectiveStatus ##2G##ESC - TCS11 - ABS_DEF       2        26  AWD,EMS,TCU,LSD,SCU_FF             IG1  0x0:ABS is not defective/0x1:ABS is defective/...   Unsigned              0x0     1.0     0.0  0.0   0.0                                 No                            0  Information regarding the ABS defective indica...  19.07.02                                                                                  Official     Intel           P                      P                                                      OneToOne                          FD_stAbsDfctv              
...       ...              ...    ...  ...       ...         ...                    ...                                                ...     ...       ...                     ...             ...                                                ...        ...              ...     ...     ...  ...   ...  ...                           ...                          ...                                                ...       ...            ...           ...                                                ...       ...       ...         ...        ...         ...        ...                   ...                ...       ...              ...                   ...           ...              
1791      EMS      EMS_LDCBMS1  0x52C    8         P          50          CF_Ems1_Alive                                                          2        54                     LDC             IG1                                                      unsigned              0x0     0.0     0.0  0.0   3.0                                 No                            0                                                     19.06.25                               "'2025.07.02. 자체 DB 개정\n- 현재 EMS 송출 중이나, 수신처 없...  Official     Intel           L                                    MICROEPT_48V_SC == 1  Cfg_MeptSys_C > 0                                       //Internal              
1792      EMS      EMS_LDCBMS1  0x52C    8         P          50        CF_stDesModDcdc                                                          4        56                     LDC             IG1  0x0:Init (wake-up)/0x5:Idle / Neutral/0x8:Forw...   unsigned              0x0     0.0     0.0  0.0  15.0                                 No                            0                  Desired LDC operation mode by EMS  19.06.25                               "'2025.07.02. 자체 DB 개정\n- 현재 EMS 송출 중이나, 수신처 없...  Official     Intel           L                                    MICROEPT_48V_SC == 1  Cfg_MeptSys_C > 0                                     Ldc_stDesMod              
1793      EMS      EMS_LDCBMS1  0x52C    8         P          50         CF_Ems1_ChkSum                                                          4        60                     LDC             IG1     0x0:No error/0x1:Engine speed sensor defective   unsigned              0x0     0.0     0.0  0.0  15.0                                 No                            0  "This signal indicates Checksum for robustness...  19.06.25                               "'2025.07.02. 자체 DB 개정\n- 현재 EMS 송출 중이나, 수신처 없...  Official     Intel           L                                    MICROEPT_48V_SC == 1  Cfg_MeptSys_C > 0                                       //Internal              

[1336 rows x 39 columns]
```

dbc 파일을 제작할 수 있습니다. @engine_spec과 @channel 입력 시 메시지(ID) 중복 없이 해당 채널에 대한 .dbc 파일을 생성합니다.<br>
이 때 채널에 <span style="color:indianred;">ID가 중복</span>되는 경우, <span style="color:indianred;">{Codeword}나 {SystemConstant}를 명시적으로 구분</span>하여야 합니다.

```commandline
예시) 

db.to_dbc(engine_spec="ICE", channel=1)                                     # CANDBDuplicationError 발생: 중복 ID
db.to_dbc(engine_spec="ICE", channel=1, Codeword="Cfg_CanFDSTDDB_C == 0")   # 중복 제거를 위한 사양 명시
```

```commandline
결과)

# 별도 출력 없음; Downloads 폴더에 {engine_spec}-{CAN채널}-{명시된 사양}.dbc 파일로 자동 저장
```

.to_developer_mode(engine_spec)는 동일 메시지의 채널 분기 등 예외적 상황을 위한 DB 변환 모드입니다. 자동 모델 생성, Test Case 생성 등에 사용합니다. 
필요에 따라 .is_developer_mode()를 선행적으로 확인한 후 중복해서 모드 변환을 하지 않도록 주의합니다.

```commandline
예시)

db_dev = db.to_developer_mode("HEV")
print(db_dev)
```

```commandline
결과)

         ECU          Message     ID  DLC Send Type  Cycle Time              Signal                                         Definition  Length  StartBit           Sig Receivers UserSigValidity                                        Value Table Value Type GenSigStartValue  Factor  Offset  Min  Max Unit Local Network Wake Up Request Network Request Holding Time                                        Description   Version Requirement ID Required Date Remark    Status ByteOrder ICE Channel ICE WakeUp HEV Channel HEV WakeUp SystemConstant Codeword   Formula SignedProcessing      InterfacedVariable SignalRenamed Channel WakeUp
0    CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10     ABS_ESC_Crc1Val                ABS_ESC_CyclicRedundancyCheck1Value      16         0      AWD,EMS,TCU,SCU_FF             IG1                                0x0~0xFFFF:CRCValue   Unsigned           0xFFFF     1.0     0.0  0.0  0.0                                 No                            0  "The data area for CRC calculation is based on...  21.09.03                                      Official     Intel           P                      P                                     OneToOne                               //Internal                     P       
1    CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10  ABS_ESC_AlvCnt1Val                         ABS_ESC_AliveCounter1Value       8        16      AWD,EMS,TCU,SCU_FF             IG1                               0x0~0xFF:AlvCntValue   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0  "For the first transmission request for a data...  21.09.03                                      Official     Intel           P                      P                                     OneToOne                               //Internal                     P       
2    CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10      ABS_WrngLmpSta  ABS_WarningLampStatus ##2G##ESC - TCS15 - ABS_...       2        24          AWD,TCU,SCU_FF             IG1  0x0:ABS Warning lamp OFF/0x1:ABS Warning lamp ...   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0  The signal indicates the status of the ABS War...  19.07.02                                      Official     Intel                                  P                                     OneToOne                          FD_stAbsWrngLmp                     P       
..       ...              ...    ...  ...       ...         ...                 ...                                                ...     ...       ...                     ...             ...                                                ...        ...              ...     ...     ...  ...  ...  ...                           ...                          ...                                                ...       ...            ...           ...    ...       ...       ...         ...        ...         ...        ...            ...      ...       ...              ...                     ...           ...     ...    ...       
958      EMS    EMS_15_H_00ms  0x300   32        EW           0      ImmoConf_HEV_H                       HEV_ImmobilizerConfiguration       2        72                     VPC             IG1  0x0:Non Immobilizer/0x1:Immobilizer/0x2:Not us...   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0                          Immobilizer Configuration  19.05.05                                      Official     Intel                                P,H                                                                 ImHev_cImobMod_(P, H)                     H       
959      EMS    EMS_15_H_00ms  0x300   32        EW           0       EngLock_HEV_H                                     HEV_EngineLock       2        74                     VPC             IG1  0x0:Engine Unlock/0x1:Engine Lock/0x2:Not used...   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0                            Engine Lock Information  19.05.05                                      Official     Intel                                P,H                                                                 ImHev_cEmsLock_(P, H)                     H       
960      EMS    EMS_15_H_00ms  0x300   32        EW           0     AuthCount_HEV_H                            HEV_AuthenticationCount       4        76                     VPC             IG1                                                      Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0                               Authentication Count  19.05.05                                      Official     Intel                                P,H                                                                   ImHev_ctAuth_(P, H)                     H       

[870 rows x 41 columns]
```

클래스의 인스턴스는 __getitem__을 지원합니다. 기본적으로 pandas의 DataFrame.__getitem__을 상속하여 사용합니다. 필요에 따라 DB를 가공하여 자동화 모델, Test Case 생성 등에 사용합니다.

```commandline
예시)

print(db[db["ECU"] != "EMS"])                   # EMS 기준, 수신 제어기만 선택
print(db[db["ICE Channel"].str.contains("P")])  # ICE 사양의 P-CAN 메시지만 선택
```

```commandline
결과)

         ECU          Message     ID  DLC Send Type  Cycle Time              Signal                                         Definition  Length  StartBit                                      Sig Receivers UserSigValidity                                        Value Table Value Type GenSigStartValue   Factor  Offset  Min  Max  Unit Local Network Wake Up Request Network Request Holding Time                                        Description   Version Requirement ID Required Date Remark    Status ByteOrder ICE Channel ICE WakeUp HEV Channel HEV WakeUp SystemConstant Codeword         Formula SignedProcessing InterfacedVariable SignalRenamed
0    CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10     ABS_ESC_Crc1Val                ABS_ESC_CyclicRedundancyCheck1Value      16         0                                 AWD,EMS,TCU,SCU_FF             IG1                                0x0~0xFFFF:CRCValue   Unsigned           0xFFFF  1.00000     0.0  0.0  0.0                                  No                            0  "The data area for CRC calculation is based on...  21.09.03                                      Official     Intel           P                      P                                           OneToOne                          //Internal              
1    CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10  ABS_ESC_AlvCnt1Val                         ABS_ESC_AliveCounter1Value       8        16                                 AWD,EMS,TCU,SCU_FF             IG1                               0x0~0xFF:AlvCntValue   Unsigned              0x0  1.00000     0.0  0.0  0.0                                  No                            0  "For the first transmission request for a data...  21.09.03                                      Official     Intel           P                      P                                           OneToOne                          //Internal              
2    CGW_CCU  ABS_ESC_01_10ms  0x06F    8         P          10      ABS_WrngLmpSta  ABS_WarningLampStatus ##2G##ESC - TCS15 - ABS_...       2        24                                     AWD,TCU,SCU_FF             IG1  0x0:ABS Warning lamp OFF/0x1:ABS Warning lamp ...   Unsigned              0x0  1.00000     0.0  0.0  0.0                                  No                            0  The signal indicates the status of the ABS War...  19.07.02                                      Official     Intel                                  P                                           OneToOne                     FD_stAbsWrngLmp                            
..       ...              ...    ...  ...       ...         ...                 ...                                                ...     ...       ...                                                ...             ...                                                ...        ...              ...      ...     ...  ...  ...   ...                           ...                          ...                                                ...       ...            ...           ...    ...       ...       ...         ...        ...         ...        ...            ...      ...             ...              ...                ...           ...
954  CGW_CCU      WHL_01_10ms  0x0A0   24         P          10        WHL_SpdFRVal  WHL_SpeedFrontRightValue ##2G##ESC - WHL_SPD11...      14        80  AWD,EMS,TCU,OPU,LSD,SCU_FF,WCCU,EVSCU_FF,VDU,A...             IG1                                       0x3FFF:Error   Unsigned              0x0  0.03125     0.0  0.0  0.0  km/h                            No                            0  "This signal provides the wheel velocity of ea...  17.12.00                                      Official     Intel           P                                                            V_kph_q0p03125                   WHEEL_FR_WHL_Intf              
955  CGW_CCU      WHL_01_10ms  0x0A0   24         P          10        WHL_SpdRLVal  WHL_SpeedRearLeftValue ##2G##ESC - WHL_SPD11 -...      14        96  AWD,EMS,TCU,OPU,LSD,SCU_FF,EVSCU_FF,VDU,ALDC,V2LC             IG1                                       0x3FFF:Error   Unsigned              0x0  0.03125     0.0  0.0  0.0  km/h                            No                            0  "This signal provides the wheel velocity of ea...  17.12.00                                      Official     Intel           P                                                            V_kph_q0p03125                   WHEEL_RL_WHL_Intf              
956  CGW_CCU      WHL_01_10ms  0x0A0   24         P          10        WHL_SpdRRVal  WHL_SpeedRearRightValue ##2G##ESC - WHL_SPD11 ...      14       112  AWD,EMS,TCU,OPU,LSD,SCU_FF,EVSCU_FF,VDU,ALDC,V2LC             IG1                                       0x3FFF:Error   Unsigned              0x0  0.03125     0.0  0.0  0.0  km/h                            No                            0  "This signal provides the wheel velocity of ea...  17.12.00                                      Official     Intel           P                                                            V_kph_q0p03125                   WHEEL_RR_WHL_Intf              

[957 rows x 39 columns]
          ECU           Message     ID  DLC Send Type  Cycle Time              Signal                                         Definition  Length  StartBit           Sig Receivers UserSigValidity                                        Value Table Value Type GenSigStartValue  Factor  Offset  Min  Max Unit Local Network Wake Up Request Network Request Holding Time                                        Description   Version               Requirement ID Required Date Remark    Status ByteOrder ICE Channel ICE WakeUp HEV Channel HEV WakeUp SystemConstant       Codeword   Formula SignedProcessing            InterfacedVariable SignalRenamed
0     CGW_CCU   ABS_ESC_01_10ms  0x06F    8         P          10     ABS_ESC_Crc1Val                ABS_ESC_CyclicRedundancyCheck1Value      16         0      AWD,EMS,TCU,SCU_FF             IG1                                0x0~0xFFFF:CRCValue   Unsigned           0xFFFF     1.0     0.0  0.0  0.0                                 No                            0  "The data area for CRC calculation is based on...  21.09.03                                                    Official     Intel           P                      P                                           OneToOne                                     //Internal              
1     CGW_CCU   ABS_ESC_01_10ms  0x06F    8         P          10  ABS_ESC_AlvCnt1Val                         ABS_ESC_AliveCounter1Value       8        16      AWD,EMS,TCU,SCU_FF             IG1                               0x0~0xFF:AlvCntValue   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0  "For the first transmission request for a data...  21.09.03                                                    Official     Intel           P                      P                                           OneToOne                                     //Internal              
3     CGW_CCU   ABS_ESC_01_10ms  0x06F    8         P          10        ABS_DfctvSta    ABS_DefectiveStatus ##2G##ESC - TCS11 - ABS_DEF       2        26  AWD,EMS,TCU,LSD,SCU_FF             IG1  0x0:ABS is not defective/0x1:ABS is defective/...   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0  Information regarding the ABS defective indica...  19.07.02                                                    Official     Intel           P                      P                                           OneToOne                                  FD_stAbsDfctv                            
...       ...               ...    ...  ...       ...         ...                 ...                                                ...     ...       ...                     ...             ...                                                ...        ...              ...     ...     ...  ...  ...  ...                           ...                          ...                                                ...       ...                          ...           ...    ...       ...       ...         ...        ...         ...        ...            ...            ...       ...              ...                           ...           ...
1632      EMS    PT_OBM_02_00ms  0x516   32        EC           0  PT_OBM_AlvCnt02Val                         PT_OBM_AliveCounter02Value       8        16                  vDummy              B+                               0x0~0xFF:AlvCntValue   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0  "For the first transmission request for a data...  25.07.02  VCDM CR10783438, CR10783437    2025-09-10              TSW     Intel           P                      P               OBM_SC == 1  Cfg_OBM_C > 0                                               //Internal              
1633      EMS    PT_OBM_02_00ms  0x516   32        EC           0      OBM_Master_ECU                    OBM data trasmission Controller       3        24                  CCU_AP             IG1  0x0:Default/0x1:EMS (ECU ID : 7E0)/0x2:VCU/VPC...   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0  This signal shows which controller transmits t...  25.07.04  VCDM CR10783438, CR10783437    2025-09-10              TSW     Intel           P                      P               OBM_SC == 1  Cfg_OBM_C > 0                                                     상수 1              
1634      EMS    PT_OBM_02_00ms  0x516   32        EC           0   OBM_Outbox_Status                                  OBM Outbox Status       3        27                  CCU_AP             IG1            0x0:Default/0x1:Request/0x2:Success ACK   Unsigned              0x0     1.0     0.0  0.0  0.0                                 No                            0  This signal shows OBM Outbox Status from Data ...  25.07.04  VCDM CR10783438, CR10783437    2025-09-10              TSW     Intel           P                      P               OBM_SC == 1  Cfg_OBM_C > 0                                               OBM_TraReq              

[967 rows x 39 columns]
```

#### 2.1.2. DataBaseCAN.Specification

DB에 대한 사양서(구 SDD) 제작 클래스입니다.<br>
<i><span style="color:green">:param</span></i> db: DataBaseCAN.Reader.mode의 객체

```commandline
예시)

# 아래와 같이 실행 시, 사용자\다운로드 경로에 {filename}.docx로 생성
spec = DataBaseCAN.Specification(db)
spec.generate(filename)              # filename 필수 입력
```

#### 2.1.3. DataBaseCAN.VersionControl

SVN/엑셀 DB에 대한 json 파일 생성 및 버전 관리 클래스입니다.<br>
관리자의 엑셀 CAN DB에 대한 버전 및 소스 관리를 수행합니다.<br>
<i><span style="color:green">:param</span></i> filename: str, SVN/.../CAN_Database 경로에 위치한 엑셀 파일 이름, 미입력 시 자체제어기 DB 선택<br><br>
<span style="color:indianred;">DB@SVN revision에 대한 json이 없는 경우 오류가 표출되므로 선행적 생성 필요</span>

```commandline
예시)

vc = DataBaseCAN.VersionControl()
print(vc.name)          # DB 파일 이름 (확장자 제외)
print(vc.filename)      # DB 파일 이름 (확장자 포함)
print(vc.revision)      # DB 파일 최신 SVN Revision
print(vc.filepath)      # DB 파일 경로 (전체 경로)

# 현재 SVN 최신 CAN Excel SPEC에 대한 json 파일이 없는 경우 .json 호출 시 오류 발생
# 오류 발생 시 .t