IO Device:F75113 LPC under Windows(64bit)

From LEXWiKi

Revision as of 14:20, 30 April 2019 by Lf2nettonyboy (Talk | contribs)
Jump to: navigation, search

Contents

The Sample code source you can download from

Source file: F75113v2.5.1W_src.zip

Binary file: F75113v2.5.1W_bin_x64.zip

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

MB Support List

Ivybridge

2I847H
3I847A/D/CW/NX/NM/HW
3I770A/CW
CI847A/C CI770A/C

BayTrail

1I385A/H 1I386H
2I380A 2I385A/CW 2I380NX 2I385BW/EW/HW/PW 2I386EW 2I382A
3I380A/CW/NX
ST385W/AW/CW

Apollo Lake

2I390CW 2I392CW
3I390AW 3I390NX 3I393NX
PM390CW

Skylake/Kabylake

2I610DW/HW
3I610DW 3I612DW 3I170DW/HW/NX
ST610W
CI170A/C
PM610DW PM170DW

Coffee Lake

CI370DW

Whiskey Lake

2I810D 3I810DW


Card

CIO116-G
E691A

edit table

How to use this Demo Application

Image:F75113picterv2.5.jpg

1. Press the "Test" button to test CIO1 function

2. Press the "C2test" button to test CIO2 function

3. Press the "C3test" button to test CIO3 function

4. Press the "C4test" button to test CIO4 function

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:F75113v2.0folder.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_LPC_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_LPC_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_LPC_W");
   if (NULL != ProcAdd)
    {
     if (! (*ProcAdd)( strtol(N9, &endptr, 16), strtol(V9, &endptr, 16)))
      {
       ShowMessage("Write Fail");
      }
    }
    if (hinstLib != NULL)
    {
     FreeLibrary(hinstLib);
    }

Version update details

Version 2.1 update code removes default naming change to wafer name and write comment

Personal tools