IO Device:F75113 under Linux(32bit & 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/Window_VS2010/F75113v2.0_src.rar F75113...)
Line 12: Line 12:
== How to use this Demo Application ==
== How to use this Demo Application ==
-
[[Image:F75113picter.jpg]]
+
[[Image:F75113_linux.jpg]]
1. Press the "Test" button to test CIO1 function
1. Press the "Test" button to test CIO1 function
Line 39: Line 39:
== Introduction ==
== 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 ===
=== GPIO Status Register Write ===

Revision as of 16:56, 18 September 2017

Contents

The Sample code source you can download from

Source file: F75113v2.0_src.rar

Binary file: F75113v2.0_bin_x86.rar

Binary file: F75113v2.0_bin_x64.rar

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

How to use this Demo Application

Image:F75113_linux.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

5. WDT is not run because MB not have F75113 and WDT_RST-


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

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);
    }
Personal tools