diff --git a/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/.suo b/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/.suo
index d72aaf75..58e60b41 100644
Binary files a/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/.suo and b/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/.suo differ
diff --git a/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/Browse.VC.db b/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/Browse.VC.db
index f8dae39f..d48d47b3 100644
Binary files a/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/Browse.VC.db and b/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/Browse.VC.db differ
diff --git a/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/DocumentLayout.json b/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/DocumentLayout.json
index e40ece26..c4fabb9d 100644
--- a/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/DocumentLayout.json
+++ b/Src/0_Tool/PMIC_Tool/.vs/PMIC_Tool/v17/DocumentLayout.json
@@ -2,10 +2,6 @@
"Version": 1,
"WorkspaceRootPath": "C:\\Work\\Src\\0_Tool\\PMIC_Tool\\",
"Documents": [
- {
- "AbsoluteMoniker": "D:0:0:{C5541CC8-518C-4E1A-A6A8-CB37F56E9558}|PMIC_Cmd_Tool\\PMIC_Cmd_Tool.vcxproj|C:\\WORK\\SRC\\0_TOOL\\PMIC_TOOL\\PMIC_CMD_TOOL\\EXTERNAL\\FT4222\\INCLUDE\\FTD2XX.H||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
- "RelativeMoniker": "D:0:0:{C5541CC8-518C-4E1A-A6A8-CB37F56E9558}|PMIC_Cmd_Tool\\PMIC_Cmd_Tool.vcxproj|solutionrelative:PMIC_CMD_TOOL\\EXTERNAL\\FT4222\\INCLUDE\\FTD2XX.H||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
- },
{
"AbsoluteMoniker": "D:0:0:{C5541CC8-518C-4E1A-A6A8-CB37F56E9558}|PMIC_Cmd_Tool\\PMIC_Cmd_Tool.vcxproj|C:\\Work\\Src\\0_Tool\\PMIC_Tool\\PMIC_Cmd_Tool\\src\\PMIC_Cmd_Tool.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}",
"RelativeMoniker": "D:0:0:{C5541CC8-518C-4E1A-A6A8-CB37F56E9558}|PMIC_Cmd_Tool\\PMIC_Cmd_Tool.vcxproj|solutionrelative:PMIC_Cmd_Tool\\src\\PMIC_Cmd_Tool.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}"
@@ -23,25 +19,12 @@
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "ftd2xx.h",
- "DocumentMoniker": "C:\\Work\\Src\\0_Tool\\PMIC_Tool\\PMIC_Cmd_Tool\\external\\FT4222\\include\\ftd2xx.h",
- "RelativeDocumentMoniker": "PMIC_Cmd_Tool\\external\\FT4222\\include\\ftd2xx.h",
- "ToolTip": "C:\\Work\\Src\\0_Tool\\PMIC_Tool\\PMIC_Cmd_Tool\\external\\FT4222\\include\\ftd2xx.h",
- "RelativeToolTip": "PMIC_Cmd_Tool\\external\\FT4222\\include\\ftd2xx.h",
- "ViewState": "AgIAACoAAAAAAAAAAAAAAHQBAAAdAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000680|",
- "WhenOpened": "2026-01-16T02:48:28.794Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 1,
"Title": "PMIC_Cmd_Tool.cpp",
"DocumentMoniker": "C:\\Work\\Src\\0_Tool\\PMIC_Tool\\PMIC_Cmd_Tool\\src\\PMIC_Cmd_Tool.cpp",
"RelativeDocumentMoniker": "PMIC_Cmd_Tool\\src\\PMIC_Cmd_Tool.cpp",
"ToolTip": "C:\\Work\\Src\\0_Tool\\PMIC_Tool\\PMIC_Cmd_Tool\\src\\PMIC_Cmd_Tool.cpp",
"RelativeToolTip": "PMIC_Cmd_Tool\\src\\PMIC_Cmd_Tool.cpp",
- "ViewState": "AgIAAAwAAAAAAAAAAAAhwCEAAAAGAAAAAAAAAA==",
+ "ViewState": "AgIAAEUAAAAAAAAAAADwv1IAAAAkAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000677|",
"WhenOpened": "2026-01-16T02:11:14.724Z",
"EditorCaption": ""
diff --git a/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/PMIC_Cmd_Tool.vcxproj b/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/PMIC_Cmd_Tool.vcxproj
index 6902adb3..c730c8b1 100644
--- a/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/PMIC_Cmd_Tool.vcxproj
+++ b/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/PMIC_Cmd_Tool.vcxproj
@@ -121,13 +121,17 @@
Console
true
- $(ProjectDir)external\FT4222\lib;%(AdditionalLibraryDirectories)
+ $(ProjectDir)external\FT4222\lib\;%(AdditionalLibraryDirectories)
$(CoreLibraryDependencies);%(AdditionalDependencies);LibFT4222-64.lib;ftd2xx.lib
- LibFT4222-64.dll;%(DelayLoadDLLs)
+
+
- if not exist "$(OutDir)dll" mkdir "$(OutDir)dll"
-xcopy /y "$(ProjectDir)external\FT4222\dll\*.dll" "$(OutDir)dll\"
+ copy /y "$(ProjectDir)external\FT4222\dll\*.dll" "$(OutDir)"
+
+
+
+
diff --git a/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp b/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp
index e536fa78..4c656fdf 100644
--- a/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp
+++ b/Src/0_Tool/PMIC_Tool/PMIC_Cmd_Tool/src/PMIC_Cmd_Tool.cpp
@@ -35,75 +35,21 @@ int main()
unsigned int tempAddr = 0;
uint8_t I2C_SLAVE_ADDR = 0;
unsigned long log_counter = 0;
-
- char timeStr[16]; // 시간을 저장할 버퍼 (HH:MM:SS면 9바이트면 충분)
+ char timeStr[16]; // 시간을 저장할 버퍼 (HH:MM:SS면 9바이트면 충분)
currentTime(timeStr, sizeof(timeStr));
-
//printf("현재 시간: %s\n", timeStr);
- // 1. DLL 탐색 경로에 하위 폴더 'dll' 추가
- // 이 설정은 이 함수 호출 이후에 로드되는 모든 DLL에 적용됩니다.
- if (!SetDllDirectoryA("./dll")) {
- printf("DLL 경로 설정 실패 (에러 코드: %lu)\n", GetLastError());
- return -1;
- }
-
- // 2. FT4222 장치 연결 및 초기화
+ // 1. FT4222 장치 연결 및 초기화
FT_HANDLE ftHandle = InitializeFT4222();
- if (!ftHandle) {
- return -1; // 초기화 실패 시 프로그램 종료
- }
-
+ if (!ftHandle) return -1;
printf("PMIC I2C Packet Logger with FT4222\n \n");
-#if 0
- printf("I2C Address\n Regulation Register is 0x54\n Protection Register is 0x55\n \nEnter 7-bit I2C Slave Address (hex): ");
- if (scanf_s("%15s", addrInput, (unsigned)_countof(addrInput)) != 1) {
- printf("입력 오류\n");
- return -1;
- }
- if (sscanf_s(addrInput, "%x", &tempAddr) != 1) {
- printf("잘못된 주소 입력\n");
- return -1;
- }
- I2C_SLAVE_ADDR = (uint8_t)tempAddr;
-
- printf("슬레이브 주소 설정됨: 0x%02X\n", I2C_SLAVE_ADDR);
-
- getchar(); // 버퍼 클리어
-
- printf("사용법: I2C_WRITE 또는 w \n");
- printf(" I2C_READ (항상 2바이트 읽음) 또는 r\n");
- printf("exit 또틑 e 입력 시 종료\n");
-#endif
-
- printf("Read Regulation 0x54, Page 0x02, Address 0x23 : 0x66 이면 OK\n ");
-
-#if 0
- FT_HANDLE ftHandle = NULL;
- FT_STATUS ftStatus;
- DWORD numDevs = 0;
-
- ftStatus = FT_CreateDeviceInfoList(&numDevs);
- if (ftStatus != FT_OK || numDevs == 0) {
- printf("FT4222 장치를 찾을 수 없습니다.\n");
- return -1;
- }
-
- ftStatus = FT_Open(0, &ftHandle);
- if (ftStatus != FT_OK) {
- printf("FT4222 장치 열기 실패\n");
- return -1;
- }
-
- FT4222_STATUS ft4222Status = FT4222_I2CMaster_Init(ftHandle, 400); // 400kHz
- if (ft4222Status != FT4222_OK) {
- printf("I2C Master 초기화 실패\n");
- FT_Close(ftHandle);
- return -1;
- }
-#endif
+ // 2. 초기화 상태 확인 with
+ //printf("Read Regulation 0x54, Page 0x02, Address 0x23 : 0x66 이면 OTP26.66\n ");
+ //PMIC_I2C_Write(ftHandle, PMIC_ADDR_REGU, 0x00, 0x02);
+ //PMIC_I2C_Write(ftHandle, PMIC_ADDR_REGU, 0x00, 0x02);
+ //PMIC_I2C_Read(ftHandle, PMIC_ADDR_REGU, 0x23);
/* Fault register data: Protection Register, Address 0x010 ~0x014, 0x019 ~0x021
0x010 - FUSA_STATUS_1
@@ -141,7 +87,7 @@ int main()
/********************************************************************************************
I2C Write
PMIC_I2C_Write(FT_HANDLE ftHandle, uint8_t slaveAddr, uint8_t regAddr, uint8_t value)
- PMIC_I2C_Write(ftHandle, PMIC_I2C_SLAVE_ADDR, 0xAA, 0xBB);
+ PMIC_I2C_Write(ftHandle, PMIC_I2C_SLAVE_ADDR, PMIC_Register_Address, Value);
********************************************************************************************/
//printf("=================================================================================\n");
/********************************************************************************************
@@ -290,6 +236,31 @@ int main()
//Protection Register
#endif
+
+
+
+
+#if 0
+ printf("I2C Address\n Regulation Register is 0x54\n Protection Register is 0x55\n \nEnter 7-bit I2C Slave Address (hex): ");
+ if (scanf_s("%15s", addrInput, (unsigned)_countof(addrInput)) != 1) {
+ printf("입력 오류\n");
+ return -1;
+ }
+ if (sscanf_s(addrInput, "%x", &tempAddr) != 1) {
+ printf("잘못된 주소 입력\n");
+ return -1;
+ }
+ I2C_SLAVE_ADDR = (uint8_t)tempAddr;
+
+ printf("슬레이브 주소 설정됨: 0x%02X\n", I2C_SLAVE_ADDR);
+
+ getchar(); // 버퍼 클리어
+
+ printf("사용법: I2C_WRITE 또는 w \n");
+ printf(" I2C_READ (항상 2바이트 읽음) 또는 r\n");
+ printf("exit 또틑 e 입력 시 종료\n");
+#endif
+
char line[256];
while (1) {
printf("> ");
@@ -430,6 +401,30 @@ FT_HANDLE InitializeFT4222() {
return NULL;
}
return handle;
+#if 0
+ FT_HANDLE ftHandle = NULL;
+ FT_STATUS ftStatus;
+ DWORD numDevs = 0;
+
+ ftStatus = FT_CreateDeviceInfoList(&numDevs);
+ if (ftStatus != FT_OK || numDevs == 0) {
+ printf("FT4222 장치를 찾을 수 없습니다.\n");
+ return -1;
+ }
+
+ ftStatus = FT_Open(0, &ftHandle);
+ if (ftStatus != FT_OK) {
+ printf("FT4222 장치 열기 실패\n");
+ return -1;
+ }
+
+ FT4222_STATUS ft4222Status = FT4222_I2CMaster_Init(ftHandle, 400); // 400kHz
+ if (ft4222Status != FT4222_OK) {
+ printf("I2C Master 초기화 실패\n");
+ FT_Close(ftHandle);
+ return -1;
+ }
+#endif
}
// 현재 시간을 "HH:MM:SS" 형식으로 buf에 저장