IO Device:F75113 SMbus 16IO under Windows(64bit)

From LEXWiKi

(Difference between revisions)
Jump to: navigation, search
(New page: Category:AllowPages == The Sample code source you can download from == Source file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Windows/LPC_16IO/F75113_16IOv1.0.0W_src...)
Current revision (11:11, 25 February 2022) (edit) (undo)
(The Sample code source you can download from)
 
(6 intermediate revisions not shown.)
Line 2: Line 2:
== The Sample code source you can download from ==
== The Sample code source you can download from ==
-
Source file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Windows/LPC_16IO/F75113_16IOv1.0.0W_src.zip F75113_16IOv1.0.0W_src.zip]
+
<Google Drive>
-
Binary file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Windows/LPC_16IO/F75113_16IOv1.0.0W_bin.zip F75113_16IOv1.0.0W_bin.zip]
+
Source file: [https://drive.google.com/file/d/1Knk0y6Yg7MZOhHqDnRwDwwL4f-n9NKU1/view?usp=sharing F75113_16IOv1.0.0W_SMbus_Src]
-
We do the demo test with a test tool which DIx connect to DOx with Relay.
+
Binary file: [https://drive.google.com/file/d/1GV02Hthxb6CVLjcCV6GlLBHGjTrA-woF/view?usp=sharing F75113_16IOv1.0.0W_SMbus_Bin]
 +
 
 +
<FTP>
 +
 
 +
Source file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Windows/M113A_SMBUS/F75113_16IOv1.0.0W_SMbus_src.zip F75113_16IOv1.0.0W_SMbus_Src]
 +
 
 +
Binary file: [ftp://ftp.lex.com.tw/Engineer/SoftSupport/AP_Module/F75113/Windows/M113A_SMBUS/F75113_16IOv1.0.0W_SMbus_bin.zip F75113_16IOv1.0.0W_SMbus_Bin]
 +
 
 +
We do the demo test with a test tool which DIx connect to DOx with Relay.
== MB Support List ==
== MB Support List ==
Line 17: Line 25:
****************************************************************************************** -->
****************************************************************************************** -->
{|border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border: 1px #aaa solid; border-collapse: collapse;"
{|border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; border: 1px #aaa solid; border-collapse: collapse;"
-
|-
 
-
! |SKylake/Kab
 
-
|
 
-
3I610CW
 
-
<br>
 
-
3I610HW/BW
 
-
<br>
 
-
3I610NX
 
-
<br>
 
-
PM170DW
 
|-
|-
! |Card
! |Card
Line 80: Line 78:
char Numbers[] = "0x20";
char Numbers[] = "0x20";
char Value[] = "0xF0";
char Value[] = "0xF0";
-
ProcAdd = (SETINT2PROC) GetProcAddress(hinstLib, "GPIO_LPC_W");
+
ProcAdd = (SETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMbus_W");
if (NULL != ProcAdd)
if (NULL != ProcAdd)
{
{
Line 94: Line 92:
int datatest;
int datatest;
char NRtest[] = "0x22";
char NRtest[] = "0x22";
-
ProcAdd1 = (GETINT2PROC) GetProcAddress(hinstLib, "GPIO_LPC_R");
+
ProcAdd1 = (GETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMbus_R");
if (NULL != ProcAdd1)
if (NULL != ProcAdd1)
{
{
Line 125: Line 123:
char N9[] = "0x10";
char N9[] = "0x10";
char V9[] = "0x00";
char V9[] = "0x00";
-
ProcAdd = (SETINT2PROC) GetProcAddress(hinstLib, "GPIO_LPC_W");
+
ProcAdd = (SETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMbus_W");
if (NULL != ProcAdd)
if (NULL != ProcAdd)
{
{

Current revision

Contents

The Sample code source you can download from

<Google Drive>

Source file: F75113_16IOv1.0.0W_SMbus_Src

Binary file: F75113_16IOv1.0.0W_SMbus_Bin

<FTP>

Source file: F75113_16IOv1.0.0W_SMbus_Src

Binary file: F75113_16IOv1.0.0W_SMbus_Bin

We do the demo test with a test tool which DIx connect to DOx with Relay.

MB Support List

Card

M113A

edit table

How to use this Demo Application

Image:F75113_16IO_LPC.jpg

1. Press the "Start" button to test 16IO test function, DO is Wafer1 and Wafer2(Default) or check "Revrse" change to DO is Wafer3 and Wafer4

2. Press the "Enable" button to test WDT function, if you enter 10 seconds prompt string will countdown 10 seconds after the reboot

If checked the Enable Loop WDT receives an interrupt signal after the countdown and repeats the countdown


If the next picture appears

Image:t3.jpg

MB no LPC or the drive placement is wrong

Drive the location for the next picture

Image:F75113_16iofolder.jpg

F75113 GPIO Picture

Image:t5.jpg

Introduction

F75113 driver connection

 hinstLib = LoadLibrary(L"Fintek.dll");
 if (hinstLib == NULL)
 {
    if(Application->MessageBoxW(L"Load fail Fintek.dll,Continued?",L"Error",16+4)==IDNO)
    {
      Application->Terminate();
    }
      return; 
 }

GPIO Status Register Write

 SETINT2PROC ProcAdd;
 char *endptr;
 char Numbers[] = "0x20";
 char Value[] =   "0xF0";
 ProcAdd = (SETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMbus_W");
 if (NULL != ProcAdd)
 {
   if (! (*ProcAdd)( strtol(Numbers, &endptr, 16), strtol(Value, &endptr, 16)))
   {
     ShowMessage("Write Fail");
   }
 }

GPIO Status Register Read

 GETINT2PROC ProcAdd1;
 int datatest;
 char NRtest[] = "0x22";
 ProcAdd1 = (GETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMbus_R");
 if (NULL != ProcAdd1)
 {
   if (! (*ProcAdd1)( strtol(NRtest, &endptr, 16), &datatest))
   {
     ShowMessage("Read Fail");
   }
 }

GPIO Comparison

 if( data == 0xF0 )
 {
  ((CStatic *)GetDlgItem(IDC_LED_DO0))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green)));
  ((CStatic *)GetDlgItem(IDC_LED_DO1))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green)));
  ((CStatic *)GetDlgItem(IDC_LED_DO2))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green)));
  ((CStatic *)GetDlgItem(IDC_LED_DO3))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green)));	
   if( data2 == 0x01 )
   {
     ((CStatic *)GetDlgItem(IDC_LED_DI0))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Green)));
     ((CStatic *)GetDlgItem(IDC_LED_DI1))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Red)));
     ((CStatic *)GetDlgItem(IDC_LED_DI2))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Red)));
     ((CStatic *)GetDlgItem(IDC_LED_DI4))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_Red)));
   }
   .....
 }

F75113 driver delete

  char N9[] = "0x10";
  char V9[] = "0x00";
  ProcAdd = (SETINT2PROC) GetProcAddress(hinstLib, "GPIO_SMbus_W");
   if (NULL != ProcAdd)
    {
     if (! (*ProcAdd)( strtol(N9, &endptr, 16), strtol(V9, &endptr, 16)))
      {
       ShowMessage("Write Fail");
      }
    }
    if (hinstLib != NULL)
    {
     FreeLibrary(hinstLib);
    }
Personal tools